Konfigurieren der OAuth2-Anmeldung für die Microsoft Entra-ID
Wichtig
Azure HDInsight auf AKS wurde am 31. Januar 2025 eingestellt. Erfahren Sie mehr über durch diese Ankündigung.
Sie müssen Ihre Workloads zu Microsoft Fabric oder ein gleichwertiges Azure-Produkt migrieren, um eine abrupte Beendigung Ihrer Workloads zu vermeiden.
Wichtig
Dieses Feature befindet sich derzeit in der Vorschau. Die zusätzlichen Nutzungsbedingungen für Microsoft Azure Previews weitere rechtliche Bestimmungen enthalten, die für Azure-Features gelten, die in der Betaversion, in der Vorschau oder auf andere Weise noch nicht in die allgemeine Verfügbarkeit veröffentlicht werden. Informationen zu dieser spezifischen Vorschau finden Sie unter Azure HDInsight auf AKS-Vorschauinformationen. Für Fragen oder Featurevorschläge senden Sie bitte mit den Details eine Anfrage über AskHDInsight und folgen Sie uns, um weitere Updates zur Azure HDInsight Communityzu erhalten.
In diesem Artikel wird beschrieben, wie Benutzer ihr Microsoft Entra-Konto ("Microsoft Geschäfts-, Schul- oder Unikonto") verwenden können, um sich bei Apache Superset anzumelden.
Mit der folgenden Konfiguration können Benutzer automatisch Superset-Konten erstellen, wenn sie ihre Microsoft Entra-Anmeldung verwenden. Azure-Gruppen können automatisch superset-Rollen zugeordnet werden, wodurch die Kontrolle darüber ermöglicht wird, wer auf Superset zugreifen kann und welche Berechtigungen erteilt werden.
Erstellen Sie einen Microsoft Entra-Dienstprinzipal. Die Schritte zum Erstellen der Microsoft Entra-ID werden hierbeschrieben.
Legen Sie zum Testen die Umleitungs-URL auf:
http://localhost:8088/oauth-authorized/azure
Erstellen Sie die folgenden geheimen Schlüssel in einem Schlüsseltresor.
Geheimer Name Beschreibung Geheimer Clientschlüssel Dienstprinzipal- oder Anwendungsgeheimnis, das für die Benutzeranmeldung verwendet wird. Allow your AKS managed identity (
$MANAGED_IDENTITY_RESOURCE
) to get and list secrets from the Key Vault.Aktivieren Sie die Key Vault-Anmeldung für Geheimdienstanbieter in Ihrem Cluster. Weitere Informationen finden Sie hier.
az aks enable-addons --addons azure-keyvault-secrets-provider --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
Bereiten Sie einen geheimen Anbieter vor, damit Ihr Dienstprinzipalschlüssel von den Superset-Computern aus zugänglich ist. Weitere Informationen finden Sie hier.
Aktualisieren Sie die Datei YAML:
-
{{MSI_CLIENT_ID}}
– Die Client-ID der verwalteten Identität, die dem Superset-Cluster zugewiesen ist ($MANAGED_IDENTITY_RESOURCE
). -
{{KEY_VAULT_NAME}}
– Der Name des Azure Key Vault mit den geheimen Schlüsseln. -
{{KEY_VAULT_TENANT_ID}}
– Die ID-GUID des Azure-Mandanten, in dem sich der Schlüsseltresor befindet.
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
-
Wenden Sie die SecretProviderClass auf Ihren Cluster an.
kubectl apply -f superset_secretproviderclass.yaml
Fügen Sie Ihrer Superset-Konfiguration etwas hinzu.
Aktualisierung der Konfiguration:
-
{{AZURE_TENANT}}
– Der Mandant, bei dem sich die Benutzer einloggen. -
{{SERVICE_PRINCIPAL_APPLICATION_ID}}
– Die Client-/Anwendungs-ID des Dienstprinzipals, den Sie in Schritt 1 erstellt haben. -
{{VALID_DOMAINS}}
– Eine Zulassungsliste von Domänen für Benutzer-E-Mail-Adressen.
Siehe Beispielcode.
-
Superset erneut bereitstellen
helm repo update
helm upgrade --install --values values.yaml superset superset/superset