Aracılığıyla paylaş


PostgreSQL için Azure Veritabanı'nda Microsoft Entra rollerini yönetme

Bu makalede, PostgreSQL için Azure Veritabanı esnek sunucu örneğinde Microsoft Entra ID özellikli veritabanı rollerinin nasıl oluşturulacağı açıklanmaktadır.

Azure aboneliği kullanıcılarını ve ayrıcalıklarını oluşturma ve yönetme hakkında bilgi edinmek için Azure rol tabanlı erişim denetimi (Azure RBAC) makalesine bakın veya rolleri özelleştirmeyi gözden geçirin.

Uyarı

Bu kılavuzda, PostgreSQL için Azure Veritabanı esnek sunucu örneğinizde Microsoft Entra kimlik doğrulamayı zaten etkinleştirdiğiniz varsayılır.

Azure portalını veya Azure Resource Manager (ARM) API'sini kullanarak Microsoft Entra yöneticileri oluşturma veya silme

  1. Azure portalında PostgreSQL için Azure Veritabanı esnek sunucu örneğinizin Kimlik Doğrulama sayfasını açın.
  2. Yönetici eklemek için Microsoft Entra Yöneticisi Ekle'yi seçin ve geçerli Microsoft Entra kiracısından bir kullanıcı, grup, uygulama veya yönetilen kimlik seçin.
  3. Bir yöneticiyi kaldırmak için, kaldırmak istediğiniz yöneticinin Sil simgesini seçin.
  4. Kaydet'i seçin ve sağlama işleminin tamamlanmasını bekleyin.

Uyarı

Azure SDK, az cli ve Azure PowerShell aracılığıyla Microsoft Entra Administrators yönetimi desteği yakında sunulacaktır.

SQL kullanarak Microsoft Entra rollerini yönetme

Azure portalından veya API'den ilk Microsoft Entra yöneticisini oluşturduktan sonra, PostgreSQL için Azure Veritabanı esnek sunucu örneğinizde Microsoft Entra rollerini yönetmek için yönetici rolünü kullanabilirsiniz.

PostgreSQL için Azure Veritabanı'nda Microsoft Entra tümleştirmesi konusunda en iyi deneyim için Microsoft kimlik platformu hakkında bilgi edinmenizi öneririz.

Asıl türler

PostgreSQL için Azure Veritabanı, PostgreSQL veritabanı rolleri ile Microsoft Entra nesnelerinin benzersiz tanımlayıcıları arasındaki eşlemeyi dahili olarak depolar. Her PostgreSQL veritabanı rolü aşağıdaki Microsoft Entra nesne türlerinden biriyle eşlenebilir:

  • Kullanıcı - Kiracı yerel ve konuk kullanıcıları dahil.
  • Hizmet Temsilcisi - Uygulamalar ve Yönetilen Kimlikler dahil
  • Grup - PostgreSQL rolü bir Microsoft Entra grubuna bağlandığında, bu grubun tüm kullanıcı veya hizmet sorumlusu üyeleri grup rolüyle PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlanabilir.

SQL kullanarak Microsoft Entra rollerini listeleme

select * from pg_catalog.pgaadauth_list_principals(isAdminValue boolean)

Arguments

isAdminValue

boolean - Ne zaman true olursa, yönetici kullanıcıları döndürür. olduğunda false, Microsoft Entra yöneticileri ve yönetici olmayanlar da dahil olmak üzere tüm Microsoft Entra kullanıcılarını döndürür.

Dönüş türü

TABLE(rolename name, principalType text, objectId text, tenantId text, isMfa integer, isAdmin integer) - Aşağıdaki şemaya sahip bir tablo:

  • rolename - PostgreSQL'deki rolün adı.
  • principalType - Microsoft Entra ID'deki principal türü. , veya userolabilirgroupservice.
  • objectId - Bu sorumlunun Microsoft Entra Id içindeki nesnesinin tanımlayıcısı.
  • tenantId - Bu sorumluyu Microsoft Entra Id'de barındıran kiracının tanımlayıcısı.
  • isMfa - Kullanıcının/rolün 1 MFA'sı zorlanmışsa değerini döndürür.
  • isAdmin - Kullanıcı/rol PostgreSQL'de yöneticiyse değerini 1 döndürür.

Microsoft Entra asıl adıyla kullanıcı veya rol oluşturma

select * from pg_catalog.pgaadauth_create_principal(roleName text, isAdmin boolean, isMfa boolean)

Arguments

roleName

text oluşturulacak rolün adı. Bu ad , Microsoft Entra sorumlusunun adıyla eşleşmelidir.

  • Kullanıcılar için profilden Kullanıcı Asıl Adı'nı kullanın. Konuk kullanıcılar için, #EXT# etiketiyle kendi ana etki alanlarına tam adlarını ekleyin.
  • Gruplar ve hizmet sorumluları için görünen adı kullanın. Adın kiracıda benzersiz olması gerekir.
isAdmin

boolean olduğunda true, bir PostgreSQL yönetici kullanıcısı oluşturur (rolün azure_pg_admin üyesi ve CREATEROLE ve CREATEDB izinleriyle). olduğunda false, normal bir PostgreSQL kullanıcısı oluşturur.

isMfa

boolean when true, bu PostgreSQL kullanıcısı için çok faktörlü kimlik doğrulamasını uygular.

Önemli

bayrağı, isMfa Talebi Microsoft Entra ID belirtecinde test mfa eder, ancak belirteç alma akışını etkilemez. Örneğin, ana kiracı çok faktörlü kimlik doğrulama için yapılandırılmamışsa, bu özellik kullanılamaz. Kiracı tüm belirteçler için çok faktörlü kimlik doğrulaması gerektiriyorsa, bu bayrağı işe yaramaz hale getirir.

Dönüş türü

text"RoleName için rol oluşturuldu" dizesini içeren tek değer; burada roleName, roleName parametresi için geçirdiğiniz bağımsız değişkendir.

Microsoft Entra asıl adıyla rol bırakma

Microsoft Entra ID sorumlusuna karşılık gelen bir rolü üç yolla bırakabilirsiniz:

  • Azure portalı

  • Azure Resource Manager (ARM) API'si

  • Aşağıdaki SQL deyimini yürüterek:

    DROP ROLE rolename;
    

Uyarı

Azure portalında yalnızca yönetici rolleri görüntülenir. Yönetici olmayan bir rolü bırakmak için Azure Resource Manager (ARM) API'sini veya SQL deyimini kullanın.

Microsoft Entra ID nesne tanımlayıcısını kullanarak rol oluşturma

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

Arguments

roleName

text oluşturulacak rolün adı.

objectId

text Microsoft Entra nesnesinin benzersiz nesne tanımlayıcısı.

  • Kullanıcılar, gruplar ve yönetilen kimlikler için, Azure portalındaki objectIdMicrosoft Entra Id sayfasında nesne adını arayarak öğesini bulun. Örnek olarak bu kılavuza bakın.
  • Gruplar ve hizmet sorumluları için görünen adı kullanın. Adın kiracıda benzersiz olması gerekir.
  • Uygulamalar için ilgili Hizmet Sorumlusunun objectId değerini kullanın. Azure portalında , Kurumsal Uygulamalar sayfasında gerekli objectId değerini bulun.
objectType

text bu role bağlanacak Microsoft Entra nesnesinin türü. , veya userolabilirgroupservice.

isAdmin

boolean olduğunda true, bir PostgreSQL yönetici kullanıcısı oluşturur (rolün azure_pg_admin üyesi ve CREATEROLE ve CREATEDB izinleriyle). olduğunda false, normal bir PostgreSQL kullanıcısı oluşturur.

isMfa

boolean when true, bu PostgreSQL kullanıcısı için çok faktörlü kimlik doğrulamasını uygular.

Önemli

bayrağı, isMfa Talebi Microsoft Entra ID belirtecinde test mfa eder, ancak belirteç alma akışını etkilemez. Örneğin, ana kiracı çok faktörlü kimlik doğrulama için yapılandırılmamışsa, bu özellik kullanılamaz. Kiracı tüm belirteçler için çok faktörlü kimlik doğrulaması gerektiriyorsa, bu bayrağı işe yaramaz hale getirir.

Dönüş türü

text"RoleName için rol oluşturuldu" dizesini içeren tek değer; burada roleName, roleName parametresi için geçirdiğiniz bağımsız değişkendir.

SQL kullanarak mevcut bir PostgreSQL rolü için Microsoft Entra kimlik doğrulamasını etkinleştirme

PostgreSQL için Azure Veritabanı, ilgili Microsoft Entra Id eşlemesini depolamak için veritabanı rolleriyle ilişkili güvenlik etiketlerini kullanır.

Gerekli güvenlik etiketini atamak ve bir Microsoft Entra nesnesiyle eşlemek için aşağıdaki SQL'i kullanın:

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

Arguments

roleName

text Microsoft Entra kimlik doğrulamasını etkinleştirmek için mevcut postgreSQL rolünün adı.

objectId

text Microsoft Entra nesnesinin benzersiz nesne tanımlayıcısı.

objectType

text user, groupveya service olarak ayarlayın (kendi hizmet kimlik bilgileri altında bağlanan uygulamalar veya yönetilen kimlikler için).

admin

text mevcut veya yok olarak ayarlayın. Güvenlik etiketinde varsa, kullanıcılar veya roller diğer Microsoft Entra Id rollerini yönetebilir.