Condividi tramite


Configurare il login OAuth2 di Microsoft Entra ID

Importante

Azure HDInsight su AKS è stato ritirato il 31 gennaio 2025. Scopri di più su con questo annuncio.

È necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare la chiusura brusca dei carichi di lavoro.

Importante

Questa funzionalità è attualmente in anteprima. Le condizioni supplementari per l'utilizzo per le anteprime di Microsoft Azure includono termini legali più validi applicabili alle funzionalità di Azure in versione beta, in anteprima o altrimenti non ancora rilasciate nella disponibilità generale. Per informazioni su questa anteprima specifica, vedere informazioni sull'anteprima di Azure HDInsight su AKS. Per domande o suggerimenti sulle funzionalità, inviare una richiesta in AskHDInsight con i dettagli e seguire microsoft per altri aggiornamenti su community di Azure HDInsight.

Questo articolo descrive come consentire agli utenti di usare il proprio account Microsoft Entra ("account aziendale o dell'istituto di istruzione Microsoft") per accedere ad Apache Superset.

La configurazione seguente consente agli utenti di creare automaticamente gli account Superset quando usano l'account di accesso microsoft Entra. I gruppi di Azure possono essere mappati automaticamente ai ruoli superset, che consentono il controllo su chi può accedere a Superset e quali autorizzazioni vengono concesse.

  1. Creare un'entità servizio Microsoft Entra. I passaggi per creare l'ID Microsoft Entra sono descritti qui.

    Per il test, impostare l'URL di reindirizzamento su: http://localhost:8088/oauth-authorized/azure

  2. Creare i seguenti segreti in un Key Vault.

    Nome segreto Descrizione
    segreto del client Segreto del principale del servizio o dell'applicazione utilizzato per accedere come utente.
  3. Consentire all'identità gestita di AKS ($MANAGED_IDENTITY_RESOURCE) di ottenere ed elencare i segreti dall'Azure Key Vault.

  4. Abilita l'accesso al provider di segreti di Key Vault per il cluster. Per ulteriori informazioni, vedere qui.

    az aks enable-addons --addons azure-keyvault-secrets-provider --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
    
  5. Preparare un provider di segreti per consentire al segreto del principale del servizio di essere accessibile dalle macchine Superset. Per ulteriori informazioni, vedere qui .

    Aggiornare nel file yaml:

    • {{MSI_CLIENT_ID}} : ID client dell'identità gestita assegnata al cluster Superset ($MANAGED_IDENTITY_RESOURCE).
    • {{KEY_VAULT_NAME}}: Il nome dell'Azure Key Vault contenente i segreti.
    • {{KEY_VAULT_TENANT_ID}} - Il GUID dell'identificatore del tenant di Azure in cui si trova il Key Vault.

    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. Applicare SecretProviderClass al cluster.

    kubectl apply -f superset_secretproviderclass.yaml
    
  7. Aggiungere alla configurazione Superset.

    Aggiornare nella configurazione:

    • {{AZURE_TENANT}} - Il tenant a cui accedono gli utenti.
    • {{SERVICE_PRINCIPAL_APPLICATION_ID}}: ID client/applicazione del principale del servizio creato nel passaggio 1.
    • {{VALID_DOMAINS}}: elenco di domini consentiti per gli indirizzi di posta elettronica degli utenti.

    Fare riferimento a codice di esempio.

Ridistribuire Superset

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

Passaggi successivi