Konfigurieren der Microsoft Entra ID OAuth2-Anmeldung
Hinweis
Azure HDInsight on AKS wird am 31. Januar 2025 eingestellt. Vor dem 31. Januar 2025 müssen Sie Ihre Workloads zu Microsoft Fabric oder einem gleichwertigen Azure-Produkt migrieren, um eine abruptes Beendigung Ihrer Workloads zu vermeiden. Die verbleibenden Cluster in Ihrem Abonnement werden beendet und vom Host entfernt.
Bis zum Einstellungsdatum ist nur grundlegende Unterstützung verfügbar.
Wichtig
Diese Funktion steht derzeit als Vorschau zur Verfügung. Die zusätzlichen Nutzungsbedingungen für Microsoft Azure-Vorschauen enthalten weitere rechtliche Bestimmungen, die für Azure-Features in Betaversionen, in Vorschauversionen oder anderen Versionen gelten, die noch nicht allgemein verfügbar gemacht wurden. Informationen zu dieser spezifischen Vorschau finden Sie unter Informationen zur Vorschau von Azure HDInsight on AKS. Bei Fragen oder Funktionsvorschlägen senden Sie eine Anfrage an AskHDInsight mit den entsprechenden Details, und folgen Sie uns für weitere Updates in der Azure HDInsight-Community.
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, was die Kontrolle darüber ermöglicht, wer auf Superset zugreifen kann und welche Berechtigungen erteilt werden.
Erstellen eines Microsoft Entra-Dienstprinzipals. Die Schritte zum Erstellen der Microsoft Entra-ID werden hier beschrieben.
Stellen Sie zu Testzwecken die Umleitungs-URL auf:
http://localhost:8088/oauth-authorized/azure
Erstellen Sie die folgenden geheimen Schlüssel in einem Schlüsseltresor.
Geheimnisname Beschreibung client-secret Dienstprinzipal-/Anwendungsgeheimschlüssel, der für die Benutzeranmeldung verwendet wird. Erlauben Sie Ihrer von AKS verwalteten Identität (
$MANAGED_IDENTITY_RESOURCE
) das Abrufen und Auflisten von geheimen Schlüsseln im Schlüsseltresor.Aktivieren Sie die Schlüsseltresor-Geheimnisanbieteranmeldung für Ihren 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 Geheimnisanbieter vor, damit Ihr Dienstprinzipalschlüssel von den Superset-Computern aus zugänglich ist. Weitere Informationen finden Sie hier.
Aktualisieren Sie in der YAML-Datei:
{{MSI_CLIENT_ID}}
– Die Client-ID der verwalteten Identität, die dem Superset-Cluster zugewiesen ist ($MANAGED_IDENTITY_RESOURCE
).{{KEY_VAULT_NAME}}
: Der Name der Azure Key Vault-Instanz, die die Geheimnisse enthält.{{KEY_VAULT_TENANT_ID}}
– Die Bezeichner-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 zu Ihrer Superset-Konfiguration hinzu.
Aktualisieren Sie in der config:
{{AZURE_TENANT}}
– Der Mandant, bei dem sich die Benutzer anmelden.{{SERVICE_PRINCIPAL_APPLICATION_ID}}
– Die Client-ID/Anwendungs-ID des Dienstprinzipals, die Sie in Schritt 1 erstellt haben.{{VALID_DOMAINS}}
– Eine Positivliste von Domänen für Benutzer-E-Mail-Adressen.
Siehe Beispielcode.
Erneutes Bereitstellen von Superset
helm repo update
helm upgrade --install --values values.yaml superset superset/superset