Udostępnij za pośrednictwem


Zarządzanie rolami usługi 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 administratora firmy Microsoft Entra 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.

Zrzut ekranu przedstawiający zarządzanie administratorami firmy Microsoft Entra za pośrednictwem portalu.

Uwaga

Obsługa zarządzania administratorami entra 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

pg_catalog.pgaadauth_list_principals(isAdminValue boolean)

Argumenty

isAdminValue

boolean gdy true zwraca użytkowników administracyjnych. Gdy falsezwraca wszystkich użytkowników firmy Microsoft Entra, w tym administratorów firmy Microsoft i osób niebędących administratorami.

Typ zwracany

TABLE(rolname name, principalType text, objectId text, tenantId text, isMfa integer, isAdmin integer) tabela z następującym schematem:

  • rolname nazwa roli w usłudze PostgreSQL.
  • principalType typ podmiotu zabezpieczeń w identyfikatorze Entra firmy Microsoft. Może to być user, grouplub service.
  • objectId identyfikator obiektu w identyfikatorze Entra firmy Microsoft dla tego podmiotu zabezpieczeń.
  • tenantId identyfikator dzierżawy hostowania tego podmiotu zabezpieczeń w identyfikatorze Entra firmy Microsoft.
  • isMfa Zwraca wartość 1 , jeśli użytkownik/rola ma wymuszone uwierzytelnianie wieloskładnikowe.
  • isAdmin Zwraca wartość 1 , jeśli użytkownik/rola jest administratorem w usłudze PostgreSQL.

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

pg_catalog.pgaadauth_create_principal(roleName text, isAdmin boolean, isMfa boolean)

Argumenty

roleName

text nazwa roli do utworzenia. Musi to być zgodne 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.
isAdmin

boolean podczas true tworzenia użytkownika administratora postgreSQL (członka azure_pg_admin roli oraz z uprawnieniami CREATEROLE i CREATEDB). Podczas false tworzenia zwykłego użytkownika postgreSQL.

isMfa

boolean w przypadku true wymuszania uwierzytelniania wieloskładnikowego dla tego użytkownika postgreSQL.

Ważne

Flaga isMfa testuje mfa oświadczenie w tokenie Identyfikator entra firmy Microsoft, ale nie ma wpływu na przepływ pozyskiwania tokenu. Jeśli na przykład dzierżawa podmiotu zabezpieczeń nie jest skonfigurowana do uwierzytelniania wieloskładnikowego, uniemożliwi korzystanie z tej funkcji. Jeśli dzierżawa wymaga uwierzytelniania wieloskładnikowego dla wszystkich tokenów, ta flaga będzie bezużyteczna.

Typ zwracany

textpojedyncza wartość składająca się z ciągu "Utworzona rola dla roli RoleName", gdzie roleName jest argumentem przekazanym dla parametru roleName.

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ć porzucona przy użyciu administratora firmy Microsoft Entra. 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

pg_catalog.pgaadauth_create_principal_with_oid(roleName text, objectId text, objectType text, isAdmin boolean, isMfa boolean)

Argumenty

roleName

text nazwa roli do utworzenia.

objectId

text 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 grup i jednostek usługi użyj nazwy wyświetlanej. Nazwa musi być unikatowa w dzierżawie.
  • W przypadku aplikacji należy użyć identyfikatora objectId odpowiadającej jednostki usługi. W witrynie Azure Portal można znaleźć wymagany identyfikator objectId na stronie Aplikacje dla przedsiębiorstw w witrynie Azure Portal.
objectType

text typ obiektu Microsoft Entra, aby połączyć się z tą rolą. Może to być user, grouplub service.

isAdmin

boolean podczas true tworzenia użytkownika administratora postgreSQL (członka azure_pg_admin roli oraz z uprawnieniami CREATEROLE i CREATEDB). Podczas false tworzenia zwykłego użytkownika postgreSQL.

isMfa

boolean w przypadku true wymuszania uwierzytelniania wieloskładnikowego dla tego użytkownika postgreSQL.

Ważne

Flaga isMfa testuje mfa oświadczenie w tokenie Identyfikator entra firmy Microsoft, ale nie ma wpływu na przepływ pozyskiwania tokenu. Jeśli na przykład dzierżawa podmiotu zabezpieczeń nie jest skonfigurowana do uwierzytelniania wieloskładnikowego, uniemożliwi korzystanie z tej funkcji. Jeśli dzierżawa wymaga uwierzytelniania wieloskładnikowego dla wszystkich tokenów, ta flaga będzie bezużyteczna.

Typ zwracany

textpojedyncza wartość składająca się z ciągu "Utworzona rola dla roli RoleName", gdzie roleName jest argumentem przekazanym dla parametru roleName.

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

Serwer elastyczny usługi Azure Database for PostgreSQL używa etykiet zabezpieczeń skojarzonych z rolami bazy danych do przechowywania odpowiedniego mapowania identyfikatora Entra firmy Microsoft.

Aby przypisać wymaganą etykietę zabezpieczeń do obiektu Entra firmy Microsoft, możesz użyć następującej metody SQL:

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

Argumenty

roleName

text nazwa istniejącej roli PostgreSQL, do której należy włączyć uwierzytelnianie firmy Microsoft Entra.

objectId

text unikatowy identyfikator obiektu Microsoft Entra.

objectType

text Można go ustawić na user, grouplub (w przypadku aplikacji lub service tożsamości zarządzanych łączących się przy użyciu własnych poświadczeń usługi).

admin

text może być obecny lub nieobecny. Użytkownicy/role, dla których ta część znajduje się w etykiecie zabezpieczeń, mogą zarządzać innymi rolami identyfikatora Entra firmy Microsoft.

Następne kroki