Udostępnij za pośrednictwem


Role do zarządzania jednostkami usługi

W tym artykule opisano sposób zarządzania rolami dla podmiotów usługi w Twoim koncie Azure Databricks.

Zasada usługi to tożsamość, którą tworzysz w Azure Databricks do użycia z zautomatyzowanymi narzędziami, zadaniami i aplikacjami. Główne usługi umożliwiają zautomatyzowany dostęp do zasobów Azure Databricks wyłącznie przez API dla narzędzi i skryptów, zapewniając większe bezpieczeństwo niż w przypadku korzystania z użytkowników lub grup.

Możesz udzielić Azure Databricks użytkownikom, jednostkom usługi i grupom kont dostępu do korzystania z jednostki usługi. Dzięki temu użytkownicy mogą uruchamiać zadania jako główny użytkownik usługi, a nie jako ich tożsamość. Zapobiega to niepowodzeniu zadań, jeśli użytkownik opuści organizację lub grupa zostanie zmodyfikowana.

Aby zapoznać się z omówieniem jednostek usługi, zobacz Jednostki usługi.

Role jednostki usługi

Role jednostki usługi to role na poziomie konta. Oznacza to, że muszą być zdefiniowane tylko raz, na twoim koncie i mają zastosowanie we wszystkich obszarach roboczych. Istnieją dwie role, które można udzielić dla jednostki usługi: Service Principal Manager i Service Principal User.

  • Menedżer jednostki usługi umożliwia zarządzanie rolami w jednostce usługi. Twórca jednostki usługi ma rolę Menedżera jednostki usługi w jednostce usługi. Administratorzy kont mają rolę Service Principal Manager dla wszystkich Service Principals w koncie.

Uwaga

Jeśli jednostka usługi została utworzona przed 13 czerwca 2023 r., twórca jednostki usługi nie ma domyślnie roli Menedżera jednostki usługi. Jeśli musisz być menedżerem, poproś administratora konta o przyznanie Ci roli Menedżera jednostki usługi .

  • Użytkownik jednostki usługi pozwala użytkownikom obszaru roboczego uruchamiać zadania w imieniu jednostki usługi. Zadanie zostanie uruchomione z tożsamością jednostki usługi zamiast tożsamości właściciela zadania.

Użytkownicy z rolą Menedżera jednostki usługi nie dziedziczą roli użytkownika jednostki usługi . Jeśli chcesz użyć jednostki usługi do wykonywania zadań, musisz jawnie przypisać sobie rolę użytkownika jednostki usługi, nawet po utworzeniu jednostki usługi.

Uwaga

Role przypisane do jednostek usługi Azure Databricks nie nakładają się na role Azure ani role Microsoft Entra ID. Te role obejmują tylko konto Azure Databricks.

Zarządzanie rolami profilu usługi przy użyciu konsoli konta

Administratorzy kont mogą zarządzać rolami jednostek usługi przy użyciu konsoli konta.

Wyświetlanie ról na głównym obiekcie usługi

  1. Jako administrator konta zaloguj się do konsoli konta.
  2. Na pasku bocznym kliknij pozycję Zarządzanie użytkownikami.
  3. Na karcie Zasady usługi znajdź i kliknij nazwę.
  4. Kliknij kartę Uprawnienia .

Możesz wyświetlić listę podmiotów i ról, które zostały im przyznane w podmiocie usługi. Możesz również użyć paska wyszukiwania, aby wyszukać określoną jednostkę lub rolę.

Przyznawanie ról na podmiocie usługi

  1. Jako administrator konta zaloguj się do konsoli konta.

  2. Na pasku bocznym kliknij pozycję Zarządzanie użytkownikami.

  3. Na karcie Zasady usługi znajdź i kliknij nazwę.

  4. Kliknij kartę Uprawnienia .

  5. Kliknij pozycję Udziel dostępu.

  6. Wyszukaj i wybierz użytkownika, jednostkę usługi lub grupę, a następnie wybierz rolę lub role (jednostka usługi: Menedżer lub jednostka usługi: Użytkownik), które chcesz przypisać.

    Uwaga

    Użytkownicy z rolą Menedżera jednostki usługi nie dziedziczą roli użytkownika jednostki usługi . Jeśli chcesz, aby użytkownik używał jednostki usługi do wykonywania zadań, musisz jawnie przypisać rolę użytkownika jednostki usługi .

  7. Kliknij przycisk Zapisz.

Cofnięcie ról w głównej usłudze

  1. Jako administrator konta zaloguj się do konsoli konta.
  2. Na pasku bocznym kliknij pozycję Zarządzanie użytkownikami.
  3. Na karcie Zasady usługi znajdź i kliknij nazwę.
  4. Kliknij kartę Uprawnienia .
  5. Wyszukaj użytkownika, jednostkę usługi lub grupę, aby edytować swoje role.
  6. W wierszu z główną pozycją kliknij ikonę menu kebab, a następnie wybierz pozycję Edytuj. Alternatywnie wybierz Usuń, aby odwołać wszystkie role dla głównego użytkownika.
  7. Kliknij pozycję Edytuj.
  8. Kliknij przycisk X obok ról, które chcesz odwołać.
  9. Kliknij przycisk Zapisz.

Zarządzanie rolami jednostki usługi przy użyciu strony ustawień administratora obszaru roboczego

Administratorzy obszaru roboczego mogą zarządzać rolami jednostek usługi, dla których mają rolę Menedżera jednostki usługi, korzystając ze strony ustawień administratora.

Wyświetlanie ról w jednostce usługi

  1. Jako administrator obszaru roboczego zaloguj się do obszaru roboczego Azure Databricks.
  2. Kliknij swoją nazwę użytkownika na górnym pasku obszaru roboczego Azure Databricks i wybierz pozycję Settings.
  3. Kliknij kartę Tożsamość i dostęp .
  4. Przy pozycji Jednostki serwisowe kliknij Zarządzaj.
  5. Znajdź i kliknij nazwę.
  6. Kliknij kartę Uprawnienia .

Możesz wyświetlić listę podmiotów i ról, które zostały im przyznane w podmiocie usługi. Możesz również użyć paska wyszukiwania, aby wyszukać określoną jednostkę lub rolę.

Przyznawanie ról na podmiocie usługi

Aby udzielić ról, musisz mieć rolę Menedżera głównego elementu usługi w głównym elemencie usługi.

  1. Jako administrator obszaru roboczego zaloguj się do obszaru roboczego Azure Databricks.

  2. Kliknij swoją nazwę użytkownika na górnym pasku obszaru roboczego Azure Databricks i wybierz pozycję Settings.

  3. Kliknij kartę Tożsamość i dostęp .

  4. Przy pozycji Jednostki serwisowe kliknij Zarządzaj.

  5. Znajdź i kliknij nazwę.

  6. Kliknij kartę Uprawnienia .

  7. Kliknij pozycję Udziel dostępu.

  8. Wyszukaj i wybierz użytkownika, jednostkę usługi lub grupę, a następnie wybierz rolę lub role (jednostka usługi: Menedżer lub jednostka usługi: Użytkownik), które chcesz przypisać.

    Uwaga

    Role można przyznać dowolnemu użytkownikowi na poziomie konta, jednostce usługi lub grupie, nawet jeśli nie są członkami obszaru roboczego. Nie można przyznać ról grupom lokalnym obszaru roboczego.

    Użytkownicy z rolą Menedżera jednostki usługi nie dziedziczą roli użytkownika jednostki usługi . Jeśli chcesz, aby użytkownik używał jednostki usługi do wykonywania zadań, musisz jawnie przypisać rolę użytkownika jednostki usługi .

  9. Kliknij przycisk Zapisz.

Cofnięcie ról w głównej usłudze

Aby móc odwołać role, musisz mieć rolę menedżera zasadniczych usług w jednostce usługi.

  1. Jako administrator obszaru roboczego zaloguj się do obszaru roboczego Azure Databricks.
  2. Kliknij swoją nazwę użytkownika na górnym pasku obszaru roboczego Azure Databricks i wybierz pozycję Settings.
  3. Kliknij kartę Tożsamość i dostęp .
  4. Przy pozycji Jednostki serwisowe kliknij Zarządzaj.
  5. Znajdź i kliknij nazwę.
  6. Kliknij kartę Uprawnienia .
  7. Wyszukaj użytkownika, jednostkę usługi lub grupę, aby edytować swoje role.
  8. W wierszu z główną pozycją kliknij ikonę menu kebab, a następnie wybierz pozycję Edytuj. Alternatywnie wybierz Usuń, aby odwołać wszystkie role dla głównego użytkownika.
  9. Kliknij pozycję Edytuj.
  10. Kliknij przycisk X obok ról, które chcesz odwołać.
  11. Kliknij przycisk Zapisz.

Zarządzanie rolami jednostki usługi przy użyciu interfejsu wiersza polecenia usługi Databricks

Aby zarządzać rolami w jednostce usługi, musisz mieć rolę Menedżera jednostki usługi. Do zarządzania rolami można użyć interfejsu wiersza polecenia usługi Databricks. Aby uzyskać informacje na temat instalowania i uwierzytelniania w interfejsie wiersza polecenia usługi Databricks, zobacz Interfejs wiersza polecenia usługi Databricks.

Możesz również zarządzać rolami jednostki usługi za pomocą interfejsu API kontroli dostępu kont. Interfejs API kont Access Control jest obsługiwany za pośrednictwem konta Azure Databricks i obszarów roboczych.

Administratorzy konta wywołują interfejs API w accounts.azuredatabricks.net ({account-domain}/api/2.0/preview/accounts/{account_id}/access-control).

Użytkownicy z rolą Menedżera jednostki usługi, którzy nie są administratorami kont, wywołują API w domenie obszaru roboczego ({workspace-domain}/api/2.0/preview/accounts/access-control/).

Udzielanie ról głównej jednostce usługi za pomocą interfejsu wiersza polecenia Databricks

API Access Control konta i konsola używają pola etag w celu zapewnienia spójności. Aby udzielić lub odwołać role podmiotu usługi za pośrednictwem interfejsu API, najpierw wydaj polecenie zestawu reguł GET i odbierz etag w odpowiedzi. Następnie możesz stosować zmiany lokalnie, a na koniec opublikować zestaw reguł PUT z użyciem etag.

Na przykład wydaj regułę GET ustawioną na jednostce usługi, do której chcesz udzielić dostępu, uruchamiając następujące polecenie:

databricks account access-control get-rule-set accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default <etag>

Wymiana:

  • <account-id> z identyfikatorem konta.
  • <application-id> z identyfikatorem aplikacji jednostki usługi.
  • <etag> z ""

Przykładowa odpowiedź:

{
  "etag":"<etag>",
  "grant_rules": [
    {
      "principals": [
        "users/user@example.com"
      ],
      "role":"roles/servicePrincipal.manager"
    },
    {
      "principals": [
        "users/user@example.com"
      ],
      "role":"roles/servicePrincipal.user"
    }
  ],
  "name":"<name>"
}

etag Skopiuj pole z treści odpowiedzi do późniejszego użycia.

Następnie można wprowadzać aktualizacje lokalnie po podjęciu decyzji o stanie końcowym reguł, a następnie zaktualizować zestaw reguł przy użyciu elementu etag. Aby udzielić jednostce usługi: rola użytkownika dla użytkownika user2@example.com, uruchom następujące polecenie:

databricks account access-control update-rule-set --json '{
  "name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
  "rule_set": {
      "name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
      "grant_rules": [
        {
            "role": "roles/servicePrincipal.user",
            "principals": ["users/user2@example.com"]
        }
      ],
      "etag": "<etag>"
  }
}'

Wymiana:

  • <account-id> z identyfikatorem konta.
  • <application-id> z identyfikatorem aplikacji jednostki usługi.
  • <etag> z etagiem, który skopiowałeś z ostatniej odpowiedzi.

Przykładowa odpowiedź:

{
  "etag":"<new-etag>",
  "grant_rules": [
    {
      "principals": [
        "users/user2@example.com"
      ],
      "role":"roles/servicePrincipal.user"
    }
  ],
  "name":"accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default"
}

Ważne

Ponieważ jest to metoda PUT, wszystkie istniejące role są nadpisywane. Aby zachować wszystkie istniejące role, należy dodać je do tablicy grant_roles .

Wymień pryncypałów usługi, których można użyć

Korzystając z interfejsu API jednostek usługi obszaru roboczego, możesz wyświetlić listę jednostek usługi, dla których masz rolę użytkownika, filtrując servicePrincipal/use.

Aby wyświetlić listę jednostek usługi, w których znajduje się rola użytkownika jednostki usługi, uruchom następujące polecenie:

databricks service-principals list -p WORKSPACE --filter "permission eq 'servicePrincipal/use'"

Można również wylistować zasady dostępu do usług za pomocą interfejsu API zasad dostępu do usług obszaru roboczego .