PostgreSQL için Azure Veri Tabanı esnek sunucuda kullanıcıları yönetme

Bu makalede, PostgreSQL için Azure Veri Tabanı esnek sunucuda nasıl kullanıcı oluşturulacağı açıklanır.

Azure abonelik kullanıcılarını ve ayrıcalıklarını oluşturmayı ve yönetmeyi öğrenmek için rol tabanlı erişim denetimi (Azure RBAC) Azure makalesine bakın veya rolleri özelleştirmeyi gözden geçirin.

Sunucu yöneticisi hesabı

PostgreSQL için Azure Veri Tabanı esnek sunucunuzu ilk oluşturduğunuzda, bir sunucu yöneticisi kullanıcı adı ve parolası sağlarsınız. Daha fazla bilgi için adım adım yaklaşımı görmek için bkz. PostgreSQL için Azure Veritabanı oluşturma . Sunucu yöneticisi kullanıcı adı özel bir ad olduğundan, seçilen sunucu yöneticisi kullanıcı adını Azure portalından bulabilirsiniz.

PostgreSQL için Azure Veri Tabanı esnek sunucusu üç varsayılan rol tanımlı olarak oluşturulur. Komutunu çalıştırarak bu rolleri görebilirsiniz: SELECT rolname FROM pg_roles;

  • azure_pg_admin
  • azuresu
  • sunucu yöneticisi kullanıcınız

Sunucu yöneticisi kullanıcınız azure_pg_admin rolünün bir üyesidir. Ancak, sunucu yöneticisi hesabı azuresu rolünün bir parçası değildir. Bu hizmet yönetilen bir PaaS hizmeti olduğundan, yalnızca Microsoft süper kullanıcı rolünün bir parçasıdır.

PostgreSQL altyapısı, PostgreSQL ürün belgelerinde açıklandığı gibi veritabanı nesnelerine erişimi denetlemek için ayrıcalıkları kullanır. PostgreSQL için Azure Veritabanı'nda sunucu yöneticisi kullanıcıya şu ayrıcalıklar verilir:

  • Oturum aç, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE

Daha fazla kullanıcı oluşturmak ve bu kullanıcılara azure_pg_admin rolü vermek için sunucu yöneticisi kullanıcı hesabını kullanın. Ayrıca, tek tek veritabanlarına ve şemalara erişimi olan daha az ayrıcalıklı kullanıcılar ve roller oluşturmak için sunucu yöneticisi hesabını kullanın.

PostgreSQL için Azure Veritabanı'nda daha fazla yönetici kullanıcı oluşturma

  1. Bağlantı bilgilerini ve yönetici kullanıcı adını alın. PostgreSQL için Azure Veri Tabanı esnek sunucunuza bağlanmak için tam sunucu adına ve yönetici oturum açma kimlik bilgilerine ihtiyacınız vardır. Sunucu adını ve oturum açma bilgilerini Azure portalındaki Sunucu Genel Bakış sayfasından veya Özellikler sayfasından kolayca bulabilirsiniz.

  2. PostgreSQL için Azure Veri Tabanı esnek sunucunuza bağlanmak için yönetici hesabını ve parolasını kullanın. pgAdmin veya psql gibi tercih ettiğiniz istemci aracını kullanın. Nasıl bağlanacağınız konusunda emin değilseniz bkz. PostgreSQL için Azure Veritabanı oluşturma.

  3. Aşağıdaki SQL kodunu düzenleyin ve çalıştırın. Yeni kullanıcı adınızı yer tutucu değeriyle <new_user>değiştirin ve yer tutucu parolasını kendi güçlü parolanızla değiştirin.

    CREATE USER <new_user> CREATEDB CREATEROLE PASSWORD '<StrongPassword!>';
    
    GRANT azure_pg_admin TO <new_user>;
    

PostgreSQL için Azure Veritabanı'nda veritabanı kullanıcıları oluşturma

  1. Bağlantı bilgilerini ve yönetici kullanıcı adını alın. PostgreSQL için Azure Veri Tabanı esnek sunucunuza bağlanmak için tam sunucu adına ve yönetici oturum açma kimlik bilgilerine ihtiyacınız vardır. Sunucu adını ve oturum açma bilgilerini Azure portalındaki Sunucu Genel Bakış sayfasından veya Özellikler sayfasından kolayca bulabilirsiniz.

  2. PostgreSQL için Azure Veri Tabanı esnek sunucunuza bağlanmak için yönetici hesabını ve parolasını kullanın. pgAdmin veya psql gibi tercih ettiğiniz istemci aracını kullanın.

  3. Aşağıdaki SQL kodunu düzenleyin ve çalıştırın. <db_user> yer tutucu değerini istediğiniz yeni kullanıcı adınızla, <newdb> yer tutucu değerini ise kendi veritabanınızın adıyla değiştirin. Yer tutucu parolasını kendi güçlü parolanızla değiştirin.

    Bu SQL kodu yeni bir veritabanı oluşturur, ardından PostgreSQL için Azure Veri Tabanı esnek sunucusunda yeni bir kullanıcı oluşturur ve bu kullanıcı için yeni veritabanına bağlanma ayrıcalığı verir.

    CREATE DATABASE <newdb>;
    
    CREATE USER <db_user> PASSWORD '<StrongPassword!>';
    
    GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
    
  4. Bir yönetici hesabı kullanarak, veritabanındaki nesnelerin güvenliğini sağlamak için başka ayrıcalıklar vermeniz gerekebilir. Veritabanı rolleri ve ayrıcalıkları hakkında daha fazla bilgi için PostgreSQL belgelerine bakın. Örneğin:

    GRANT ALL PRIVILEGES ON DATABASE <newdb> TO <db_user>;
    

    Kullanıcı bir "rol" tablosu oluşturursa, tablo bu kullanıcıya aittir. Başka bir kullanıcının tabloya erişmesi gerekiyorsa, tablo düzeyinde diğer kullanıcıya ayrıcalıklar vermelisiniz.

    Örneğin:

    GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
    
  5. Yeni kullanıcı adı ve parolayı kullanarak, belirlenen veritabanını belirterek sunucunuzda oturum açın. Bu örnekte psql komut satırı gösterilmektedir. Bu komutla, kullanıcı adı için parola istenir. Kendi sunucu adınızı, veritabanı adınızı ve kullanıcı adınızı değiştirin.

    psql --host=mydemoserver.postgres.database.azure.com --port=5432 --username=db_user --dbname=newdb