Delen via


OAuth2-aanmelding voor Microsoft Entra-id configureren

Belangrijk

Azure HDInsight op AKS is op 31 januari 2025 buiten gebruik gesteld. Lees meer over in deze aankondiging.

U moet uw workloads migreren naar Microsoft Fabric- of een gelijkwaardig Azure-product om plotselinge beëindiging van uw workloads te voorkomen.

Belangrijk

Deze functie is momenteel beschikbaar als preview-versie. De aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews meer juridische voorwaarden bevatten die van toepassing zijn op Azure-functies die bèta, in preview of anderszins nog niet in algemene beschikbaarheid zijn vrijgegeven. Zie Azure HDInsight in AKS preview-informatievoor meer informatie over deze specifieke preview. Voor vragen of suggesties voor functies dient u een aanvraag in op AskHDInsight- met de details en volgt u ons voor meer updates over Azure HDInsight Community-.

In dit artikel wordt beschreven hoe gebruikers hun Microsoft Entra-account ('Microsoft-werk- of schoolaccount') kunnen gebruiken om u aan te melden bij Apache Superset.

Met de volgende configuratie kunnen gebruikers Superset-accounts automatisch maken wanneer ze hun Microsoft Entra-aanmelding gebruiken. Azure-groepen kunnen automatisch worden toegewezen aan Superset-rollen, waarmee u kunt bepalen wie toegang heeft tot Superset en welke machtigingen worden gegeven.

  1. Maak een Microsoft Entra-service-principal. De stappen voor het maken van Microsoft Entra ID worden hier beschreven.

    Stel het omleidingsadres in op: http://localhost:8088/oauth-authorized/azure

  2. Maak de volgende geheimen in een sleutelkluis.

    Geheime naam Beschrijving
    clientgeheim Service-principal/toepassingsgeheim dat wordt gebruikt voor gebruikersaanmelding.
  3. Sta uw door AKS beheerde identiteit ($MANAGED_IDENTITY_RESOURCE) toe om geheimen op te halen en op te sommen uit de Key Vault-.

  4. Schakel de aanmelding van de Key Vault-geheime provider in voor uw cluster. Zie hiervoor meer informatie.

    az aks enable-addons --addons azure-keyvault-secrets-provider --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
    
  5. Bereid een geheime provider voor om uw service-principalgeheim toegankelijk te maken vanaf de Superset-machines. Zie hiervoor meer informatie.

    Het yaml-bestand bijwerken:

    • {{MSI_CLIENT_ID}} : de client-id van de beheerde identiteit die is toegewezen aan het Superset-cluster ($MANAGED_IDENTITY_RESOURCE).
    • {{KEY_VAULT_NAME}}: de naam van de Azure Key Vault die de geheimen bevat.
    • {{KEY_VAULT_TENANT_ID}}: de id-guid van de Azure-tenant waar de sleutelkluis zich bevindt.

    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. De SecretProviderClass toepassen op uw cluster.

    kubectl apply -f superset_secretproviderclass.yaml
    
  7. Voeg deze toe aan uw Superset-configuratie.

    Bijwerken in de configuratie:

    • {{AZURE_TENANT}}: de tenant waar de gebruikers zich bij aanmelden.
    • {{SERVICE_PRINCIPAL_APPLICATION_ID}}: de client-/toepassings-id van de service-principal die u in stap 1 hebt gemaakt.
    • {{VALID_DOMAINS}}: een acceptatielijst met domeinen voor e-mailadressen van gebruikers.

    Raadpleeg voorbeeldcode.

Superset opnieuw implementeren

helm repo update
helm upgrade --install --values values.yaml superset superset/superset

Volgende stappen