Aracılığıyla paylaş


PostgreSQL için Azure Cosmos DB ile Microsoft Entra Id ve PostgreSQL kimlik doğrulaması

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Cosmos DB (PostgreSQL'e citus veritabanı uzantısıyla desteklenir)

PostgreSQL için Azure Cosmos DB, PostgreSQL kimlik doğrulamasını ve Microsoft Entra Id ile tümleştirmeyi destekler. PostgreSQL için Her Azure Cosmos DB kümesi, yerel PostgreSQL kimlik doğrulaması etkinleştirilmiş ve adlı citusyerleşik bir PostgreSQL rolüyle oluşturulur. Küme sağlama tamamlandıktan sonra daha fazla yerel PostgreSQL rolü ekleyebilirsiniz.

PostgreSQL kimlik doğrulama yöntemine ek olarak veya bunun yerine bir kümede Microsoft Entra Id (eski adı Azure Active Directory) kimlik doğrulamasını etkinleştirebilirsiniz. PostgreSQL için Azure Cosmos DB kümelerinde kimlik doğrulama yöntemlerini bağımsız olarak yapılandırabilirsiniz. Kimlik doğrulama yöntemini değiştirmeniz gerekiyorsa, küme sağlama tamamlandıktan sonra istediğiniz zaman bunu yapabilirsiniz. Kimlik doğrulama yöntemlerinin değiştirilmesi kümenin yeniden başlatılmasını gerektirmez.

PostgreSQL kimlik doğrulaması

PostgreSQL altyapısı, veritabanı nesnelerine erişimi denetlemek için rolleri kullanır. Yeni oluşturulan PostgreSQL için Azure Cosmos DB kümesi önceden tanımlanmış birkaç rolle birlikte gelir:

PostgreSQL için Azure Cosmos DB yönetilen bir PaaS hizmeti olduğundan süper kullanıcı rolüyle postgres yalnızca Microsoft oturum açabilir. Sınırlı yönetim erişimi için PostgreSQL için Azure Cosmos DB rolü sağlar citus .

Yönetilen hizmetin tüm PostgreSQL rollerini bir kümedeki tüm düğümlere çoğaltması gerekir. Bu gereksinimi kolaylaştırmak için diğer tüm PostgreSQL rollerinin PostgreSQL için Azure Cosmos DB yönetim özellikleri kullanılarak oluşturulması gerekir.

Citus rolü

Rol için citus izinler:

  • Tüm yapılandırma değişkenlerini, hatta normalde yalnızca süper kullanıcılara görünen değişkenleri okuyun.
  • Tüm pg_stat_* görünümleri okuyun ve istatistikle ilgili çeşitli uzantıları (hatta görünümler veya uzantılar normalde yalnızca süper kullanıcılar tarafından görülebilir) kullanın.
  • Access SHARE kilitlerini tablolarda uzun süre alabilen izleme işlevlerini yürütebilirsiniz.
  • PostgreSQL uzantıları oluşturun.

Özellikle, rolün citus bazı kısıtlamaları vardır:

  • Roller oluşturulamıyor
  • Veritabanları oluşturulamıyor

citus rol silinemez, ancak kümede 'Yalnızca Microsoft Entra Id kimlik doğrulaması' kimlik doğrulama yöntemi seçilirse devre dışı bırakılabilir.

Microsoft Entra Id kimlik doğrulaması

Microsoft Entra Id (eski adıYla Azure Active Directory) kimlik doğrulaması, Microsoft Entra ID'de tanımlanan kimlikleri kullanarak PostgreSQL için Azure Cosmos DB'ye bağlanma mekanizmasıdır. Microsoft Entra Id kimlik doğrulaması ile veritabanı kullanıcı kimliklerini ve diğer Microsoft hizmetleri merkezi bir konumda yönetebilirsiniz ve bu da izin yönetimini basitleştirir.

Microsoft Entra ID kullanmanın avantajları şunlardır:

  • Azure Hizmetleri genelinde kullanıcıların tekdüzen bir şekilde kimlik doğrulaması
  • Parola ilkelerinin ve parola döndürmenin tek bir yerde yönetimi
  • Microsoft Entra Id tarafından desteklenen ve parolaları depolama gereksinimini ortadan kaldırabilen birden çok kimlik doğrulaması biçimi
  • Microsoft Entra Id kimlik doğrulaması, kimlikleri veritabanı düzeyinde doğrulamak için PostgreSQL veritabanı rollerini kullanır
  • PostgreSQL için Azure Cosmos DB'ye bağlanan uygulamalar için belirteç tabanlı kimlik doğrulaması desteği

Microsoft Entra Id sorumluları için PostgreSQL erişimini yönetme

Microsoft Entra Id kimlik doğrulaması etkinleştirildiğinde ve Microsoft Entra ID sorumlusu Bir Microsoft Entra ID yöneticisi olarak eklendiğinde, hesap rolle citusaynı ayrıcalıklara sahip olur. Microsoft Entra ID yöneticisi oturum açma bilgileri bir Microsoft Entra ID kullanıcısı, Hizmet Sorumlusu veya Yönetilen Kimlik olabilir. İstediğiniz zaman birden çok Microsoft Entra ID yöneticisi yapılandırılabilir ve daha iyi denetim ve uyumluluk gereksinimleri için postgreSQL için Azure Cosmos DB kümesinde postgreSQL (parola) kimlik doğrulamasını isteğe bağlı olarak devre dışı bırakabilirsiniz.

Ayrıca, Microsoft Entra Id kimlik doğrulaması etkinleştirildikten sonra istediğiniz zaman bir kümeye herhangi bir sayıda yönetici olmayan Microsoft Entra ID rolü eklenebilir. Yönetici olmayan Microsoft Entra Id rolleri için veritabanı izinleri normal rollere benzer şekilde yönetilir.

Microsoft Entra ID kimliklerini kullanarak bağlanma

Microsoft Entra Id kimlik doğrulaması, Microsoft Entra ID kimliklerini kullanarak bir veritabanına bağlanmak için aşağıdaki yöntemleri destekler:

  • Microsoft Entra Id Parolası
  • Microsoft Entra Id tümleşik
  • MFA ile Microsoft Entra ID Universal
  • Microsoft Entra Id Uygulama sertifikalarını veya istemci gizli dizilerini kullanma
  • Yönetilen Kimlik

Microsoft Entra Kimliği'ne göre kimlik doğrulaması yaptıktan sonra bir belirteç alırsınız. Bu belirteç, oturum açmak için parolanızdır.

Dikkat edilecek diğer noktalar

  • PostgreSQL için Azure Cosmos DB kümesi için microsoft Entra ID yöneticisi olarak herhangi bir zamanda birden çok Microsoft Entra ID sorumlusu (kullanıcı, hizmet sorumlusu veya yönetilen kimlik) yapılandırılabilir.
  • Microsoft Entra Id sorumlusu Microsoft Entra ID hizmetinden silinirse, kümede postgreSQL rolü olarak kalır, ancak artık yeni erişim belirteci alamaz. Bu durumda, eşleşen rol Postgres veritabanında hala mevcut olsa da küme düğümlerinde kimlik doğrulaması yapamaz. Veritabanı yöneticilerinin sahipliği aktarması ve bu rolleri el ile bırakması gerekir.

Not

Silinen Microsoft Entra ID kullanıcısıyla oturum açma işlemi, belirtecin süresi dolana kadar (belirtecin verilmesinden itibaren en fazla 90 dakika) yapılabilir. Kullanıcıyı PostgreSQL için Azure Cosmos DB kümesinden de kaldırırsanız bu erişim hemen iptal edilir.

  • PostgreSQL için Azure Cosmos DB, kullanıcı adı yerine kullanıcının benzersiz Microsoft Entra Id kullanıcı kimliğini kullanarak erişim belirteçlerini veritabanı rolüyle eşleştirir. Microsoft Entra Id kullanıcısı silinirse ve aynı ada sahip yeni bir kullanıcı oluşturulursa PostgreSQL için Azure Cosmos DB farklı bir kullanıcı olduğunu kabul eder. Bu nedenle, bir kullanıcı Microsoft Entra Id'den silinirse ve aynı ada sahip yeni bir kullanıcı eklenirse, yeni kullanıcı mevcut role bağlanamaz.

Sonraki adımlar