Udostępnij za pośrednictwem


Pobieranie tokenów Microsoft Entra ID dla użytkowników przy użyciu Azure CLI

Ważne

W tym artykule opisano sposób ręcznego tworzenia tokenów Microsoft Entra ID dla użytkowników przy użyciu Azure CLI.

Usługa Databricks nie zaleca ręcznego tworzenia tokenów identyfikatorów entra firmy Microsoft dla użytkowników usługi Azure Databricks. Dzieje się tak, ponieważ każdy token identyfikatora Entra firmy Microsoft jest krótkotrwały, zazwyczaj wygasa w ciągu jednej godziny. Po upływie tego czasu należy ręcznie wygenerować zastępczy token Microsoft Entra ID. Zamiast tego należy użyć jednego z uczestniczących narzędzi lub zestawów SDK, które implementują ujednolicony standard uwierzytelniania klienta Databricks. Te narzędzia i zestawy SDK automatycznie generują i zastępują wygasłe tokeny Microsoft Entra ID, korzystając z uwierzytelniania Azure CLI.

Do uzyskania tokenów dostępu do Microsoft Entra ID dla użytkowników możesz użyć interfejsu wiersza polecenia platformy Azure.

Uwaga

Możesz również zdefiniować główny składnik usługi w Azure Active Directory, a następnie uzyskać token dostępu Microsoft Entra ID dla tego głównego składnika usługi zamiast dla użytkownika. Zobacz Pobierz tokeny identyfikatora Entra Microsoft dla właścicieli usług.

  1. Pobierz prawidłowy identyfikator subskrypcji platformy Azure dla konta użytkownika, jeśli jeszcze nie znasz 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 opcji --query oraz -o lub --output, aby zawęzić wyniki. Zastąp adb-0000000000000000.0.azuredatabricks.net nazwą instancji obszaru roboczego, nie uwzględniając https://. W tym przykładzie 00000000-0000-0000-0000-000000000000 po /subscriptions/ w danych wyjściowych jest identyfikatorem 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ć polecenie az login, używając opcji -t lub --tenant do określenia prawidłowego identyfikatora 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 przeglądając dane wyjściowe < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000, gdzie 00000000-0000-0000-0000-000000000000 jest identyfikatorem dzierżawy. Zobacz również Uzyskiwanie identyfikatorów subskrypcji i dzierżawców w portalu Azure.

      az login -t <tenant-id>
      
  2. Po uzyskaniu poprawnego identyfikatora subskrypcji platformy Azure dla swojego konta użytkownika, rozpocznij logowanie do platformy Azure, używając Azure CLI, aby uruchomić polecenie az login. Po uruchomieniu tego polecenia postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zakończyć logowanie się przy użyciu konta.

    az login
    
  3. Upewnij się, że zalogowano się do właściwej subskrypcji dla zalogowanego użytkownika. Aby to zrobić, uruchom polecenie az account set, używając opcji -s lub --subscription, aby wskazać właściwy identyfikator subskrypcji.

    az account set -s <subscription-id>
    
  4. Wygeneruj token dostępu Microsoft Entra ID, uruchamiając polecenie az account get-access-token. Użyj opcji --resource aby określić unikatowy identyfikator zasobu dla usługi Azure Databricks, który to jest 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d. Możesz wyświetlić tylko wartość tokenu Microsoft Entra ID w danych wyjściowych polecenia, używając opcji `--query`, `-o` lub `--output`.

    az account get-access-token \
    --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d \
    --query "accessToken" \
    -o tsv
    

Uwaga

Interfejs wiersza polecenia Azure oparty na MSAL używa Microsoft Authentication Library (MSAL) jako biblioteki bazowej dla uwierzytelniania. Jeśli nie możesz pomyślnie użyć tokenu dostępu Microsoft Entra ID, wygenerowanego przez interfejs wiersza polecenia Azure CLI, możesz spróbować użyć biblioteki MSAL bezpośrednio, aby uzyskać token dostępu Microsoft Entra ID dla użytkownika. Zobacz Uzyskaj tokeny Microsoft Entra ID dla użytkowników za pomocą MSAL.