設定 Microsoft Entra ID OAuth2 登入
重要
AKS 上的 Azure HDInsight 於 2025 年 1 月 31 日淘汰。 透過此公告 深入瞭解。
您必須將工作負載移轉至 Microsoft Fabric 或對等 Azure 產品,以避免突然終止工作負載。
重要
這項功能目前為預覽狀態。 Microsoft Azure 預覽版的補充使用規定 包含適用於 Beta 版、預覽版或尚未正式發行之 Azure 功能的更合法條款。 如需此特定預覽的相關信息,請參閱 AKS 上的 Azure HDInsight 預覽資訊。 如需問題或功能建議,請在 AskHDInsight 提交請求,並關注我們以獲得 Azure HDInsight 社群的更多更新。
本文說明如何允許使用者使用其Microsoft Entra 帳戶(“Microsoft公司或學校帳戶”)登入 Apache Superset。
下列設定可讓使用者在使用其 Microsoft Entra 登入時自動建立 Superset 帳戶。 Azure 群組可以自動對應至 Superset 角色,以便控制誰可以存取 Superset 以及授予哪些權限。
建立 Microsoft Entra 服務主體。 建立 Microsoft Entra ID 的步驟說明在此處 ,。
若要進行測試,請將重新導向 URL 設定為:
http://localhost:8088/oauth-authorized/azure
在金鑰保存庫中建立下列秘密。
秘密名稱 描述 用戶端密鑰 用於使用者登入的服務主體/應用程式密碼。 允許您的 AKS 受管理的身份(
$MANAGED_IDENTITY_RESOURCE
)從 Key Vault取得及列出機密。啟用叢集的 Key Vault 秘密提供者登入。 如需詳細資訊,請參閱這裡 。
az aks enable-addons --addons azure-keyvault-secrets-provider --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
準備一個密鑰提供者,以允許您的服務主體密鑰能從 Superset 機器存取。 如需詳細資訊,請參閱這裡 。
yaml 中的更新:
-
{{MSI_CLIENT_ID}}
- 指派給 Superset 叢集的受控身分的客戶端 ID($MANAGED_IDENTITY_RESOURCE
)。 -
{{KEY_VAULT_NAME}}
- 包含秘密的 Azure Key Vault 名稱。 -
{{KEY_VAULT_TENANT_ID}}
- 金鑰保存庫所在的 Azure 租用戶識別碼 GUID。
superset_secretproviderclass.yaml:
# This is a SecretProviderClass example using aad-pod-identity to access the key vault apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: azure-secret-provider spec: provider: azure parameters: useVMManagedIdentity: "true" userAssignedIdentityID: "{{MSI_CLIENT_ID}}" usePodIdentity: "false" # Set to true for using aad-pod-identity to access your key vault keyvaultName: "{{KEY_VAULT_NAME}}" # Set to the name of your key vault cloudName: "" # [OPTIONAL for Azure] if not provided, the Azure environment defaults to AzurePublicCloud objects: | array: - | objectName: client-secret objectType: secret tenantId: "{{KEY_VAULT_TENANT_ID}}" # The tenant ID of the key vault secretObjects: - secretName: azure-kv-secrets type: Opaque data: - key: AZURE_SECRET objectName: client-secret
-
將 SecretProviderClass 套用至您的叢集。
kubectl apply -f superset_secretproviderclass.yaml
新增至您的超級設定。
在設定中更新:
-
{{AZURE_TENANT}}
- 使用者登入的租戶。 -
{{SERVICE_PRINCIPAL_APPLICATION_ID}}
- 您在步驟 1 中創建的服務主體的用戶端或應用程式識別碼。 -
{{VALID_DOMAINS}}
- 使用者電子郵件地址的網域允許清單。
請參閱 範例代碼。
-
重新部署超集
helm repo update
helm upgrade --install --values values.yaml superset superset/superset