Sdílet prostřednictvím


Konfigurace přihlášení Microsoft Entra ID OAuth2

Důležitý

Azure HDInsight v AKS byl vyřazen 31. ledna 2025. Další informace s tímto oznámením.

Abyste se vyhnuli náhlému ukončení úloh, musíte migrovat úlohy do Microsoft Fabric nebo ekvivalentního produktu Azure.

Důležitý

Tato funkce je aktuálně ve verzi Preview. Doplňkové podmínky používání pro verze Preview Microsoft Azure obsahují další právní podmínky, které se vztahují na funkce Azure, které jsou v beta verzi, ve verzi Preview nebo nejsou ještě dostupné v rámci obecné dostupnosti. Informace o tomto konkrétním náhledu najdete v tématu Azure HDInsight na AKS preview. Pokud máte dotazy nebo návrhy funkcí, odešlete prosím žádost o AskHDInsight s podrobnostmi a sledujte nás o dalších aktualizacích komunity Azure HDInsight.

Tento článek popisuje, jak uživatelům povolit přihlášení k Apache Superset pomocí svého účtu Microsoft Entra (pracovní nebo školní účet Microsoft).

Následující konfigurace umožňuje uživatelům, aby se účty Superset automaticky vytvořily, když se přihlásí pomocí Microsoft Entra. Skupiny Azure lze automaticky mapovat na role Superset, které umožňují kontrolu nad tím, kdo má přístup k Superset a jaká oprávnění jsou mu udělena.

  1. Vytvořte instanční objekt Microsoft Entra. Postup vytvoření Microsoft Entra ID je popsán zde.

    Pro účely testování nastavte adresu URL přesměrování na: http://localhost:8088/oauth-authorized/azure

  2. V trezoru klíčů vytvořte následující tajné kódy.

    Tajné jméno Popis
    tajný klíč klienta Instanční objekt služby/aplikace nebo tajný klíč aplikace pro uživatelské přihlášení.
  3. Povolte spravované identitě AKS ($MANAGED_IDENTITY_RESOURCE) získat a vypsat tajné kódy ze služby Key Vault.

  4. Povolte pro cluster přihlášení zprostředkovatele tajných kódů služby Key Vault. Další informace najdete zde.

    az aks enable-addons --addons azure-keyvault-secrets-provider --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
    
  5. Připravte poskytovatele tajemství, aby bylo tajemství servisního principálu přístupné na systémech Superset. Další informace najdete zde .

    Provedení aktualizace v YAML:

    • {{MSI_CLIENT_ID}} – ID klienta spravované identity přiřazené clusteru superset ($MANAGED_IDENTITY_RESOURCE).
    • {{KEY_VAULT_NAME}} – název služby Azure Key Vault obsahující tajné kódy.
    • {{KEY_VAULT_TENANT_ID}} – identifikátor GUID tenanta Azure, ve kterém se nachází trezor klíčů.

    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. Použijte secretProviderClass pro váš cluster.

    kubectl apply -f superset_secretproviderclass.yaml
    
  7. Přidejte do konfigurace Superset.

    Aktualizace v konfiguraci:

    • {{AZURE_TENANT}} – Tenant, ke kterému se uživatelé přihlašují.
    • {{SERVICE_PRINCIPAL_APPLICATION_ID}} – ID klienta nebo aplikace objektu služby, který jste vytvořili v kroku 1.
    • {{VALID_DOMAINS}} – seznam povolených domén pro e-mailové adresy uživatelů.

    Projděte si vzorový kód.

Opětovné nasazení Superset

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

Další kroky