Compartir a través de


Configuración del inicio de sesión de OAuth2 de Microsoft Entra ID

Importante

Azure HDInsight en AKS se retiró el 31 de enero de 2025. Aprenda más sobre con este anuncio.

Debe migrar las cargas de trabajo a microsoft Fabric o un producto equivalente de Azure para evitar la terminación repentina de las cargas de trabajo.

Importante

Esta característica está actualmente en versión preliminar. Los Términos de uso complementarios para las versiones preliminares de Microsoft Azure incluyen más términos legales que se aplican a las características de Azure que se encuentran en versión beta, en versión preliminar o, de lo contrario, aún no se han publicado en disponibilidad general. Para obtener información sobre esta versión preliminar específica, consulte versión preliminar de Azure HDInsight en AKS información. Para preguntas o sugerencias de características, envíe una solicitud en AskHDInsight con los detalles y síganos para obtener más actualizaciones sobre Comunidad de Azure HDInsight.

En este artículo se describe cómo permitir que los usuarios usen su cuenta de Microsoft Entra ("Cuenta profesional o educativa de Microsoft") para iniciar sesión en Apache Superset.

La siguiente configuración permite a los usuarios tener cuentas de Superset creadas automáticamente cuando usan su acceso de Microsoft Entra. Los grupos de Azure se pueden asignar automáticamente a los roles de Superset, lo que permite el control sobre quién puede acceder a Superset y qué permisos se proporcionan.

  1. Cree un principal de servicio de Microsoft Entra. Los pasos para crear el identificador de Entra de Microsoft se describen aquí.

    Para realizar pruebas, establezca la dirección URL de redireccionamiento en: http://localhost:8088/oauth-authorized/azure

  2. Cree los siguientes secretos en una bóveda de claves.

    Nombre del secreto Descripción
    secreto del cliente Secreto de la aplicación o entidad de servicio utilizado para el inicio de sesión del usuario.
  3. Permita que la identidad administrada de AKS ($MANAGED_IDENTITY_RESOURCE) obtener y enumerar secretos de key Vault.

  4. Habilite el inicio de sesión del proveedor de secretos de Key Vault para el clúster. Para obtener más información, consulte aquí .

    az aks enable-addons --addons azure-keyvault-secrets-provider --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
    
  5. Prepare un proveedor de secretos para permitir que el secreto de la entidad de servicio sea accesible desde las máquinas de Superset. Para obtener más información, consulte aquí.

    Actualiza en el YAML:

    • {{MSI_CLIENT_ID}}: identificador de cliente de la identidad administrada asignada al clúster de Superset ($MANAGED_IDENTITY_RESOURCE).
    • {{KEY_VAULT_NAME}}: el nombre de Azure Key Vault que contiene los secretos.
    • {{KEY_VAULT_TENANT_ID}}: el identificador GUID del arrendatario de Azure donde se encuentra la bóveda de claves.

    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. Aplique SecretProviderClass al clúster.

    kubectl apply -f superset_secretproviderclass.yaml
    
  7. Añada a la configuración de Superset.

    Actualice en la configuración:

    • {{AZURE_TENANT}}: el entorno en el que los usuarios inician sesión.
    • {{SERVICE_PRINCIPAL_APPLICATION_ID}}: el identificador de cliente o aplicación de la entidad de servicio que creó en el paso 1.
    • {{VALID_DOMAINS}}: lista de dominios permitidos para direcciones de correo electrónico de usuario.

    Consulte el código de ejemplo .

Volver a implementar Superset

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

Pasos siguientes

  • de control de acceso basado en roles