Role do zarządzania jednostkami usługi

W tym artykule opisano sposób zarządzania rolami w jednostkach usługi na koncie usługi Azure Databricks.

Jednostka usługi to tożsamość tworzona w usłudze Azure Databricks do użycia ze zautomatyzowanymi narzędziami, zadaniami i aplikacjami. Jednostki usługi zapewniają zautomatyzowanym narzędziom i skryptom dostęp tylko za pośrednictwem interfejsu API do zasobów usługi Azure Databricks, zapewniając większe zabezpieczenia niż korzystanie z użytkowników lub grup.

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

Aby zapoznać się z omówieniem jednostek usługi, zobacz Zarządzanie jednostkami 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ę Menedżera jednostki usługi dla wszystkich jednostek usługi na 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 umożliwia użytkownikom obszaru roboczego uruchamianie zadań jako 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 jednostki usługi Azure Databricks nie nakładają się na role platformy Azure ani role microsoft Entra ID (dawniej Azure Active Directory). Te role obejmują tylko konto usługi Azure Databricks.

Zarządzanie rolami jednostki 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 w jednostce usługi

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

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

Udzielanie ról w jednostce usługi

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

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

  3. Na karcie Jednostki 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.

Odwoływanie ról w jednostce usługi

  1. Jako administrator konta zaloguj się do konsoli konta.
  2. Na pasku bocznym kliknij pozycję Zarządzanie użytkownikami.
  3. Na karcie Jednostki 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 podmiotem zabezpieczeń kliknij menu Wielokropek pionowy kebab, a następnie wybierz pozycję Edytuj. Alternatywnie wybierz pozycję Usuń , aby odwołać wszystkie role podmiotu zabezpieczeń.
  7. Kliknij przycisk 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 jednostek usługi, na których ma 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 usługi Azure Databricks.
  2. Kliknij swoją nazwę użytkownika na górnym pasku obszaru roboczego usługi Azure Databricks i wybierz pozycję Ustawienia.
  3. Kliknij kartę Tożsamość i dostęp .
  4. Obok pozycji Jednostki usługi kliknij pozycję Zarządzaj.
  5. Znajdź i kliknij nazwę.
  6. Kliknij kartę Uprawnienia .

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

Udzielanie ról w jednostce usługi

Aby udzielić ról, musisz mieć rolę Menedżera jednostki usługi w jednostce usługi.

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

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

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

  4. Obok pozycji Jednostki usługi kliknij pozycję 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.

Odwoływanie ról w jednostce usługi

Aby odwołać role, musisz mieć rolę Menedżera jednostki usługi w jednostce usługi.

  1. Jako administrator obszaru roboczego zaloguj się do obszaru roboczego usługi Azure Databricks.
  2. Kliknij swoją nazwę użytkownika na górnym pasku obszaru roboczego usługi Azure Databricks i wybierz pozycję Ustawienia.
  3. Kliknij kartę Tożsamość i dostęp .
  4. Obok pozycji Jednostki usługi kliknij pozycję 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 podmiotem zabezpieczeń kliknij menu Wielokropek pionowy kebab, a następnie wybierz pozycję Edytuj. Alternatywnie wybierz pozycję Usuń , aby odwołać wszystkie role podmiotu zabezpieczeń.
  9. Kliknij przycisk 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 Co to jest interfejs wiersza polecenia usługi Databricks?.

Role jednostki usługi można również zarządzać przy użyciu interfejsu API kontroli dostępu kont. Interfejs API kontroli dostępu kont jest obsługiwany za pośrednictwem konta i obszarów roboczych usługi Azure Databricks.

Administratorzy konta nazywają 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łają interfejs API w domenie obszaru roboczego ({workspace-domain}/api/2.0/preview/accounts/access-control/).

Udzielanie ról w jednostce usługi przy użyciu interfejsu wiersza polecenia usługi Databricks

Interfejs API kontroli dostępu kont używa etag pola w celu zapewnienia spójności. Aby udzielić lub odwołać role jednostki usługi za pośrednictwem interfejsu API, najpierw wydaj GET polecenie zestawu reguł i odbierz w odpowiedzi.etag Następnie możesz stosować zmiany lokalnie i na koniec wydać PUT zestaw reguł za pomocą polecenia etag.

Na przykład wydaj regułę ustawioną GET dla jednostki 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> za pomocą elementu etag skopiowanego 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 PUT to metoda, wszystkie istniejące role są zastępowane. Aby zachować wszystkie istniejące role, należy dodać je do tablicy grant_roles .

Wyświetlanie listy jednostek usługi, których można użyć

Za pomocą interfejsu API jednostki usługi obszaru roboczego możesz wyświetlić listę jednostek usługi, dla których masz rolę użytkownika, filtrując wartość .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'"

Jednostki usługi można również wyświetlić przy użyciu interfejsu API jednostki usługi obszaru roboczego.