Mengelola pengguna di server fleksibel Azure Database for PostgreSQL

Artikel ini menjelaskan cara membuat pengguna dalam server fleksibel Azure Database for PostgreSQL.

Untuk mempelajari cara membuat dan mengelola pengguna langganan Azure dan hak istimewa mereka, lihat artikel Azure kontrol akses berbasis peran (Azure RBAC) atau tinjau cara menyesuaikan peran.

Akun administrator untuk server

Saat pertama kali membuat server fleksibel Azure Database for PostgreSQL, Anda menyediakan nama pengguna dan kata sandi admin server. Untuk informasi selengkapnya, lihat Membuat Azure Database for PostgreSQL untuk melihat pendekatan langkah demi langkah. Karena nama pengguna admin server adalah nama kustom, Anda dapat menemukan nama pengguna admin server yang dipilih dari portal Azure.

Server fleksibel Azure Database for PostgreSQL dibuat dengan tiga peran default yang ditentukan. Anda dapat melihat peran ini dengan menjalankan perintah: SELECT rolname FROM pg_roles;

  • azure_pg_admin
  • azuresu
  • pengguna admin server Anda

Pengguna admin server Anda adalah anggota peran azure_pg_admin. Namun, akun admin server bukan bagian dari peran azuresu. Karena layanan ini adalah layanan PaaS terkelola, hanya Microsoft yang merupakan bagian dari peran pengguna super.

Mesin PostgreSQL menggunakan hak istimewa untuk mengontrol akses ke objek database, seperti yang dibahas dalam dokumentasi produk PostgreSQL. Di Azure Database for PostgreSQL, pengguna admin server diberikan hak istimewa ini:

  • Masuk, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE

Gunakan akun pengguna admin server untuk membuat lebih banyak pengguna dan memberi pengguna tersebut peran azure_pg_admin. Selain itu, gunakan akun admin server untuk membuat pengguna dan peran yang kurang istimewa yang memiliki akses ke database dan skema individual.

Cara membuat lebih banyak pengguna admin di Azure Database for PostgreSQL

  1. Dapatkan informasi koneksi dan nama pengguna admin. Anda memerlukan nama server lengkap dan info masuk admin untuk menyambungkan ke server fleksibel Azure Database for PostgreSQL Anda. Anda dapat dengan mudah menemukan nama server dan informasi masuk dari halaman Gambaran Umum server atau halaman Properti di portal Microsoft Azure.

  2. Gunakan akun admin dan kata sandi untuk menyambungkan ke server fleksibel Azure Database for PostgreSQL Anda. Gunakan alat klien pilihan Anda, seperti pgAdmin atau psql. Jika Anda tidak yakin tentang cara menyambungkan, lihat Membuat Azure Database for PostgreSQL.

  3. Edit dan jalankan kode SQL berikut. Ganti nama pengguna baru Anda dengan nilai <new_user>tempat penampung , dan ganti kata sandi tempat penampung dengan kata sandi kuat Anda sendiri.

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

Cara membuat pengguna database di Azure Database for PostgreSQL

  1. Dapatkan informasi koneksi dan nama pengguna admin. Anda memerlukan nama server lengkap dan info masuk admin untuk menyambungkan ke server fleksibel Azure Database for PostgreSQL Anda. Anda dapat dengan mudah menemukan nama server dan informasi masuk dari halaman Gambaran Umum server atau halaman Properti di portal Microsoft Azure.

  2. Gunakan akun admin dan kata sandi untuk menyambungkan ke server fleksibel Azure Database for PostgreSQL Anda. Gunakan alat klien pilihan Anda, seperti pgAdmin atau psql.

  3. Edit dan jalankan kode SQL berikut. Ganti nilai placeholder <db_user> dengan nama pengguna baru yang Anda inginkan, dan nilai placeholder <newdb> dengan nama basis data Anda sendiri. Ganti kata sandi default dengan kata sandi kuat Anda sendiri.

    Kode SQL ini membuat database baru, lalu membuat pengguna baru di server fleksibel Azure Database for PostgreSQL dan memberikan hak istimewa koneksi ke database baru untuk pengguna tersebut.

    CREATE DATABASE <newdb>;
    
    CREATE USER <db_user> PASSWORD '<StrongPassword!>';
    
    GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
    
  4. Dengan menggunakan akun admin, Anda mungkin perlu memberikan hak istimewa lain untuk mengamankan objek dalam database. Lihat dokumentasi PostgreSQL untuk detail lebih lanjut tentang peran dan hak istimewa database. Contohnya:

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

    Jika pengguna membuat tabel "peran", tabel milik pengguna tersebut. Jika pengguna lain memerlukan akses ke tabel, Anda harus memberikan hak istimewa kepada pengguna lain di tingkat tabel.

    Contohnya:

    GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
    
  5. Masuk ke server Anda, menentukan database yang ditunjuk, menggunakan nama pengguna dan kata sandi baru. Contoh ini menunjukkan baris perintah psql. Dengan perintah ini, Anda akan dimintai kata sandi untuk nama pengguna. Ganti nama server, nama database, dan nama pengguna Anda sendiri.

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