Uzyskiwanie tokenów identyfikatora Entra firmy Microsoft dla jednostek usługi Microsoft Entra ID przy użyciu interfejsu wiersza polecenia platformy Azure
Ważne
W tym artykule opisano sposób ręcznego tworzenia tokenów identyfikatorów entra firmy Microsoft dla jednostek usługi Microsoft Entra ID przy użyciu interfejsu wiersza polecenia platformy Azure.
Jednostki usługi zarządzanej usługi Azure Databricks są zarządzane bezpośrednio w usłudze Azure Databricks. Zarządzane jednostki usługi Microsoft Entra ID są zarządzane w usłudze Microsoft Entra ID, co wymaga dodatkowych uprawnień. Usługa Databricks zaleca używanie jednostek usługi zarządzanej usługi Azure Databricks w większości przypadków użycia. Jednak usługa Databricks zaleca używanie jednostek usługi zarządzanej microsoft Entra ID w przypadkach, w których należy uwierzytelnić się w usłudze Azure Databricks i innych zasobach platformy Azure w tym samym czasie.
Aby utworzyć jednostkę usługi zarządzanej usługi Azure Databricks zamiast jednostki usługi zarządzanej identyfikatora entra firmy Microsoft, zobacz Zarządzanie jednostkami usługi.
Usługa Databricks nie zaleca ręcznego tworzenia tokenów identyfikatora Entra firmy Microsoft dla jednostek usługi Microsoft Entra ID. Dzieje się tak, ponieważ każdy token identyfikatora Entra firmy Microsoft jest krótkotrwały, zazwyczaj wygasa w ciągu jednej godziny. Po tym czasie należy ręcznie wygenerować zastępczy token identyfikatora entra firmy Microsoft. Zamiast tego należy użyć jednego z uczestniczących narzędzi lub zestawów SDK, które implementują ujednolicony standard uwierzytelniania klienta usługi Databricks. Te narzędzia i zestawy SDK automatycznie generują i zastępują wygasłe tokeny identyfikatorów Entra firmy Microsoft, korzystając z następujących typów uwierzytelniania usługi Databricks:
Interfejs wiersza polecenia platformy Azure umożliwia uzyskanie tokenów dostępu identyfikatora entra firmy Microsoft dla jednostek usługi Microsoft Entra ID.
Zbierz następujące informacje:
Parametr Opis Tenant ID
Element Directory (tenant) ID
dla powiązanej aplikacji zarejestrowanej w identyfikatorze Entra firmy Microsoft.Client ID
Element Application (client) ID
dla powiązanej aplikacji zarejestrowanej w identyfikatorze Entra firmy Microsoft.Client secret
Wpis Value
tajny klienta dla powiązanej aplikacji zarejestrowanej w usłudze Microsoft Entra ID.Pobierz prawidłowy identyfikator subskrypcji platformy Azure dla jednostki usługi Microsoft Entra ID, jeśli nie znasz jeszcze tego identyfikatora, wykonując jedną z następujących czynności:
Na górnym pasku nawigacyjnym obszaru roboczego usługi Azure Databricks kliknij swoją nazwę użytkownika, a następnie kliknij pozycję Azure Portal. Na wyświetlonej stronie zasobu obszaru roboczego usługi Azure Databricks kliknij pozycję Przegląd na pasku bocznym. Następnie wyszukaj pole Identyfikator subskrypcji, które zawiera identyfikator subskrypcji.
Użyj interfejsu wiersza polecenia platformy Azure, aby uruchomić polecenie az databricks workspace list, używając
--query
poleceń i-o
lub--output
, aby zawęzić wyniki. Zastąpadb-0000000000000000.0.azuredatabricks.net
ciąg nazwą wystąpienia obszaru roboczego, a nie w tym .https://
W tym przykładzie po00000000-0000-0000-0000-000000000000
/subscriptions/
w danych wyjściowych jest identyfikator subskrypcji.az databricks workspace list --query "[?workspaceUrl==\`adb-0000000000000000.0.azuredatabricks.net\`].{id:id}" -o tsv # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Databricks/workspaces/my-ws
Jeśli zostanie wyświetlony następujący komunikat, zalogowano się do niewłaściwej dzierżawy:
The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'.
Aby zalogować się do odpowiedniej dzierżawy, musisz ponownie uruchomićaz login
polecenie, używając-t
opcji lub--tenant
, aby określić prawidłowy identyfikator dzierżawy.Identyfikator dzierżawy dla obszaru roboczego usługi Azure Databricks można uzyskać, uruchamiając polecenie
curl -v <per-workspace-URL>/aad/auth
i wyszukując w danych wyjściowych< location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000
, gdzie00000000-0000-0000-0000-000000000000
jest identyfikatorem dzierżawy. Zobacz również Pobieranie identyfikatorów subskrypcji i dzierżaw w witrynie Azure Portal.az login -t <tenant-id>
Po utworzeniu poprawnego identyfikatora dzierżawy platformy Azure, identyfikatora klienta, wpisu tajnego klienta i identyfikatora subskrypcji dla jednostki usługi Microsoft Entra ID zaloguj się na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure, aby uruchomić polecenie az login .
--service-principal
Użyj opcji wraz z określeniem wartości parametrówTenant ID
(Directory (tenant) ID
),Client ID
(Application (client) ID
) iClient secret
(Value
) powiązanej aplikacji zarejestrowanej w identyfikatorze Entra firmy Microsoft.az login \ --service-principal \ -t <Tenant-ID> \ -u <Client-ID> \ -p <Client-secret>
Upewnij się, że zalogowano się do właściwej subskrypcji dla zalogowanej jednostki usługi Microsoft Entra ID. W tym celu uruchom polecenie az account set , używając
-s
opcji lub--subscription
, aby określić prawidłowy identyfikator subskrypcji.az account set -s <subscription-id>
Wygeneruj token dostępu microsoft Entra ID dla zalogowanej jednostki usługi Microsoft Entra ID, uruchamiając polecenie az account get-access-token .
--resource
Użyj opcji , aby określić unikatowy identyfikator zasobu dla usługi Azure Databricks, czyli2ff814a6-3304-4ab8-85cb-cd0e6f879c1d
. Możesz wyświetlić tylko wartość tokenu Microsoft Entra ID w danych wyjściowych polecenia przy użyciu--query
opcji i-o
lub--output
.az account get-access-token \ --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d \ --query "accessToken" \ -o tsv
Uwaga
Interfejs wiersza polecenia platformy Azure oparty na bibliotece MSAL używa biblioteki Microsoft Authentication Library (MSAL) jako podstawowej biblioteki uwierzytelniania. Jeśli nie możesz pomyślnie użyć tokenu dostępu microsoft Entra ID wygenerowanego przez interfejs wiersza polecenia platformy Azure, możesz spróbować użyć biblioteki MSAL bezpośrednio, aby uzyskać token dostępu identyfikatora Entra firmy Microsoft dla jednostki usługi Microsoft Entra ID. Zobacz Get Microsoft Entra ID tokens for service principals (Uzyskiwanie tokenów identyfikatora entra firmy Microsoft dla jednostek usługi).