Konfigurowanie logowania OAuth2 identyfikatora entra firmy Microsoft
Uwaga
Wycofamy usługę Azure HDInsight w usłudze AKS 31 stycznia 2025 r. Przed 31 stycznia 2025 r. należy przeprowadzić migrację obciążeń do usługi Microsoft Fabric lub równoważnego produktu platformy Azure, aby uniknąć nagłego zakończenia obciążeń. Pozostałe klastry w ramach subskrypcji zostaną zatrzymane i usunięte z hosta.
Tylko podstawowa pomoc techniczna będzie dostępna do daty wycofania.
Ważne
Ta funkcja jest aktualnie dostępna jako funkcja podglądu. Dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure obejmują więcej warunków prawnych, które dotyczą funkcji platformy Azure, które znajdują się w wersji beta, w wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej. Aby uzyskać informacje o tej konkretnej wersji zapoznawczej, zobacz Informacje o wersji zapoznawczej usługi Azure HDInsight w usłudze AKS. W przypadku pytań lub sugestii dotyczących funkcji prześlij żądanie w usłudze AskHDInsight , aby uzyskać szczegółowe informacje i postępuj zgodnie z nami, aby uzyskać więcej aktualizacji w społeczności usługi Azure HDInsight.
W tym artykule opisano, jak umożliwić użytkownikom korzystanie z konta Microsoft Entra ("konto służbowe Microsoft") w celu zalogowania się do serwera Apache Superset.
Poniższa konfiguracja umożliwia użytkownikom automatyczne tworzenie kont superzestawu podczas korzystania z logowania firmy Microsoft Entra. Grupy platformy Azure można automatycznie mapować na role nadzbioru, co umożliwia kontrolę nad tym, kto może uzyskiwać dostęp do nadzbioru i jakie uprawnienia są podane.
Utwórz jednostkę usługi Entra firmy Microsoft. Kroki tworzenia identyfikatora Entra firmy Microsoft zostały opisane tutaj.
Na potrzeby testowania ustaw adres URL przekierowania na:
http://localhost:8088/oauth-authorized/azure
Utwórz następujące wpisy tajne w magazynie kluczy.
Nazwa wpisu tajnego opis client-secret Klucz tajny jednostki usługi/aplikacji używany do logowania użytkownika. Zezwól tożsamości zarządzanej usługi AKS (
$MANAGED_IDENTITY_RESOURCE
) na pobieranie i wyświetlanie wpisów tajnych z usługi Key Vault.Włącz logowanie dostawcy wpisów tajnych usługi Key Vault dla klastra. Więcej informacji można znaleźć tutaj.
az aks enable-addons --addons azure-keyvault-secrets-provider --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
Przygotuj dostawcę wpisów tajnych, aby umożliwić dostęp do wpisu tajnego jednostki usługi z maszyn nadzestawu. Więcej informacji można znaleźć tutaj.
Zaktualizuj plik yaml:
{{MSI_CLIENT_ID}}
— Identyfikator klienta tożsamości zarządzanej przypisanej do klastra Superset ($MANAGED_IDENTITY_RESOURCE
).{{KEY_VAULT_NAME}}
— Nazwa usługi Azure Key Vault zawierająca wpisy tajne.{{KEY_VAULT_TENANT_ID}}
— identyfikator guid dzierżawy platformy Azure, w której znajduje się magazyn kluczy.
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
Zastosuj klasę SecretProviderClass do klastra.
kubectl apply -f superset_secretproviderclass.yaml
Dodaj do konfiguracji superzestawu.
Zaktualizuj w konfiguracji:
{{AZURE_TENANT}}
— Dzierżawa, do których logują się użytkownicy.{{SERVICE_PRINCIPAL_APPLICATION_ID}}
— Identyfikator klienta/aplikacji jednostki usługi utworzonej w kroku 1.{{VALID_DOMAINS}}
— Lista dozwolonych domen dla adresów e-mail użytkowników.
Zapoznaj się z przykładowym kodem.
Ponowne wdrażanie nadzbioru
helm repo update
helm upgrade --install --values values.yaml superset superset/superset