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)
- Otwórz stronę Uwierzytelnianie dla wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL w witrynie Azure Portal.
- 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.
- Aby usunąć administratora — wybierz ikonę Usuń , aby usunąć tę, która ma zostać usunięta.
- Wybierz pozycję Zapisz i poczekaj na ukończenie operacji aprowizacji.
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:
- Użytkownik — w tym użytkownicy lokalni i goście dzierżawy.
- Jednostka usługi. Dołączanie aplikacji i tożsamości zarządzanych
- 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 false
zwraca 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
,group
lubservice
.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
text
pojedyncza 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
, group
lub 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
text
pojedyncza 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
, group
lub (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
- Zapoznaj się z ogólnymi pojęciami dotyczącymi uwierzytelniania firmy Microsoft w usłudze Azure Database for PostgreSQL — serwer elastyczny