Configuración del inicio de sesión de OAuth2 de Microsoft Entra ID
Nota:
Retiraremos Azure HDInsight en AKS el 31 de enero de 2025. Antes del 31 de enero de 2025, deberá 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. Los clústeres restantes de la suscripción se detendrán y quitarán del host.
Solo el soporte técnico básico estará disponible hasta la fecha de retirada.
Importante
Esta funcionalidad actualmente está en su versión preliminar. En Términos de uso complementarios para las versiones preliminares de Microsoft Azure encontrará más términos legales que se aplican a las características de Azure que están en versión beta, en versión preliminar, o que todavía no se han lanzado con disponibilidad general. Para más información sobre esta versión preliminar específica, consulte la Información de Azure HDInsight sobre la versión preliminar de AKS. Para plantear preguntas o sugerencias sobre la característica, 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 inicio de sesión 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.
Creación de una entidad de servicio de Microsoft Entra. Los pasos para crear Microsoft Entra ID se describen aquí.
Para las pruebas, establezca la dirección URL de redireccionamiento en:
http://localhost:8088/oauth-authorized/azure
Cree los siguientes secretos en un almacén de claves.
Nombre del secreto Descripción client-secret Entidad de servicio o secreto de aplicación usado para el inicio de sesión del usuario. Permita que la identidad administrada de AKS (
$MANAGED_IDENTITY_RESOURCE
) obtenga y enumere secretos de Key Vault.Habilite el inicio de sesión del proveedor de secretos de Key Vault para el clúster. Para más información, consulte esta página.
az aks enable-addons --addons azure-keyvault-secrets-provider --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
Prepare un proveedor de secretos para permitir que el secreto de la entidad de servicio sea accesible desde las máquinas de Superset. Para más información, consulte esta página.
Actualice en yaml:
{{MSI_CLIENT_ID}}
: el identificador de cliente de la identidad administrada asignada al clúster de Superset ($MANAGED_IDENTITY_RESOURCE
).{{KEY_VAULT_NAME}}
: el nombre de la instancia de Azure Key Vault que contiene los secretos.{{KEY_VAULT_TENANT_ID}}
: el guid de identificador del inquilino de Azure donde se encuentra el almacén 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
Aplique SecretProviderClass al clúster.
kubectl apply -f superset_secretproviderclass.yaml
Agregue a la configuración de Superset.
Actualice en la configuración:
{{AZURE_TENANT}}
: el inquilino 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}}
: una lista de dominios permitidos para direcciones de correo electrónico de usuario.
Consulte código de ejemplo.
Vuelva a implementar Superset
helm repo update
helm upgrade --install --values values.yaml superset superset/superset