Mengelola pengguna Amazon DocumentDB - Amazon DocumentDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengelola pengguna Amazon DocumentDB

Di Amazon DocumentDB, pengguna mengautentikasi ke klaster bersama dengan kata sandi. Setiap cluster memiliki kredenal masuk utama yang dibuat selama pembuatan klaster.

catatan

Semua pengguna baru yang dibuat sebelum 26 Maret 2020 telah diberikan peran dbAdminAnyDatabase, readWriteAnyDatabase, dan clusterAdmin. Sebaiknya Anda mengevaluasi kembali semua pengguna dan mengubah peran seperlunya untuk menerapkan hak istimewa paling sedikit untuk semua pengguna di klaster Anda.

Untuk informasi selengkapnya, lihat Akses database menggunakan Kontrol Akses Berbasis Peran.

Primer dan serviceadmin pengguna

Cluster Amazon DocumentDB yang baru dibuat memiliki dua pengguna: pengguna utama dan pengguna. serviceadmin

Pengguna utama adalah pengguna tunggal yang memiliki hak istimewa yang dapat melakukan tugas administratif dan membuat pengguna tambahan dengan peran. Saat Anda tersambung ke klaster Amazon DocumentDB untuk pertama kalinya, Anda harus mengautentikasi menggunakan kredenal masuk utama. Pengguna utama menerima izin administratif ini untuk klaster Amazon DocumentDB saat klaster tersebut dibuat, dan diberi peran. root

Pengguna serviceadmin dibuat secara implisit saat klaster dibuat. Setiap cluster Amazon DocumentDB memiliki pengguna serviceadmin yang AWS menyediakan kemampuan untuk mengelola cluster Anda. Anda tidak dapat masuk sebagai, menjatuhkan, mengganti nama, mengubah kata sandi, atau mengubah izin untuk serviceadmin. Setiap upaya untuk melakukannya menghasilkan kesalahan.

catatan

Primer dan serviceadmin pengguna untuk klaster Amazon DocumentDB tidak dapat dihapus dan peran root untuk pengguna utama tidak dapat dicabut.

Jika Anda lupa kata sandi pengguna utama Anda, Anda dapat mengatur ulang menggunakan AWS Management Console atau AWS CLI.

Membuat pengguna tambahan

Setelah Anda terhubung sebagai pengguna utama (atau pengguna mana pun yang memiliki perancreateUser), Anda dapat membuat pengguna baru, seperti yang ditunjukkan di bawah ini.

db.createUser( { user: "sample-user-1", pwd: "password123", roles: [{"db":"admin", "role":"dbAdminAnyDatabase" }] } )

Untuk melihat detail pengguna, Anda dapat menggunakan perintah show users sebagai berikut. Anda juga dapat menghapus pengguna dengan perintah dropUser. Untuk informasi selengkapnya, lihat Perintah umum.

show users { "_id" : "serviceadmin", "user" : "serviceadmin", "db" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ] }, { "_id" : "myPrimaryUser", "user" : "myPrimaryUser", "db" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ] }, { "_id" : "sample-user-1", "user" : "sample-user-1", "db" : "admin", "roles" : [ { "role" : "dbAdminAnyDatabase", "db" : "admin" } ] }

Dalam contoh di atas, pengguna baru sample-user-1 dikaitkan dengan basis data admin. Hal ini selalu terjadi bagi pengguna baru. Amazon DocumentDB tidak memiliki konsep authenticationDatabase dan dengan demikian semua autentikasi dilakukan dalam konteks basis data admin.

Saat membuat pengguna, jika Anda menghilangkan bidang db saat menentukan peran, Amazon DocumentDB akan secara implisit mengaitkan peran tersebut ke basis data tempat koneksi diterbitkan. Misalnya, jika koneksi Anda dikeluarkan terhadap basis data sample-database dan Anda menjalankan perintah berikut, pengguna sample-user-2 akan dibuat di basis data admin dan akan memiliki izin readWrite ke basis data sample-database.

db.createUser( { user: "sample-user-2", pwd: "password123", roles: ["readWrite"] } )

Membuat pengguna dengan peran yang dicakup di semua basis data (misalnya, readInAnyDatabase) mengharuskan Anda berada dalam konteks basis data admin saat membuat pengguna atau Anda secara eksplisit menyatakan basis data untuk peran saat membuat pengguna.

Untuk mengganti konteks dari basis data Anda, Anda dapat menggunakan perintah berikut.

use admin

Untuk mempelajari selengkapnya tentang Kontrol Akses Berbasis Peran dan menerapkan hak istimewa paling rendah di antara pengguna di klaster Anda, lihat Akses database menggunakan Kontrol Akses Berbasis Peran.

Secara otomatis memutar kata sandi untuk Amazon DocumentDB

Dengan AWS Secrets Manager, Anda dapat mengganti kredensi hardcode dalam kode Anda (termasuk kata sandi) dengan panggilan ke API Secrets Manager untuk mengambil rahasia secara terprogram. Ini membantu memastikan bahwa rahasia tidak dapat dikompromikan oleh seseorang yang memeriksa kode Anda, karena rahasianya tidak ada di sana. Selain itu, Anda dapat mengonfigurasi Secrets Manager untuk merotasi rahasia secara otomatis sesuai dengan jadwal yang Anda tentukan. Ini memungkinkan Anda mengganti rahasia jangka panjang dengan rahasia jangka pendek, yang membantu mengurangi risiko kompromi secara signifikan.

Menggunakan Secrets Manager, Anda dapat secara otomatis memutar kata sandi Amazon DocumentDB Anda (yaitu, rahasia) menggunakan fungsi AWS Lambda yang disediakan Secrets Manager.

Untuk informasi selengkapnya tentang AWS Secrets Manager dan integrasi asli dengan Amazon DocumentDB, lihat berikut ini: