

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

# Mengelola pengguna Amazon DocumentDB
<a name="security.managing-users"></a>

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](role_based_access_control.md). 

## Primer dan `serviceadmin` pengguna
<a name="security.managing-users-master"></a>

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 sebagai. `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 Konsol Manajemen AWS atau AWS CLI. 

## Membuat pengguna tambahan
<a name="security.managing-users-creating"></a>

Setelah Anda terhubung sebagai pengguna utama (atau pengguna mana pun yang memiliki peran`createUser`), 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](role_based_access_control.md#role_based_access_control-common_commands).

```
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](role_based_access_control.md). 

## Secara otomatis memutar kata sandi untuk Amazon DocumentDB
<a name="security.managing-users-rotating-passwords"></a>

Dengan AWS Secrets Manager, Anda dapat mengganti kredensi hardcode dalam kode Anda (termasuk kata sandi) dengan panggilan API ke 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:
+ [Blog: Cara memutar kredensi Amazon DocumentDB dan Amazon Redshift di Secrets Manager AWS](https://aws.amazon.com/blogs/security/how-to-rotate-amazon-documentdb-and-amazon-redshift-credentials-in-aws-secrets-manager/)
+ [Apa itu AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
+ [Putar AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets-documentdb.html)
+ [Kredensi Amazon DocumentDB di Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_secret_json_structure.html#reference_secret_json_structure_docdb)