Настройка имени входа OAuth2 идентификатора Microsoft Entra
Внимание
Эта функция в настоящее время доступна для предварительного ознакомления. Дополнительные условия использования для предварительных версий Microsoft Azure включают более юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в статье Azure HDInsight в предварительной версии AKS. Для вопросов или предложений функций отправьте запрос на AskHDInsight с подробными сведениями и следуйте за нами для получения дополнительных обновлений в сообществе Azure HDInsight.
В этой статье описывается, как разрешить пользователям использовать учетную запись Microsoft Entra ("рабочая или учебная учетная запись Майкрософт") для входа в Apache Superset.
Следующая конфигурация позволяет пользователям автоматически создавать учетные записи суперустановок при использовании имени входа Microsoft Entra. Группы Azure можно автоматически сопоставить с ролями суперустановок, которые позволяют управлять доступом к суперсети и разрешениям.
Создайте субъект-службу Microsoft Entra. Здесь описаны шаги по созданию идентификатора Microsoft Entra.
Для тестирования задайте URL-адрес перенаправления следующим образом:
http://localhost:8088/oauth-authorized/azure
Создайте следующие секреты в хранилище ключей.
Имя секрета Description client-secret Секрет субъекта-службы или приложения, используемый для входа пользователя. Разрешите управляемому удостоверению
$MANAGED_IDENTITY_RESOURCE
AKS получать и перечислять секреты из Key Vault.Включите имя входа поставщика секретов Key Vault для кластера. Для получения дополнительных сведений см. здесь.
az aks enable-addons --addons azure-keyvault-secrets-provider --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
Подготовьте поставщика секретов, чтобы разрешить доступ к секрету субъекта-службы на компьютерах суперустановки. Для получения дополнительных сведений см. здесь.
Обновление в yaml:
{{MSI_CLIENT_ID}}
— идентификатор клиента управляемого удостоверения, назначенного кластеру супермножества ($MANAGED_IDENTITY_RESOURCE
).{{KEY_VAULT_NAME}}
— Имя Azure Key Vault, содержащего секреты.{{KEY_VAULT_TENANT_ID}}
— guid идентификатора клиента Azure, где находится хранилище ключей.
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
Примените SecretProviderClass к кластеру.
kubectl apply -f superset_secretproviderclass.yaml
Добавьте в конфигурацию суперустановки.
Обновление в конфигурации:
{{AZURE_TENANT}}
— Клиент, в который входят пользователи.{{SERVICE_PRINCIPAL_APPLICATION_ID}}
— Идентификатор клиента или приложения субъекта-службы, созданного на шаге 1.{{VALID_DOMAINS}}
— список разрешенных доменов для адресов электронной почты пользователей.
Ознакомьтесь с примером кода.
Повторное развертывание супермножества
helm repo update
helm upgrade --install --values values.yaml superset superset/superset