Udostępnij za pośrednictwem


Uwierzytelnianie Microsoft Entra ID i PostgreSQL za pomocą usługi Azure Cosmos DB for PostgreSQL

DOTYCZY: Usługa Azure Cosmos DB for PostgreSQL (obsługiwana przez rozszerzenie bazy danych Citus do bazy danych PostgreSQL)

Usługa Azure Cosmos DB for PostgreSQL obsługuje uwierzytelnianie postgreSQL i integrację z identyfikatorem Entra firmy Microsoft. Każdy klaster usługi Azure Cosmos DB for PostgreSQL jest tworzony z włączonym natywnym uwierzytelnianiem PostgreSQL i jedną wbudowaną rolą PostgreSQL o nazwie citus. Po zakończeniu aprowizacji klastra można dodać więcej natywnych ról postgreSQL.

Oprócz metody uwierzytelniania postgreSQL można również włączyć uwierzytelnianie microsoft Entra ID (dawniej Azure Active Directory) w klastrze. Metody uwierzytelniania można skonfigurować niezależnie w każdym klastrze usługi Azure Cosmos DB for PostgreSQL. Jeśli musisz zmienić metodę uwierzytelniania, możesz to zrobić w dowolnym momencie po zakończeniu aprowizacji klastra. Zmiana metod uwierzytelniania nie wymaga ponownego uruchomienia klastra.

Uwierzytelnianie bazy danych PostgreSQL

Aparat PostgreSQL używa ról do kontrolowania dostępu do obiektów bazy danych. Nowo utworzony klaster usługi Azure Cosmos DB for PostgreSQL zawiera kilka wstępnie zdefiniowanych ról:

Ponieważ usługa Azure Cosmos DB for PostgreSQL jest zarządzaną usługą PaaS, tylko firma Microsoft może zalogować się przy użyciu postgres roli administratora. W przypadku ograniczonego dostępu administracyjnego usługa Azure Cosmos DB for PostgreSQL zapewnia citus rolę.

Usługa zarządzana musi replikować wszystkie role bazy danych PostgreSQL do wszystkich węzłów w klastrze. Aby ułatwić to wymaganie, należy utworzyć wszystkie inne role bazy danych PostgreSQL przy użyciu funkcji zarządzania usługą Azure Cosmos DB for PostgreSQL.

Rola Citus

Uprawnienia dla citus roli:

  • Odczytaj wszystkie zmienne konfiguracji, nawet zmienne zwykle widoczne tylko dla superużytkowników.
  • Odczytywanie wszystkich widoków pg_stat_* i używanie różnych rozszerzeń związanych ze statystykami — widoków lub rozszerzeń zwykle widocznych tylko dla superużytkowników.
  • Wykonywanie funkcji monitorowania, które mogą spowodować zablokowanie udziału PROGRAMU ACCESS w tabelach, potencjalnie przez długi czas.
  • Tworzenie rozszerzeń PostgreSQL.

citus W szczególności rola ma pewne ograniczenia:

  • Nie można utworzyć ról
  • Nie można tworzyć baz danych

citus Nie można usunąć roli, ale zostanie ona wyłączona, jeśli w klastrze wybrano metodę uwierzytelniania tylko identyfikator entra firmy Microsoft.

Uwierzytelnianie identyfikatora Entra firmy Microsoft

Uwierzytelnianie microsoft Entra ID (dawniej Azure Active Directory) to mechanizm łączenia się z usługą Azure Cosmos DB for PostgreSQL przy użyciu tożsamości zdefiniowanych w identyfikatorze Entra firmy Microsoft. Za pomocą uwierzytelniania identyfikatora Entra firmy Microsoft można zarządzać tożsamościami użytkowników bazy danych i innymi usługi firmy Microsoft w centralnej lokalizacji, co upraszcza zarządzanie uprawnieniami.

Zalety korzystania z identyfikatora Entra firmy Microsoft obejmują:

  • Uwierzytelnianie użytkowników w usługach platformy Azure w jednolity sposób
  • Zarządzanie zasadami haseł i rotacją haseł w jednym miejscu
  • Wiele form uwierzytelniania obsługiwanych przez identyfikator Entra firmy Microsoft, co może wyeliminować konieczność przechowywania haseł
  • Uwierzytelnianie identyfikatora Entra firmy Microsoft używa ról bazy danych PostgreSQL do uwierzytelniania tożsamości na poziomie bazy danych
  • Obsługa uwierzytelniania opartego na tokenach dla aplikacji łączących się z usługą Azure Cosmos DB for PostgreSQL

Zarządzanie dostępem do bazy danych PostgreSQL dla podmiotów zabezpieczeń identyfikatorów entra firmy Microsoft

Po włączeniu uwierzytelniania identyfikatora Entra firmy Microsoft i dodaniu podmiotu zabezpieczeń identyfikatora entra firmy Microsoft jako administrator identyfikatora entra firmy Microsoft konto otrzymuje te same uprawnienia co citus rola. Logowanie administratora microsoft Entra ID może być użytkownikiem microsoft Entra ID, jednostką usługi lub tożsamością zarządzaną. W dowolnym momencie można skonfigurować wiele administratorów identyfikatorów entra firmy Microsoft i opcjonalnie można wyłączyć uwierzytelnianie postgreSQL (hasło) w klastrze usługi Azure Cosmos DB for PostgreSQL w celu uzyskania lepszej inspekcji i zgodności.

Ponadto dowolną liczbę ról identyfikatora entra firmy Microsoft nieadmin można dodać do klastra w dowolnym momencie po włączeniu uwierzytelniania identyfikatora Entra firmy Microsoft. Uprawnienia bazy danych dla ról identyfikatora entra firmy Microsoft są zarządzane podobnie jak w przypadku zwykłych ról.

Nawiązywanie połączenia przy użyciu tożsamości entra firmy Microsoft

Uwierzytelnianie identyfikatora Entra firmy Microsoft obsługuje następujące metody nawiązywania połączenia z bazą danych przy użyciu tożsamości identyfikatora Entra firmy Microsoft:

  • Hasło identyfikatora entra firmy Microsoft
  • Zintegrowany identyfikator entra firmy Microsoft
  • Microsoft Entra ID Universal z usługą MFA
  • Używanie certyfikatów aplikacji microsoft Entra ID lub wpisów tajnych klienta
  • Tożsamość zarządzana

Po uwierzytelnieniu względem identyfikatora Entra firmy Microsoft należy pobrać token. Ten token to hasło do logowania.

Inne uwagi

  • Wiele jednostek identyfikatorów entra firmy Microsoft (użytkownika, jednostki usługi lub tożsamości zarządzanej) można skonfigurować jako administrator identyfikatora Entra firmy Microsoft dla klastra usługi Azure Cosmos DB for PostgreSQL w dowolnym momencie.
  • Jeśli jednostka identyfikatora Entra firmy Microsoft zostanie usunięta z usługi Microsoft Entra ID, nadal pozostaje ona rolą PostgreSQL w klastrze, ale nie jest już w stanie uzyskać nowego tokenu dostępu. W takim przypadku, mimo że pasujący rola nadal istnieje w bazie danych Postgres, nie może uwierzytelnić się w węzłach klastra. Administratorzy baz danych muszą ręcznie przenieść własność i usunąć takie role.

Uwaga

Zaloguj się przy użyciu usuniętego użytkownika identyfikatora Entra firmy Microsoft, dopóki token nie wygaśnie (do 90 minut od wystawiania tokenu). Jeśli usuniesz również użytkownika z klastra usługi Azure Cosmos DB for PostgreSQL, ten dostęp zostanie natychmiast odwołany.

  • Usługa Azure Cosmos DB for PostgreSQL dopasuje tokeny dostępu do roli bazy danych przy użyciu unikatowego identyfikatora użytkownika Microsoft Entra ID, a nie przy użyciu nazwy użytkownika. Jeśli użytkownik identyfikatora entra firmy Microsoft zostanie usunięty i zostanie utworzony nowy użytkownik o tej samej nazwie, usługa Azure Cosmos DB for PostgreSQL uzna, że inny użytkownik. W związku z tym jeśli użytkownik zostanie usunięty z identyfikatora Entra firmy Microsoft i zostanie dodany nowy użytkownik o tej samej nazwie, nowy użytkownik nie będzie mógł nawiązać połączenia z istniejącą rolą.

Następne kroki