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: