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.
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
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. Consentire all'identità gestita di AKS (
$MANAGED_IDENTITY_RESOURCE
) di ottenere ed elencare i segreti dall'Azure Key Vault.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
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
-
Applicare SecretProviderClass al cluster.
kubectl apply -f superset_secretproviderclass.yaml
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