Zarządzanie rolami firmy Microsoft Entra w usłudze Azure Database for PostgreSQL — serwer elastyczny

DOTYCZY: Azure Database for PostgreSQL — serwer elastyczny

W tym artykule opisano sposób tworzenia ról bazy danych z włączoną obsługą identyfikatora entra firmy Microsoft w wystąpieniu serwera elastycznego usługi Azure Database for PostgreSQL.

Uwaga

W tym przewodniku założono, że włączono już uwierzytelnianie firmy Microsoft Entra w wystąpieniu serwera elastycznego usługi Azure Database for PostgreSQL. Zobacz How to Configure Microsoft Entra authentication (Jak skonfigurować uwierzytelnianie firmy Microsoft Entra)

Jeśli chcesz dowiedzieć się, jak tworzyć użytkowników subskrypcji platformy Azure i zarządzać nimi oraz zarządzać nimi, możesz zapoznać się z artykułem Kontrola dostępu oparta na rolach (RBAC) platformy Azure lub zapoznać się z artykułem dotyczącym dostosowywania ról.

Tworzenie lub usuwanie administratorów usługi Microsoft Entra przy użyciu witryny Azure Portal lub interfejsu API usługi Azure Resource Manager (ARM)

  1. Otwórz stronę Uwierzytelnianie dla wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL w witrynie Azure Portal.
  2. Aby dodać administratora — wybierz pozycję Dodaj Administracja firmy Microsoft i wybierz użytkownika, grupę, aplikację lub tożsamość zarządzaną z bieżącej dzierżawy firmy Microsoft Entra.
  3. Aby usunąć administratora — wybierz ikonę Usuń , aby usunąć tę, która ma zostać usunięta.
  4. Wybierz pozycję Zapisz i poczekaj na ukończenie operacji aprowizacji.

Screenshot of managing Microsoft Entra administrators via portal.

Uwaga

Obsługa zarządzania Administracja istratorami firmy Microsoft za pośrednictwem zestawu Azure SDK, az cli i programu Azure PowerShell jest dostępna wkrótce.

Zarządzanie rolami firmy Microsoft Entra przy użyciu języka SQL

Po utworzeniu pierwszego administratora usługi Microsoft Entra w witrynie Azure Portal lub interfejsie API możesz użyć roli administratora do zarządzania rolami firmy Microsoft Entra w wystąpieniu serwera elastycznego usługi Azure Database for PostgreSQL.

Zalecamy zapoznanie się z Platforma tożsamości Microsoft w celu najlepszego wykorzystania integracji firmy Microsoft Entra z serwerem elastycznym usługi Azure Database for PostgreSQL.

Typy podmiotów zabezpieczeń

Serwer elastyczny usługi Azure Database for PostgreSQL wewnętrznie przechowuje mapowanie między rolami bazy danych PostgreSQL i unikatowymi identyfikatorami obiektów usługi AzureAD. Każdą rolę bazy danych PostgreSQL można zamapować na jeden z następujących typów obiektów Firmy Microsoft Entra:

  1. Użytkownik — w tym użytkownicy lokalni i goście dzierżawy.
  2. Jednostka usługi. Dołączanie aplikacji i tożsamości zarządzanych
  3. Grupa Gdy rola postgreSQL jest połączona z grupą Firmy Microsoft Entra, każdy użytkownik lub jednostka usługi tej grupy może połączyć się z elastycznym wystąpieniem serwera usługi Azure Database for PostgreSQL z rolą grupy.

Wyświetlanie listy ról firmy Microsoft przy użyciu języka SQL

select * from pgaadauth_list_principals(true);

Parametry:

  • true — zwróci Administracja użytkowników.
  • false — zwróci wszystkich użytkowników firmy Microsoft Entra zarówno administratorów firmy Microsoft, jak i administratorów firmy Innej niż Microsoft Entra.

Tworzenie roli przy użyciu głównej nazwy firmy Microsoft

select * from pgaadauth_create_principal('<roleName>', <isAdmin>, <isMfa>);

--For example: 

select * from pgaadauth_create_principal('mary@contoso.com', false, false);

Parametry:

  • roleName — nazwa roli do utworzenia. Musi być zgodna z nazwą podmiotu zabezpieczeń firmy Microsoft:
    • W przypadku użytkowników użyj głównej nazwy użytkownika z profilu. W przypadku użytkowników-gości dołącz pełną nazwę w domenie głównej z tagiem #EXT#.
    • W przypadku grup i jednostek usługi użyj nazwy wyświetlanej. Nazwa musi być unikatowa w dzierżawie.
  • is Administracja — ustaw wartość true, jeśli podczas tworzenia użytkownika administratora i wartości false dla zwykłego użytkownika. Administracja użytkownik utworzony w ten sposób ma te same uprawnienia co utworzony za pośrednictwem portalu lub interfejsu API.
  • isMfa — flaga, jeśli dla tej roli należy wymusić uwierzytelnianie wieloskładnikowe.

Usuwanie roli przy użyciu głównej nazwy firmy Microsoft

Należy pamiętać, że każda rola entra firmy Microsoft utworzona w usłudze PostgreSQL musi zostać usunięta przy użyciu Administracja firmy Microsoft. Jeśli używasz zwykłego administratora postgreSQL do porzucenia roli Entra, spowoduje to wystąpienie błędu.

DROP ROLE rolename;

Tworzenie roli przy użyciu identyfikatora obiektu Entra firmy Microsoft

select * from pgaadauth_create_principal_with_oid('<roleName>', '<objectId>', '<objectType>', <isAdmin>, <isMfa>);

For example: select * from pgaadauth_create_principal_with_oid('accounting_application', '00000000-0000-0000-0000-000000000000', 'service', false, false);

Parametry:

  • roleName — nazwa roli do utworzenia.
  • objectId — unikatowy identyfikator obiektu Microsoft Entra:
    • W przypadku użytkowników, grup i tożsamości zarządzanych identyfikator ObjectId można znaleźć, wyszukując nazwę obiektu na stronie Identyfikator entra firmy Microsoft w witrynie Azure Portal. Zobacz ten przewodnik jako przykład
    • W przypadku aplikacji należy użyć identyfikatora Objectid odpowiadającej jednostki usługi. W witrynie Azure Portal na stronie Aplikacje dla przedsiębiorstw można znaleźć wymagany identyfikator ObjectId.
  • objectType — typ obiektu Entra firmy Microsoft, aby połączyć się z tą rolą: usługa, użytkownik, grupa.
  • is Administracja — ustaw wartość true, jeśli podczas tworzenia użytkownika administratora i wartości false dla zwykłego użytkownika. Administracja użytkownik utworzony w ten sposób ma te same uprawnienia co utworzony za pośrednictwem portalu lub interfejsu API.
  • isMfa — flaga, jeśli dla tej roli należy wymusić uwierzytelnianie wieloskładnikowe.

Włączanie uwierzytelniania w usłudze Microsoft Entra dla istniejącej roli PostgreSQL przy użyciu języka SQL

Elastyczny serwer usługi Azure Database for PostgreSQL używa etykiet zabezpieczeń skojarzonych z rolami bazy danych do przechowywania mapowania identyfikatorów entra firmy Microsoft.

Aby przypisać etykietę zabezpieczeń, możesz użyć następującej bazy danych SQL:

SECURITY LABEL for "pgaadauth" on role "<roleName>" is 'aadauth,oid=<objectId>,type=<user|group|service>,admin';

Parametry:

  • roleName — nazwa istniejącej roli postgreSQL, do której należy włączyć uwierzytelnianie firmy Microsoft Entra.
  • objectId — unikatowy identyfikator obiektu Microsoft Entra.
  • user — podmioty zabezpieczeń użytkowników końcowych.
  • service — aplikacje lub tożsamości zarządzane łączące się w ramach własnych poświadczeń usługi.
  • group — nazwa grupy Microsoft Entra.

Następne kroki