Freigeben über


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.

  1. 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

  2. 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.
  3. Erlauben Sie Ihrer von AKS verwalteten Identität ($MANAGED_IDENTITY_RESOURCE) das Abrufen und Auflisten von geheimen Schlüsseln im Schlüsseltresor.

  4. 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
    
  5. 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
    
  6. Wenden Sie die SecretProviderClass auf Ihren Cluster an.

    kubectl apply -f superset_secretproviderclass.yaml
    
  7. 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

Nächste Schritte