

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

# Keamanan di Amazon RDS Aurora
<a name="UsingWithRDS"></a>

Keamanan cloud di AWS adalah prioritas tertinggi. Sebagai AWS pelanggan, Anda mendapat manfaat dari pusat data dan arsitektur jaringan yang dibangun untuk memenuhi persyaratan organisasi yang paling sensitif terhadap keamanan.

Keamanan adalah tanggung jawab bersama antara Anda AWS dan Anda. [Model tanggung jawab bersama](https://aws.amazon.com/compliance/shared-responsibility-model/) menggambarkan hal ini sebagai keamanan *dari* cloud dan keamanan *di* cloud:
+  **Keamanan cloud** — AWS bertanggung jawab untuk melindungi infrastruktur yang menjalankan AWS layanan di AWS Cloud. AWS juga memberi Anda layanan yang dapat Anda gunakan dengan aman. Auditor pihak ketiga secara berkala menguji dan memverifikasi efektivitas keamanan kami sebagai bagian dari [Program kepatuhan AWS](https://aws.amazon.com/compliance/programs/). Untuk mempelajari tentang program kepatuhan yang berlaku untuk Amazon RDS Amazon ), [AWS lihat layanan dalam](https://aws.amazon.com/compliance/services-in-scope/) cakupan berdasarkan program kepatuhan. 
+  **Keamanan di cloud** — Tanggung jawab Anda ditentukan oleh AWS layanan yang Anda gunakan. Anda juga bertanggung jawab atas faktor lain, termasuk sensitivitas data, persyaratan perusahaan, serta hukum dan peraturan yang berlaku. 

Dokumentasi ini membantu Anda memahami cara menerapkan model tanggung jawab bersama saat menggunakan Amazon RDS  Aurora. Topik berikut menunjukkan cara mengonfigurasi Amazon RDS  Aurora untuk memenuhi tujuan keamanan dan kepatuhan Anda. Anda juga mempelajari cara menggunakan AWS layanan lain yang membantu Anda memantau dan mengamankan sumber daya Amazon Aurora  RDS Anda. 

 Metode yang Anda gunakan untuk mengelola akses bergantung pada jenis tugas apa yang perlu dilakukan pengguna dengan Amazon RDS  Aurora: 
+ Jalankan instans DB Anda di cloud pribadi virtual (VPC) berdasarkan layanan Amazon VPC untuk kontrol akses jaringan sebaik mungkin. Untuk informasi selengkapnya tentang membuat instans DB di VPC, lihat. [Amazon VPC dan RDSAmazon ](USER_VPC.md)
+ Gunakan kebijakan AWS Identity and Access Management (IAM) untuk menetapkan izin yang menentukan siapa yang diizinkan mengelola sumber daya Amazon RDS Amazon . Misalnya, Anda dapat menggunakan IAM untuk menentukan siapa yang diizinkan membuat, mendeskripsikan, memodifikasi, dan menghapus instans DB, menandai sumber daya, atau memodifikasi grup keamanan.
+  Saat pertama kali membuat instans DB, firewall-nya mencegah akses database apa pun kecuali melalui aturan yang ditentukan oleh grup keamanan terkait. 
+  Gunakan koneksi Lapisan Soket Aman (SSL) atau Keamanan Lapisan Pengangkutan (TLS) dengan instans DB yang menjalankan mesin basis data Db2, MySQL, MariaDB, PostgreSQL, Oracle, atau Microsoft SQL Server. Untuk informasi selengkapnya tentang penggunaan SSL/TLS dengan instans DB, lihat[](UsingWithRDS.SSL.md).
+ Gunakan enkripsi Amazon Aurora RDS Amazon untuk mengamankan Anda saat istirahat.  Untuk informasi selengkapnya, lihat [Mengenkripsi sumber daya Amazon RDS](Overview.Encryption.md).
+ Gunakan enkripsi jaringan dan enkripsi data transparan dengan instans DB Oracle; untuk informasi selengkapnya, lihat [Enkripsi jaringan asli Oracle](Appendix.Oracle.Options.NetworkEncryption.md) dan [Enkripsi Data Transparan Oracle](Appendix.Oracle.Options.AdvSecurity.md) 
+ Gunakan fitur keamanan mesin DB Anda untuk mengontrol siapa yang dapat masuk ke database pada instans DB. Fitur ini berfungsi seolah-olah basis data berada di jaringan lokal Anda. 

**catatan**  
Anda hanya perlu mengonfigurasikan keamanan untuk kasus penggunaan Anda. Anda tidak perlu mengonfigurasi akses keamanan untuk proses yang dikelola Amazon RDS. Ini termasuk membuat cadangan, mereplikasi data antara instans DB utama dan replika baca, dan proses lainnya.

Untuk informasi selengkapnya tentang mengelola akses ke sumber daya Amazon RDS Aurora dan database Anda di cluster DB, lihat topik berikut.

**Topics**
+ [

# 
](database-authentication.md)
+ [

# Manajemen kata sandi dengan Amazon RDS Aurora dan AWS Secrets Manager
](rds-secrets-manager.md)
+ [

# Perlindungan data di Amazon RDS
](DataDurability.md)
+ [

# Manajemen identitas dan akses untuk Amazon RDS
](UsingWithRDS.IAM.md)
+ [

# Pencatatan dan pemantauan di Amazon RDS
](Overview.LoggingAndMonitoring.md)
+ [

# Validasi kepatuhan untuk Amazon RDS
](RDS-compliance.md)
+ [

# Ketangguhan di Amazon RDS
](disaster-recovery-resiliency.md)
+ [

# Keamanan infrastruktur di Amazon RDS
](infrastructure-security.md)
+ [

# API Amazon RDS dan titik akhir VPC antarmuka (AWS PrivateLink)
](vpc-interface-endpoints.md)
+ [

# Praktik terbaik keamanan untuk Amazon RDS Aurora
](CHAP_BestPractices.Security.md)
+ [

# Mengontrol akses dengan grup keamanan
](Overview.RDSSecurityGroups.md)
+ [

# Hak akses akun pengguna master
](UsingWithRDS.MasterAccounts.md)
+ [

# Menggunakan peran terkait layanan untuk Amazon RDS
](UsingWithRDS.IAM.ServiceLinkedRoles.md)
+ [

# Amazon VPC dan RDSAmazon
](USER_VPC.md)

# 
<a name="database-authentication"></a>

 Amazon RDS Aurora mendukung beberapa cara untuk mengautentikasi pengguna database.

Autentikasi kata sandi, Kerberos, dan basis data IAM menggunakan metode autentikasi yang berbeda ke basis data. Oleh karena itu, pengguna tertentu dapat masuk ke basis data dengan menggunakan hanya satu metode autentikasi. 

Untuk PostgreSQL, gunakan hanya salah satu dari setelah peran berikut untuk pengguna basis data tertentu: 
+ Untuk menggunakan autentikasi basis data IAM, tetapkan peran `rds_iam` untuk pengguna.
+ Untuk menggunakan autentikasi Kerberos, tetapkan peran `rds_ad` untuk pengguna.
+ Untuk menggunakan autentikasi kata sandi, jangan tetapkan peran `rds_iam` atau `rds_ad` untuk pengguna.

Jangan tetapkan kedua peran `rds_iam` dan `rds_ad` untuk pengguna basis data PostgreSQL baik secara langsung maupun tidak langsung dengan akses pemberian bersarang. Jika peran `rds_iam` ditambahkan ke pengguna master, autentikasi IAM diutamakan atas autentikasi kata sandi sehingga pengguna master harus masuk sebagai pengguna IAM.

**penting**  
Sebaiknya jangan gunakan pengguna master secara langsung di aplikasi Anda. Sebagai gantinya, ikuti praktik terbaik penggunaan pengguna basis data yang dibuat dengan privilese minimal yang diperlukan untuk aplikasi Anda.

**Topics**
+ [

## Autentikasi kata sandi
](#password-authentication)
+ [

## Autentikasi basis data IAM
](#iam-database-authentication)
+ [

## Autentikasi Kerberos
](#kerberos-authentication)

## Autentikasi kata sandi
<a name="password-authentication"></a>

Dengan *autentikasi kata sandi*, basis data Anda melakukan semua administrasi akun pengguna. Anda membuat pengguna dengan pernyataan SQL seperti `CREATE USER`, dengan klausa yang tepat yang diperlukan oleh mesin basis data untuk menentukan kata sandi. Misalnya, di MySQL pernyataannya adalah, sementara di PostgreSQL, pernyataannya `CREATE USER` *name* `IDENTIFIED BY` *password* adalah. `CREATE USER` *name* `WITH PASSWORD` *password* 

Dengan autentikasi kata sandi, basis data Anda mengendalikan dan mengautentikasi akun pengguna. Jika mesin basis data memiliki fitur pengelolaan kata sandi kuat, mesin itu dapat meningkatkan keamanan. Autentikasi basis data mungkin lebih mudah dikelola dengan menggunakan autentikasi kata sandi apabila komunitas pengguna Anda kecil. Karena kata sandi teks yang jelas dihasilkan dalam kasus ini, mengintegrasikan dengan AWS Secrets Manager dapat meningkatkan keamanan.

*Untuk informasi tentang menggunakan Secrets Manager dengan Amazon RDS Aurora, [lihat Membuat rahasia dasar](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) [dan Memutar rahasia untuk database Amazon RDS yang didukung](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets-rds.html) di Panduan Pengguna.AWS Secrets Manager * Lihat informasi tentang cara mengambil rahasia secara terprogram pada aplikasi kustom Anda di [Mengambil nilai rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_retrieve-secret.html) dalam *Panduan Pengguna AWS Secrets Manager *. 

## Autentikasi basis data IAM
<a name="iam-database-authentication"></a>

Anda dapat mengautentikasi ke instans DB Anda menggunakan otentikasi database AWS Identity and Access Management (IAM). Dengan metode otentikasi ini, Anda tidak perlu menggunakan kata sandi saat terhubung ke instans DB. Sebagai gantinya, Anda menggunakan token autentikasi.

Untuk informasi selengkapnya tentang autentikasi database IAM, termasuk informasi tentang ketersediaan untuk mesin DB tertentu, lihat. [Autentikasi basis data IAMuntuk MariaDB, MySQL, dan PostgreSQL](UsingWithRDS.IAMDBAuth.md)

## Autentikasi Kerberos
<a name="kerberos-authentication"></a>

 RDS mendukung otentikasi eksternal pengguna database menggunakan Kerberos dan Microsoft Active Directory. Kerberos adalah protokol autentikasi jaringan yang menggunakan tiket dan kriptografi kunci simetris untuk menghilangkan kebutuhan mengirim kata sandi melalui jaringan. Kerberos telah tertanam ke dalam Active Directory dan dirancang untuk mengautentikasi pengguna ke sumber daya jaringan, seperti basis data.

 Dukungan RDS untuk Kerberos dan Active Directory memberikan manfaat sistem masuk tunggal dan otentikasi terpusat dari pengguna database. Anda dapat menyimpan kredensial pengguna Anda di Active Directory.  

Untuk menggunakan kredensyal dari Active Directory yang dikelola sendiri, Anda perlu menyiapkan hubungan kepercayaan ke for Directory Service Microsoft Active Directory tempat .

 RDS untuk PostgreSQL dan RDS untuk MySQL Aurora PostgreSQL dan Aurora MySQL mendukung hubungan kepercayaan hutan .

Dalam beberapa skenario, Anda dapat mengonfigurasi otentikasi Kerberos melalui hubungan kepercayaan eksternal. Ini memerlukan Active Directory yang dikelola sendiri untuk memiliki pengaturan tambahan. Ini termasuk tetapi tidak terbatas pada Perintah [Pencarian Hutan Kerberos](https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/kfso-not-work-in-external-trust-event-is-17). 

Microsoft SQL Server dan PostgreSQL DB instance mendukung hubungan kepercayaan hutan satu arah dan dua arah. Instans Oracle DB mendukung hubungan kepercayaan eksternal dan hutan satu arah dan dua arah. Lihat informasi yang lebih lengkap di [Kapan sebaiknya menciptakan hubungan kepercayaan](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/setup_trust.html) dalam *Panduan Administrasi Directory Service *. 

Lihat informasi tentang autentikasi Kerberos dengan mesin basis data tertentu di:
+  [Bekerja dengan Direktori Aktif AWS Terkelola dengan RDS untuk SQL Server](USER_SQLServerWinAuth.md) 
+  [Menggunakan Kerberos otentikasi untuk Amazon RDS for MySQL](mysql-kerberos.md) 
+  [Mengonfigurasi autentikasi Kerberos untuk Amazon RDS for Oracle](oracle-kerberos.md) 
+  [Menggunakan autentikasi Kerberos dengan Amazon RDS for PostgreSQL](postgresql-kerberos.md) 
+  [Menggunakan Kerberos otentikasi untuk Amazon RDS untuk Db2](db2-kerberos.md) .

**catatan**  
Saat ini, autentikasi Kerberos tidak didukung untuk instans basis data MariaDB.

# Manajemen kata sandi dengan Amazon RDS Aurora dan AWS Secrets Manager
<a name="rds-secrets-manager"></a>

Amazon RDS terintegrasi dengan Secrets Manager untuk mengelola kata sandi pengguna utama untuk klaster instans DB dan DB Multi-AZ.

**Topics**
+ [

## Batasan untuk integrasi Secrets Manager dengan Amazon RDS
](#rds-secrets-manager-limitations)
+ [

## Ikhtisar mengelola kata sandi pengguna master dengan AWS Secrets Manager
](#rds-secrets-manager-overview)
+ [

## Manfaat mengelola kata sandi pengguna utama dengan Secrets Manager
](#rds-secrets-manager-benefits)
+ [

## Izin yang diperlukan untuk integrasi Secrets Manager
](#rds-secrets-manager-permissions)
+ [

## Menegakkan manajemen RDS Aurora sandi pengguna utama di AWS Secrets Manager
](#rds-secrets-manager-auth)
+ [

## Mengelola kata sandi pengguna utama untuk instans DB dengan Secrets Manager
](#rds-secrets-manager-db-instance)
+ [

## Mengelola kata sandi pengguna utama untuk RDS untuk database penyewa Oracle dengan Secrets Manager
](#rds-secrets-manager-tenant)
+ [

## Mengelola kata sandi pengguna utama untuk cluster DB multi-AZ dengan Secrets Manager
](#rds-secrets-manager-db-cluster)
+ [

## Merotasi rahasia kata sandi pengguna utama untuk instans DB
](#rds-secrets-manager-rotate-db-instance)
+ [

## Memutar rahasia kata sandi pengguna utama untuk cluster DB multi-AZ
](#rds-secrets-manager-rotate-db-cluster)
+ [

## Melihat detail tentang rahasia untuk instans DB
](#rds-secrets-manager-view-db-instance)
+ [

## Melihat detail tentang rahasia untuk cluster DB multi-AZ
](#rds-secrets-manager-view-db-cluster)
+ [

## Melihat detail tentang rahasia untuk database penyewa
](#rds-secrets-manager-view-tenant)
+ [

## Ketersediaan wilayah dan versi
](#rds-secrets-manager-availability)

## Batasan untuk integrasi Secrets Manager dengan Amazon RDS
<a name="rds-secrets-manager-limitations"></a>

Mengelola kata sandi pengguna utama dengan Secrets Manager tidak didukung untuk fitur berikut:
+ Membuat replika baca saat cluster DB atau DB sumber mengelola kredensil dengan Secrets Manager. Ini berlaku untuk semua mesin DB kecuali RDS untuk SQL Server.
+ Penerapan Amazon RDS Blue/Green 
+ Amazon RDS Custom
+ Switchover Oracle Data Guard

## Ikhtisar mengelola kata sandi pengguna master dengan AWS Secrets Manager
<a name="rds-secrets-manager-overview"></a>

Dengan AWS Secrets Manager, Anda dapat mengganti kredensi hard-code dalam kode Anda, termasuk kata sandi database, dengan panggilan API ke Secrets Manager untuk mengambil rahasia secara terprogram. Untuk informasi selengkapnya tentang Secrets Manager, lihat [Panduan Pengguna AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/). 

Ketika Anda menyimpan rahasia database di Secrets Manager, Anda akan Akun AWS dikenakan biaya. Untuk informasi tentang harga, lihat [AWS Secrets Manager Harga](https://aws.amazon.com/secrets-manager/pricing).

Anda dapat menentukan bahwa RDS mengelola kata sandi pengguna utama di Secrets Manager untuk instans DB Amazon RDS atau klaster DB Multi-AZ saat Anda melakukan salah satu operasi berikut:
+ Membuat instans DB
+ Buat cluster DB Multi-AZ
+ Buat database penyewa dalam RDS untuk Oracle CDB
+ Ubah instans basis data
+ Memodifikasi cluster DB multi-AZ
+ Ubah database penyewa (RDS hanya untuk Oracle)
+ Memulihkan instans DB dari Amazon S3
+ Kembalikan instance DB dari snapshot atau ke titik waktu (RDS hanya untuk Oracle)

Saat Anda menentukan bahwa RDS mengelola kata sandi pengguna utama di Secrets Manager, RDS menghasilkan kata sandi dan menyimpannya dalam Secrets Manager. Anda dapat berinteraksi langsung dengan rahasia untuk mengambil kredensial untuk pengguna utama. Anda juga dapat menentukan kunci yang dikelola pelanggan untuk mengenkripsi rahasia, atau menggunakan kunci KMS default yang disediakan oleh Secrets Manager.

Secara default, RDS mengelola pengaturan untuk rahasia dan merotasi rahasia setiap tujuh hari. Anda dapat mengubah beberapa pengaturan, seperti jadwal rotasi. Jika Anda menghapus instans DB yang mengelola rahasia di Secrets Manager, rahasia dan metadata terkaitnya juga akan dihapus.

Untuk terhubung ke klaster instans atau DB Multi-AZ DB dengan kredensial dalam rahasia, Anda dapat mengambil rahasia dari Secrets Manager. *Untuk informasi selengkapnya, lihat [Mengambil rahasia dari AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html) dan [Connect ke database SQL dengan kredensi dalam AWS Secrets Manager rahasia di Panduan Pengguna](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets_jdbc.html).AWS Secrets Manager * 

## Manfaat mengelola kata sandi pengguna utama dengan Secrets Manager
<a name="rds-secrets-manager-benefits"></a>

Mengelola kata sandi pengguna utama RDS dengan Secrets Manager memberikan manfaat berikut:
+ RDS secara otomatis menghasilkan kredensial basis data.
+ RDS secara otomatis menyimpan dan mengelola kredensil database di. AWS Secrets Manager
+ RDS merotasi kredensial basis data secara teratur, tanpa mewajibkan perubahan aplikasi.
+ Secrets Manager mengamankan kredensial basis data dari akses manusia dan tampilan teks biasa.
+ Secrets Manager memungkinkan pengambilan kredensial basis data rahasia untuk koneksi basis data.
+ Secrets Manager memungkinkan kontrol akses terperinci ke kredensial basis data dalam rahasia menggunakan IAM.
+ Secara opsional, Anda dapat memisahkan enkripsi basis data dari enkripsi kredensial dengan kunci KMS lainnya.
+ Anda dapat menghilangkan rotasi dan manajemen manual kredensial basis data.
+ Anda dapat memantau kredensi database dengan mudah dengan dan AWS CloudTrail Amazon. CloudWatch

Untuk informasi selengkapnya tentang manfaat Secrets Manager, lihat [Panduan Pengguna AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/).

## Izin yang diperlukan untuk integrasi Secrets Manager
<a name="rds-secrets-manager-permissions"></a>

Pengguna harus memiliki izin yang diperlukan untuk melakukan operasi yang terkait dengan integrasi Secrets Manager. Anda dapat membuat kebijakan IAM yang memberikan izin untuk melakukan operasi API tertentu pada sumber daya spesifik yang diperlukan. Kemudian, Anda dapat melampirkan kebijakan tersebut ke peran atau kumpulan izin IAM yang memerlukan izin tersebut. Untuk informasi selengkapnya, lihat [Manajemen identitas dan akses untuk Amazon RDS](UsingWithRDS.IAM.md).

Untuk membuat, memodifikasi, atau memulihkan operasi, pengguna yang menentukan bahwa Amazon RDS mengelola kata sandi pengguna utama di Secrets Manager harus memiliki izin untuk melakukan operasi berikut:
+ `kms:DescribeKey`
+ `secretsmanager:CreateSecret`
+ `secretsmanager:TagResource`

`kms:DescribeKey`Izin diperlukan untuk mengakses kunci yang dikelola pelanggan Anda untuk `MasterUserSecretKmsKeyId` dan untuk menjelaskan. `aws/secretsmanager`

Untuk membuat, memodifikasi, atau memulihkan operasi, pengguna yang menentukan kunci yang dikelola pelanggan untuk mengenkripsi rahasia dalam Secrets Manager harus memiliki izin untuk melakukan operasi berikut:
+ `kms:Decrypt`
+ `kms:GenerateDataKey`
+ `kms:CreateGrant`

Untuk mengubah operasi, pengguna yang merotasi kata sandi pengguna utama dalam Secrets Manager harus memiliki izin untuk melakukan operasi berikut:
+ `secretsmanager:RotateSecret`

## Menegakkan manajemen RDS Aurora sandi pengguna utama di AWS Secrets Manager
<a name="rds-secrets-manager-auth"></a>

Anda dapat menggunakan kunci kondisi IAM untuk menerapkan manajemen RDS kata sandi pengguna utama di AWS Secrets Manager. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": ["rds:CreateDBInstance", "rds:CreateDBCluster", "rds:RestoreDBInstanceFromS3", "rds:RestoreDBClusterFromS3",
                       "rds:RestoreDBInstanceFromDBSnapshot", "rds:RestoreDBInstanceToPointInTime", "rds:CreateTenantDatabase",
                       "rds:ModifyTenantDatabase"],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "rds:ManageMasterUserPassword": false
                }
            }
        }
    ]
}
```

------

**catatan**  
Kebijakan ini memberlakukan manajemen kata sandi pada AWS Secrets Manager saat pembuatan. Namun, Anda masih dapat menonaktifkan integrasi Secrets Manager dan mengatur kata sandi utama secara manual dengan mengubah instans.  
Untuk mencegahnya, sertakan `rds:ModifyDBInstance`, `rds:ModifyDBCluster` dalam blok tindakan kebijakan. Perhatikan bahwa tindakan ini akan mencegah pengguna menerapkan perubahan lebih lanjut pada instans yang ada yang Secrets Manager-nya tidak diaktifkan. 

Untuk informasi lebih lanjut tentang penggunaan kunci kondisi dalam kebijakan IAM, lihat [Kunci kondisi kebijakan untuk Amazon RDS](security_iam_service-with-iam.md#UsingWithRDS.IAM.Conditions) dan [Contoh Kebijakan: Menggunakan kunci kondisi](UsingWithRDS.IAM.Conditions.Examples.md).

## Mengelola kata sandi pengguna utama untuk instans DB dengan Secrets Manager
<a name="rds-secrets-manager-db-instance"></a>

Anda dapat mengonfigurasi manajemen RDS kata sandi pengguna utama di Secrets Manager saat Anda melakukan tindakan berikut:
+ [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md)
+ [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md)
+ [Memulihkan cadangan ke instans Amazon RDS for MySQL DB](MySQL.Procedural.Importing.md)
+ [Memulihkan ke instans DB](USER_RestoreFromSnapshot.md)(RDS hanya untuk Oracle)
+ [Memulihkan instans DB ke waktu yang ditentukan untuk Amazon RDS](USER_PIT.md)(RDS hanya untuk Oracle)

Anda dapat melakukan operasi sebelumnya menggunakan konsol RDS, API AWS CLI, atau RDS.

### Konsol
<a name="rds-secrets-manager-db-instance-console"></a>

Ikuti petunjuk untuk membuat atau mengubah instans DB dengan konsol RDS:
+ [Membuat instans DB](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)
+ [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md)
+ [Mengimpor data dari Amazon S3 ke instans DB MySQL baru](MySQL.Procedural.Importing.md#MySQL.Procedural.Importing.PerformingImport)

Saat menggunakan konsol RDS untuk melakukan salah satu operasi ini, Anda dapat menentukan bahwa kata sandi pengguna utama dikelola oleh RDS di Secrets Manager. **Saat Anda membuat atau memulihkan instans DB, pilih **Kelola kredenal master di AWS Secrets Manager dalam pengaturan Kredenal**.** **Saat Anda memodifikasi instans DB, pilih **Kelola kredenal master di AWS Secrets Manager Pengaturan.****

Gambar berikut adalah contoh pengaturan **Kelola kredensial utama di AWS Secrets Manager** saat Anda membuat atau memulihkan instans DB.

![\[Kelola kredensi master di AWS Secrets Manager\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/secrets-manager-credential-settings-db-instance.png)


Saat Anda memilih opsi ini, RDS akan menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus pemakaiannya di Secrets Manager.

![\[Mengelola kredensi master dalam pilihan AWS Secrets Manager\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-create-db-instance.png)


Anda dapat memilih untuk mengenkripsi rahasia dengan kunci KMS yang disediakan Secrets Manager atau dengan kunci yang dikelola pelanggan yang Anda buat. Setelah RDS mengelola kredensi database untuk instance DB, Anda tidak dapat mengubah kunci KMS yang digunakan untuk mengenkripsi rahasia.

Anda dapat memilih pengaturan lain untuk memenuhi kebutuhan Anda. Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda membuat instans DB, lihat[Pengaturan untuk instans DB](USER_CreateDBInstance.Settings.md). Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda memodifikasi instans DB, lihat[Pengaturan untuk instans DB](USER_ModifyInstance.Settings.md).

### AWS CLI
<a name="rds-secrets-manager-db-instance-cli"></a>

Untuk mengelola kata sandi pengguna master dengan RDS di Secrets Manager, tentukan `--manage-master-user-password` opsi di salah satu AWS CLI perintah berikut:
+ [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)
+ [restore-db-instance-from-s3](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html)
+ [restore-db-instance-from-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) (RDS hanya untuk Oracle)
+ [restore-db-instance-to- point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) (RDS hanya untuk Oracle)

Jika Anda memilih opsi `--manage-master-user-password` dalam perintah ini, RDS akan menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus pemakaiannya di Secrets Manager.

Untuk mengenkripsi rahasia, Anda dapat menentukan kunci yang dikelola pelanggan atau menggunakan kunci KMS default yang disediakan oleh Secrets Manager. Gunakan opsi `--master-user-secret-kms-key-id` untuk menentukan kunci yang dikelola pelanggan. Pengidentifikasi kunci AWS KMS adalah kunci ARN, ID kunci, alias ARN, atau nama alias untuk kunci KMS. Untuk menggunakan kunci KMS yang berbeda Akun AWS, tentukan kunci ARN atau alias ARN. Setelah RDS mengelola kredensial basis data untuk instans DB, Anda tidak dapat mengubah kunci KMS yang digunakan untuk mengenkripsi rahasia.

Anda dapat memilih pengaturan lain untuk memenuhi kebutuhan Anda. Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda membuat instans DB, lihat [Pengaturan untuk instans DB](USER_CreateDBInstance.Settings.md). Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda mengubah instans DB, lihat [Pengaturan untuk instans DB](USER_ModifyInstance.Settings.md).

Contoh berikut membuat instance DB dan menentukan bahwa RDS  mengelola kata sandi pengguna master di Secrets Manager. Rahasianya dienkripsi menggunakan kunci KMS yang disediakan oleh Secrets Manager.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --engine mysql \
4.     --engine-version 8.0.39 \
5.     --db-instance-class db.r5b.large \
6.     --allocated-storage 200 \
7.     --master-username testUser \
8.     --manage-master-user-password
```
Untuk Windows:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --engine mysql ^
4.     --engine-version 8.0.39 ^
5.     --db-instance-class db.r5b.large ^
6.     --allocated-storage 200 ^
7.     --master-username testUser ^
8.     --manage-master-user-password
```

### RDS API
<a name="rds-secrets-manager-db-instance-api"></a>

Untuk menentukan bahwa RDS mengelola kata sandi pengguna utama di Secrets Manager, atur parameter `ManageMasterUserPassword` ke `true` di salah satu operasi RDS API berikut:
+ [Buat DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [Memodifikasi DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html)
+ [Kembalikan DBInstance dari3](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)
+ [Pulihkan DBInstance FromSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromSnapshot.html) (RDS hanya untuk Oracle)
+ [Pulihkan DBInstance ToPointInTime](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html) (RDS hanya untuk Oracle)

Jika Anda mengatur parameter `ManageMasterUserPassword` ke `true` di salah satu operasi ini, RDS akan menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus pemakaiannya di Secrets Manager.

Untuk mengenkripsi rahasia, Anda dapat menentukan kunci yang dikelola pelanggan atau menggunakan kunci KMS default yang disediakan oleh Secrets Manager. Gunakan parameter `MasterUserSecretKmsKeyId` untuk menentukan kunci yang dikelola pelanggan. Pengidentifikasi kunci AWS KMS adalah kunci ARN, ID kunci, alias ARN, atau nama alias untuk kunci KMS. Untuk menggunakan kunci KMS di Akun AWS yang berbeda, tentukan ARN kunci atau ARN alias. Setelah RDS mengelola kredensial basis data untuk instans DB, Anda tidak dapat mengubah kunci KMS yang digunakan untuk mengenkripsi rahasia.

## Mengelola kata sandi pengguna utama untuk RDS untuk database penyewa Oracle dengan Secrets Manager
<a name="rds-secrets-manager-tenant"></a>

Anda dapat mengonfigurasi manajemen RDS kata sandi pengguna utama di Secrets Manager saat Anda melakukan tindakan berikut:
+ [Menambahkan basis data RDS for Oracle ke instans CDB Anda](oracle-cdb-configuring.adding.pdb.md)
+ [Memodifikasi RDS untuk basis data penghuni Oracle](oracle-cdb-configuring.modifying.pdb.md)

Anda dapat menggunakan konsol RDS, API AWS CLI, atau RDS untuk melakukan tindakan sebelumnya.

### Konsol
<a name="rds-secrets-manager-tenant-console"></a>

Ikuti petunjuk untuk membuat atau memodifikasi database penyewa RDS untuk Oracle dengan konsol RDS:
+ [Menambahkan basis data RDS for Oracle ke instans CDB Anda](oracle-cdb-configuring.adding.pdb.md)
+ [Memodifikasi RDS untuk basis data penghuni Oracle](oracle-cdb-configuring.modifying.pdb.md)

Saat Anda menggunakan konsol RDS untuk melakukan salah satu operasi sebelumnya, Anda dapat menentukan bahwa RDS mengelola kata sandi utama di Secrets Manager. **Saat Anda membuat database penyewa, pilih **Kelola kredensial master di AWS Secrets Manager dalam pengaturan Kredenal**.** **Saat Anda memodifikasi database penyewa, pilih **Kelola kredenal master di AWS Secrets Manager Pengaturan.****

Gambar berikut adalah contoh dari **Manage master credentials dalam AWS Secrets Manager** pengaturan ketika Anda membuat database penyewa.

![\[Kelola kredensi master di AWS Secrets Manager\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/secrets-manager-credential-settings-db-instance.png)


Saat Anda memilih opsi ini, RDS akan menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus pemakaiannya di Secrets Manager.

![\[Mengelola kredensi master dalam pilihan AWS Secrets Manager\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-create-db-instance.png)


Anda dapat memilih untuk mengenkripsi rahasia dengan kunci KMS yang disediakan Secrets Manager atau dengan kunci yang dikelola pelanggan yang Anda buat. Setelah RDS mengelola kredensi database untuk database penyewa, Anda tidak dapat mengubah kunci KMS yang digunakan untuk mengenkripsi rahasia.

Anda dapat memilih pengaturan lain untuk memenuhi kebutuhan Anda. Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda membuat database penyewa, lihat[Pengaturan untuk instans DB](USER_CreateDBInstance.Settings.md). Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda memodifikasi database penyewa, lihat. [Pengaturan untuk instans DB](USER_ModifyInstance.Settings.md)

### AWS CLI
<a name="rds-secrets-manager-db-instance-cli"></a>

Untuk mengelola kata sandi pengguna utama dengan RDS di Secrets Manager, tentukan opsi `--manage-master-user-password` di salah satu perintah AWS CLI berikut:
+ [create-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/create-tenant-database.html)
+ [modify-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-tenant-database.html)

Saat Anda menentukan `--manage-master-user-password` opsi dalam perintah sebelumnya, RDS menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus hidupnya di Secrets Manager.

Untuk mengenkripsi rahasia, Anda dapat menentukan kunci yang dikelola pelanggan atau menggunakan kunci KMS default yang disediakan oleh Secrets Manager. Gunakan opsi `--master-user-secret-kms-key-id` untuk menentukan kunci yang dikelola pelanggan. Pengidentifikasi kunci AWS KMS adalah kunci ARN, ID kunci, alias ARN, atau nama alias untuk kunci KMS. Untuk menggunakan kunci KMS yang berbeda Akun AWS, tentukan kunci ARN atau alias ARN. Setelah RDS mengelola kredensi database untuk database penyewa, Anda tidak dapat mengubah kunci KMS yang digunakan untuk mengenkripsi rahasia.

Anda dapat memilih pengaturan lain untuk memenuhi kebutuhan Anda. Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda membuat database penyewa, lihat [create-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/create-tenant-database.html). Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda memodifikasi database penyewa, lihat. [modify-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-tenant-database.html)

Contoh berikut membuat RDS untuk database penyewa Oracle dan menentukan bahwa RDS mengelola kata sandi pengguna master di Secrets Manager. Rahasianya dienkripsi menggunakan kunci KMS yang disediakan oleh Secrets Manager.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
1. aws rds create-tenant-database --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst \
3.     --tenant-db-name mypdb2 \
4.     --master-username mypdb2-admin \
5.     --character-set-name UTF-16 \
6.     --manage-master-user-password
```
Untuk Windows:  

```
1. aws rds create-tenant-database --region us-east-1 ^
2.     --db-instance-identifier my-cdb-inst ^
3.     --tenant-db-name mypdb2 ^
4.     --master-username mypdb2-admin ^
5.     --character-set-name UTF-16 ^
6.     --manage-master-user-password
```

### RDS API
<a name="rds-secrets-manager-db-instance-api"></a>

Untuk menentukan bahwa RDS mengelola kata sandi pengguna utama di Secrets Manager, atur parameter `ManageMasterUserPassword` ke `true` di salah satu operasi RDS API berikut:
+ [CreateTenantDatabase](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateTenantDatabase.html)
+ [ModifyTenantDatabase](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyTenantDatabase.html)

Jika Anda mengatur parameter `ManageMasterUserPassword` ke `true` di salah satu operasi ini, RDS akan menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus pemakaiannya di Secrets Manager.

Untuk mengenkripsi rahasia, Anda dapat menentukan kunci yang dikelola pelanggan atau menggunakan kunci KMS default yang disediakan oleh Secrets Manager. Gunakan parameter `MasterUserSecretKmsKeyId` untuk menentukan kunci yang dikelola pelanggan. Pengidentifikasi kunci KMS AWS adalah ARN kunci, ID kunci, ARN alias, atau nama alias untuk kunci KMS. Untuk menggunakan kunci KMS yang berbeda Akun AWS, tentukan kunci ARN atau alias ARN. Setelah RDS mengelola kredensi database untuk database penyewa, Anda tidak dapat mengubah kunci KMS yang digunakan untuk mengenkripsi rahasia.

## Mengelola kata sandi pengguna utama untuk cluster DB multi-AZ dengan Secrets Manager
<a name="rds-secrets-manager-db-cluster"></a>

Anda dapat mengonfigurasi manajemen RDS kata sandi pengguna utama di Secrets Manager saat Anda melakukan tindakan berikut:
+ [Membuat cluster DB Multi-AZ untuk Amazon RDS](create-multi-az-db-cluster.md)
+ [Memodifikasi cluster DB Multi-AZ untuk Amazon RDS](modify-multi-az-db-cluster.md)

Anda dapat menggunakan konsol RDS, API AWS CLI, atau RDS untuk melakukan tindakan ini.

### Konsol
<a name="rds-secrets-manager-db-cluster-console"></a>

Ikuti petunjuk untuk membuat atau mengubah klaster DB Multi-AZ dengan konsol RDS:
+ [Membuat klaster DB](create-multi-az-db-cluster.md#create-multi-az-db-cluster-creating)
+ [Memodifikasi cluster DB Multi-AZ untuk Amazon RDS](modify-multi-az-db-cluster.md)

Saat menggunakan konsol RDS untuk melakukan salah satu operasi ini, Anda dapat menentukan bahwa kata sandi pengguna utama dikelola oleh RDS di Secrets Manager. Untuk melakukannya saat membuat klaster DB, pilih **Kelola kredensial utama di AWS Secrets Manager** dalam **Pengaturan kredensial**. Saat Anda mengubah klaster DB, pilih **Kelola kredensial utama di AWS Secrets Manager** dalam **Pengaturan**.

Gambar berikut adalah contoh pengaturan **Kelola kredensial utama di AWS Secrets Manager** saat Anda membuat klaster DB.

![\[Kelola kredensi master di AWS Secrets Manager\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/secrets-manager-credential-settings.png)


Jika Anda memilih opsi ini, RDS akan menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus pemakaiannya di Secrets Manager.

![\[Mengelola kredensi master dalam pilihan AWS Secrets Manager\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-create.png)


Anda dapat memilih untuk mengenkripsi rahasia dengan kunci KMS yang disediakan Secrets Manager atau dengan kunci yang dikelola pelanggan yang Anda buat. Setelah RDS mengelola kredensial basis data untuk klaster DB, Anda tidak dapat mengubah kunci KMS yang digunakan untuk mengenkripsi rahasia.

Anda dapat memilih pengaturan lain untuk memenuhi kebutuhan Anda.

Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda membuat klaster DB Multi-AZ, lihat [Pengaturan untuk membuat klaster DB Multi-AZ](create-multi-az-db-cluster.md#create-multi-az-db-cluster-settings). Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda mengubah klaster DB Multi-AZ, lihat [Setelan untuk mengubah klaster basis data Multi-AZ](modify-multi-az-db-cluster.md#modify-multi-az-db-cluster-settings).

### AWS CLI
<a name="rds-secrets-manager-db-cluster-cli"></a>

Untuk menentukan bahwa RDS mengelola kata sandi pengguna utama di Secrets Manager, tentukan opsi `--manage-master-user-password` di salah satu perintah berikut:
+ [create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html)
+ [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html)

Jika Anda menentukan opsi `--manage-master-user-password` dalam perintah ini, RDS akan menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus pemakaiannya di Secrets Manager.

Untuk mengenkripsi rahasia, Anda dapat menentukan kunci yang dikelola pelanggan atau menggunakan kunci KMS default yang disediakan oleh Secrets Manager. Gunakan opsi `--master-user-secret-kms-key-id` untuk menentukan kunci yang dikelola pelanggan. Pengidentifikasi kunci AWS KMS adalah kunci ARN, ID kunci, alias ARN, atau nama alias untuk kunci KMS. Untuk menggunakan kunci KMS yang berbeda Akun AWS, tentukan kunci ARN atau alias ARN. Setelah RDS mengelola kredensial basis data untuk klaster DB, Anda tidak dapat mengubah kunci KMS yang digunakan untuk mengenkripsi rahasia.

Anda dapat memilih pengaturan lain untuk memenuhi kebutuhan Anda.

Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda membuat klaster DB Multi-AZ, lihat [Pengaturan untuk membuat klaster DB Multi-AZ](create-multi-az-db-cluster.md#create-multi-az-db-cluster-settings). Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda mengubah klaster DB Multi-AZ, lihat [Setelan untuk mengubah klaster basis data Multi-AZ](modify-multi-az-db-cluster.md#modify-multi-az-db-cluster-settings).

Contoh ini membuat klaster DB Multi-AZ dan menentukan bahwa RDS mengelola kata sandi di Secrets Manager. Rahasianya dienkripsi menggunakan kunci KMS yang disediakan oleh Secrets Manager.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
 1. aws rds create-db-cluster \
 2.    --db-cluster-identifier mysql-multi-az-db-cluster \
 3.    --engine mysql \
 4.    --engine-version 8.0.39  \
 5.    --backup-retention-period 1  \
 6.    --allocated-storage 4000 \
 7.    --storage-type io1 \
 8.    --iops 10000 \
 9.    --db-cluster-instance-class db.r6gd.xlarge \
10.    --master-username testUser \
11.    --manage-master-user-password
```
Untuk Windows:  

```
 1. aws rds create-db-cluster ^
 2.    --db-cluster-identifier mysql-multi-az-db-cluster ^
 3.    --engine mysql ^
 4.    --engine-version 8.0.39 ^
 5.    --backup-retention-period 1 ^
 6.    --allocated-storage 4000 ^
 7.    --storage-type io1 ^
 8.    --iops 10000 ^
 9.    --db-cluster-instance-class db.r6gd.xlarge ^
10.    --master-username testUser ^
11.    --manage-master-user-password
```

### RDS API
<a name="rds-secrets-manager-db-cluster-api"></a>

Untuk menentukan bahwa RDS mengelola kata sandi pengguna utama di Secrets Manager, atur parameter `ManageMasterUserPassword` ke `true` di salah satu operasi berikut:
+ [Buat DBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html)
+ [Memodifikasi DBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html)

Jika Anda mengatur parameter `ManageMasterUserPassword` ke `true` di salah satu operasi ini, RDS akan menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus pemakaiannya di Secrets Manager.

Untuk mengenkripsi rahasia, Anda dapat menentukan kunci yang dikelola pelanggan atau menggunakan kunci KMS default yang disediakan oleh Secrets Manager. Gunakan parameter `MasterUserSecretKmsKeyId` untuk menentukan kunci yang dikelola pelanggan. Pengidentifikasi kunci AWS KMS adalah kunci ARN, ID kunci, alias ARN, atau nama alias untuk kunci KMS. Untuk menggunakan kunci KMS di Akun AWS yang berbeda, tentukan ARN kunci atau ARN alias. Setelah RDS mengelola kredensial basis data untuk klaster DB, Anda tidak dapat mengubah kunci KMS yang digunakan untuk mengenkripsi rahasia.

## Merotasi rahasia kata sandi pengguna utama untuk instans DB
<a name="rds-secrets-manager-rotate-db-instance"></a>

Ketika RDS merotasi rahasia kata sandi pengguna utama, Secrets Manager akan menghasilkan versi rahasia baru untuk rahasia yang sudah ada. Rahasia versi baru berisi kata sandi pengguna utama baru. Amazon RDS mengubah kata sandi pengguna utama untuk instans DB agar sesuai dengan kata sandi versi rahasia baru.

Anda dapat segera merotasi rahasia, alih-alih menunggu rotasi yang dijadwalkan. Untuk merotasi rahasia kata sandi pengguna utama di Secrets Manager, ubah instans DB. Untuk informasi tentang cara mengubah instans DB, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

Anda dapat memutar rahasia kata sandi pengguna master segera dengan konsol RDS, API AWS CLI, atau RDS. Kata sandi baru selalu sepanjang 28 karakter dan berisi setidaknya satu karakter huruf besar dan kecil, satu angka, dan satu tanda baca. 

### Konsol
<a name="rds-secrets-manager-rotate-db-instance-console"></a>

Untuk merotasi rahasia kata sandi pengguna utama menggunakan konsol RDS, ubah instans DB dan pilih **Rotasi rahasia secara langsung** di **Pengaturan**.

![\[Merotasi rahasia kata sandi pengguna utama secara langsung\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-rotate.png)


Ikuti petunjuk untuk mengubah instans DB dengan konsol RDS di [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). Anda harus memilih **Terapkan langsung** di halaman konfirmasi.

### AWS CLI
<a name="rds-secrets-manager-rotate-db-instance-cli"></a>

Untuk memutar rahasia kata sandi pengguna master menggunakan AWS CLI, gunakan [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)perintah dan tentukan `--rotate-master-user-password` opsi. Anda harus menentukan opsi `--apply-immediately` saat merotasi kata sandi utama.

Contoh ini merotasi rahasia kata sandi pengguna utama.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --rotate-master-user-password \
4.     --apply-immediately
```
Untuk Windows:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --rotate-master-user-password ^
4.     --apply-immediately
```

### API RDS
<a name="rds-secrets-manager-rotate-db-instance-api"></a>

Anda dapat memutar rahasia kata sandi pengguna master menggunakan DBInstance operasi [Modify](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) dan mengatur `RotateMasterUserPassword` parameternya`true`. Anda harus mengatur parameter `ApplyImmediately` ke `true` saat merotasi kata sandi utama.

## Memutar rahasia kata sandi pengguna utama untuk cluster DB multi-AZ
<a name="rds-secrets-manager-rotate-db-cluster"></a>

Ketika RDS merotasi rahasia kata sandi pengguna utama, Secrets Manager akan menghasilkan versi rahasia baru untuk rahasia yang sudah ada. Rahasia versi baru berisi kata sandi pengguna utama baru. Amazon RDS mengubah kata sandi pengguna utama untuk klaster DB Multi-AZ agar sesuai dengan kata sandi versi rahasia baru.

Anda dapat segera merotasi rahasia, alih-alih menunggu rotasi yang dijadwalkan. Untuk merotasi rahasia kata sandi pengguna utama di Secrets Manager, ubah klaster DB Multi-AZ. Untuk informasi tentang cara mengubah klaster DB Multi-AZ, lihat [Memodifikasi cluster DB Multi-AZ untuk Amazon RDS](modify-multi-az-db-cluster.md). 

Anda dapat memutar rahasia kata sandi pengguna master segera dengan konsol RDS, API AWS CLI, atau RDS. Kata sandi baru selalu sepanjang 28 karakter dan berisi setidaknya satu karakter huruf besar dan kecil, satu angka, dan satu tanda baca. 

### Konsol
<a name="rds-secrets-manager-rotate-db-instance-console"></a>

Untuk merotasi rahasia kata sandi pengguna utama menggunakan konsol RDS, ubah klaster DB Multi-AZ dan pilih **Rotasi rahasia secara langsung** di **Pengaturan**.

![\[Merotasi rahasia kata sandi pengguna utama secara langsung\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-rotate-taz-cluster.png)


Ikuti petunjuk untuk mengubah klaster DB Multi-AZ dengan konsol RDS di  [Memodifikasi cluster DB Multi-AZ untuk Amazon RDS](modify-multi-az-db-cluster.md). Anda harus memilih **Terapkan langsung** di halaman konfirmasi.

### AWS CLI
<a name="rds-secrets-manager-rotate-db-instance-cli"></a>

Untuk memutar rahasia kata sandi pengguna master menggunakan AWS CLI, gunakan [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html)perintah dan tentukan `--rotate-master-user-password` opsi. Anda harus menentukan opsi `--apply-immediately` saat merotasi kata sandi utama.

Contoh ini merotasi rahasia kata sandi pengguna utama.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
1. aws rds modify-db-cluster \
2.     --db-cluster-identifier mydbcluster \
3.     --rotate-master-user-password \
4.     --apply-immediately
```
Untuk Windows:  

```
1. aws rds modify-db-cluster ^
2.     --db-cluster-identifier mydbcluster ^
3.     --rotate-master-user-password ^
4.     --apply-immediately
```

### API RDS
<a name="rds-secrets-manager-rotate-db-instance-api"></a>

Anda dapat memutar rahasia kata sandi pengguna master menggunakan DBCluster operasi [Modify](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) dan mengatur `RotateMasterUserPassword` parameternya`true`. Anda harus mengatur parameter `ApplyImmediately` ke `true` saat merotasi kata sandi utama.

## Melihat detail tentang rahasia untuk instans DB
<a name="rds-secrets-manager-view-db-instance"></a>

Anda dapat mengambil rahasia Anda menggunakan console ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)) atau perintah AWS CLI ([get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html)Secrets Manager).

Anda dapat menemukan Amazon Resource Name (ARN) dari rahasia yang dikelola oleh RDS di Secrets Manager dengan konsol RDS, AWS CLI, atau RDS API.

### Konsol
<a name="rds-secrets-manager-view-db-instance-console"></a>

**Untuk melihat detail tentang rahasia yang dikelola oleh RDS di Secrets Manager**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Basis Data**.

1. Pilih nama instans DB untuk menampilkan detailnya.

1. Pilih tab **Konfigurasi**.

   Di **ARN Kredensial Utama**, Anda dapat melihat ARN rahasia.  
![\[Lihat detail tentang rahasia yang dikelola oleh RDS di Secrets Manager\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-view-instance.png)

   Anda dapat mengikuti tautan **Mengelola di Secrets Manager** untuk melihat dan mengelola rahasia di konsol Secrets Manager.

### AWS CLI
<a name="rds-secrets-manager-view-db-instance-cli"></a>

Anda dapat menggunakan perintah [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)RDS CLI untuk menemukan informasi berikut tentang rahasia yang dikelola oleh RDS di Secrets Manager:
+ `SecretArn` – ARN rahasia
+ `SecretStatus` – Status rahasia

  Kemungkinan nilai statusnya meliputi:
  + `creating` – Rahasia sedang dibuat.
  + `active` – Rahasia tersedia untuk penggunaan normal dan rotasi.
  + `rotating` – Rahasia sedang dirotasi.
  + `impaired` – Rahasia dapat digunakan untuk mengakses kredensial basis data, tetapi tidak dapat dirotasi. Rahasia mungkin memiliki status ini jika, misalnya, izin diubah sehingga RDS tidak dapat lagi mengakses rahasia atau kunci KMS untuk rahasia tersebut.

    Ketika rahasia memiliki status ini, Anda dapat memperbaiki kondisi yang menyebabkan status tersebut. Jika Anda memperbaiki kondisi yang menyebabkan status, status tersebut tetap `impaired` hingga rotasi berikutnya. Sebagai alternatif, Anda dapat mengubah instans DB untuk menonaktifkan manajemen otomatis kredensial basis data, dan kemudian mengubah instans DB lagi untuk mengaktifkan manajemen otomatis kredensial basis data. Untuk memodifikasi instans DB, gunakan `--manage-master-user-password` opsi dalam [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)perintah.
+ `KmsKeyId` – ARN kunci KMS yang digunakan untuk mengenkripsi rahasia

Tentukan `--db-instance-identifier` opsi untuk menampilkan output untuk instans DB tertentu. Contoh ini menunjukkan output untuk rahasia yang digunakan oleh instans DB.

**Example**  

```
1. aws rds describe-db-instances --db-instance-identifier mydbinstance
```
Berikut ini adalah sampel output untuk rahasia:  

```
"MasterUserSecret": {
                "SecretArn": "arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!db-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx",
                "SecretStatus": "active",
                "KmsKeyId": "arn:aws:kms:eu-west-1:123456789012:key/0987dcba-09fe-87dc-65ba-ab0987654321"
            }
```

Ketika Anda memiliki ARN rahasia, Anda dapat melihat detail tentang rahasia menggunakan perintah [get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html)Secrets Manager CLI.

Contoh ini menunjukkan detail untuk rahasia dalam output sampel sebelumnya.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
aws secretsmanager get-secret-value \
    --secret-id 'arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!db-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx'
```
Untuk Windows:  

```
aws secretsmanager get-secret-value ^
    --secret-id 'arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!db-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx'
```

### API RDS
<a name="rds-secrets-manager-rotate-db-instance-api"></a>

Anda dapat melihat kunci ARN, status, dan KMS untuk rahasia yang dikelola oleh RDS di Secrets Manager dengan menggunakan DBInstances operasi [Deskripsikan](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) dan mengatur `DBInstanceIdentifier` parameter ke pengidentifikasi instans DB. Detail tentang rahasia disertakan dalam output.

Ketika Anda memiliki ARN rahasia, Anda dapat melihat detail tentang rahasia menggunakan operasi [GetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html)Secrets Manager.

## Melihat detail tentang rahasia untuk cluster DB multi-AZ
<a name="rds-secrets-manager-view-db-cluster"></a>

Anda dapat mengambil rahasia Anda menggunakan console ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)) atau perintah AWS CLI ([get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html)Secrets Manager).

Anda dapat menemukan Amazon Resource Name (ARN) dari rahasia yang dikelola oleh RDS di Secrets Manager dengan konsol RDS AWS CLI,, atau RDS API.

### Konsol
<a name="rds-secrets-manager-view-db-cluster-console"></a>

**Untuk melihat detail tentang rahasia yang dikelola oleh RDS di Secrets Manager**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Basis Data**.

1. Pilih nama klaster DB Multi-AZ untuk menampilkan detailnya.

1. Pilih tab **Konfigurasi**.

   Di **ARN Kredensial Utama**, Anda dapat melihat ARN rahasia.  
![\[Lihat detail tentang rahasia yang dikelola oleh RDS di Secrets Manager\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-view-taz-cluster.png)

   Anda dapat mengikuti tautan **Mengelola di Secrets Manager** untuk melihat dan mengelola rahasia di konsol Secrets Manager.

### AWS CLI
<a name="rds-secrets-manager-view-db-instance-cli"></a>

Anda dapat menggunakan AWS CLI [describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html)perintah RDS untuk menemukan informasi berikut tentang rahasia yang dikelola oleh RDS Aurora Manager:
+ `SecretArn` – ARN rahasia
+ `SecretStatus` – Status rahasia

  Kemungkinan nilai statusnya meliputi:
  + `creating` – Rahasia sedang dibuat.
  + `active` – Rahasia tersedia untuk penggunaan normal dan rotasi.
  + `rotating` – Rahasia sedang dirotasi.
  + `impaired` – Rahasia dapat digunakan untuk mengakses kredensial basis data, tetapi tidak dapat dirotasi. Rahasia mungkin memiliki status ini jika, misalnya, izin diubah sehingga RDS tidak dapat lagi mengakses rahasia atau kunci KMS untuk rahasia tersebut.

    Ketika rahasia memiliki status ini, Anda dapat memperbaiki kondisi yang menyebabkan status tersebut. Jika Anda memperbaiki kondisi yang menyebabkan status, status tersebut tetap `impaired` hingga rotasi berikutnya. Sebagai alternatif, Anda dapat mengubah klaster DB untuk menonaktifkan manajemen otomatis kredensial basis data, dan kemudian mengubah klaster DB lagi untuk mengaktifkan manajemen otomatis kredensial basis data. Untuk memodifikasi cluster DB, gunakan `--manage-master-user-password` opsi dalam [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html)perintah.
+ `KmsKeyId` – ARN kunci KMS yang digunakan untuk mengenkripsi rahasia

Tentukan opsi `--db-cluster-identifier` untuk menampilkan output untuk klaster DB tertentu. Contoh ini menunjukkan output untuk rahasia yang digunakan oleh klaster DB.

**Example**  

```
1. aws rds describe-db-clusters --db-cluster-identifier mydbcluster
```
Contoh berikut menunjukkan output untuk rahasia:  

```
"MasterUserSecret": {
                "SecretArn": "arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx",
                "SecretStatus": "active",
                "KmsKeyId": "arn:aws:kms:eu-west-1:123456789012:key/0987dcba-09fe-87dc-65ba-ab0987654321"
            }
```

Ketika Anda memiliki ARN rahasia, Anda dapat melihat detail tentang rahasia menggunakan perintah [get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html)Secrets Manager CLI.

Contoh ini menunjukkan detail untuk rahasia dalam output sampel sebelumnya.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
aws secretsmanager get-secret-value \
    --secret-id 'arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx'
```
Untuk Windows:  

```
aws secretsmanager get-secret-value ^
    --secret-id 'arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx'
```

### API RDS
<a name="rds-secrets-manager-rotate-db-instance-api"></a>

Anda dapat melihat kunci ARN, status, dan KMS untuk rahasia yang dikelola oleh RDS Aurora Secrets Manager menggunakan operasi DBClusters Deskripsikan RDS dan mengatur `DBClusterIdentifier` parameter [ke](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) pengidentifikasi cluster DB. Detail tentang rahasia disertakan dalam output.

Ketika Anda memiliki ARN rahasia, Anda dapat melihat detail tentang rahasia menggunakan operasi [GetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html)Secrets Manager.

## Melihat detail tentang rahasia untuk database penyewa
<a name="rds-secrets-manager-view-tenant"></a>

Anda dapat mengambil rahasia Anda menggunakan console ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)) atau perintah AWS CLI ([get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html)Secrets Manager).

Anda dapat menemukan Nama Sumber Daya Amazon (ARN) dari rahasia yang dikelola oleh Amazon RDS dengan konsol Amazon RDS,, AWS CLI atau Amazon RDS API. AWS Secrets Manager 

### Konsol
<a name="rds-secrets-manager-view-tenant-console"></a>

**Untuk melihat detail tentang rahasia yang dikelola oleh Amazon RDS AWS Secrets Manager untuk database penyewa**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Basis data**.

1. Pilih nama instans DB yang berisi database penyewa untuk menampilkan detailnya.

1. Pilih tab **Konfigurasi**.

   Di bagian Database **penyewa, temukan database** penyewa dan lihat ARN **Kredensialnya**.

   Anda dapat mengikuti tautan **Mengelola di Secrets Manager** untuk melihat dan mengelola rahasia di konsol Secrets Manager.

### AWS CLI
<a name="rds-secrets-manager-view-tenant-cli"></a>

Anda dapat menggunakan AWS CLI perintah [describe-tenant-databases](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-tenant-databases.html)Amazon RDS untuk menemukan informasi berikut tentang rahasia yang dikelola oleh Amazon RDS AWS Secrets Manager untuk database penyewa:
+ `SecretArn` – ARN rahasia
+ `SecretStatus` – Status rahasia

  Kemungkinan nilai statusnya meliputi:
  + `creating` – Rahasia sedang dibuat.
  + `active` – Rahasia tersedia untuk penggunaan normal dan rotasi.
  + `rotating` – Rahasia sedang dirotasi.
  + `impaired` – Rahasia dapat digunakan untuk mengakses kredensial basis data, tetapi tidak dapat dirotasi. Rahasia mungkin memiliki status ini jika, misalnya, izin diubah sehingga Amazon RDS tidak dapat lagi mengakses rahasia atau kunci KMS untuk rahasia tersebut.

    Ketika rahasia memiliki status ini, Anda dapat memperbaiki kondisi yang menyebabkan status tersebut. Jika Anda memperbaiki kondisi yang menyebabkan status, status tersebut tetap `impaired` hingga rotasi berikutnya. Atau, Anda dapat memodifikasi database penyewa untuk mematikan manajemen otomatis kredenal database, dan kemudian memodifikasi database penyewa lagi untuk mengaktifkan manajemen otomatis kredenal database. Untuk memodifikasi database penyewa, gunakan `--manage-master-user-password` opsi dalam [modify-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-tenant-database.html)perintah.
+ `KmsKeyId` – ARN kunci KMS yang digunakan untuk mengenkripsi rahasia

Tentukan `--db-instance-identifier` opsi untuk menampilkan output untuk database penyewa dalam instance DB tertentu. Anda juga dapat menentukan `--tenant-db-name` opsi untuk menampilkan output untuk database penyewa tertentu. Contoh ini menunjukkan output untuk rahasia yang digunakan oleh database penyewa.

**Example**  

```
1. aws rds describe-tenant-databases \
2.     --db-instance-identifier database-3 \
3.     --query "TenantDatabases[0].MasterUserSecret"
```
Berikut ini adalah sampel output untuk rahasia:  

```
{
    "SecretArn": "arn:aws:secretsmanager:us-east-2:123456789012:secret:rds!db-ABC123",
    "SecretStatus": "active",
    "KmsKeyId": "arn:aws:kms:us-east-2:123456789012:key/aa11bb22-####-####-####-fedcba123456"
}
```

Ketika Anda memiliki ARN rahasia, Anda dapat melihat detail tentang rahasia menggunakan perintah [get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html)Secrets Manager AWS CLI .

Contoh ini menunjukkan detail untuk rahasia dalam output sampel sebelumnya.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
aws secretsmanager get-secret-value \
    --secret-id 'arn:aws:secretsmanager:us-east-2:123456789012:secret:rds!db-ABC123'
```
Untuk Windows:  

```
aws secretsmanager get-secret-value ^
    --secret-id 'arn:aws:secretsmanager:us-east-2:123456789012:secret:rds!db-ABC123'
```

### API Amazon RDS
<a name="rds-secrets-manager-view-tenant-api"></a>

Anda dapat melihat kunci ARN, status, dan KMS untuk rahasia yang dikelola oleh Amazon RDS dengan menggunakan [DescribeTenantDatabases](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeTenantDatabases.html)operasi dan menyetel `DBInstanceIdentifier` parameter ke pengenal instans DB. AWS Secrets Manager Anda juga dapat mengatur `TenantDBName` parameter ke nama database penyewa tertentu. Detail tentang rahasia disertakan dalam output.

Ketika Anda memiliki ARN rahasia, Anda dapat melihat detail tentang rahasia menggunakan operasi [GetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html)Secrets Manager.

## Ketersediaan wilayah dan versi
<a name="rds-secrets-manager-availability"></a>

Ketersediaan dan dukungan fitur bervariasi di seluruh versi spesifik dari setiap mesin basis data dan di seluruh Wilayah AWS. Untuk informasi selengkapnya tentang ketersediaan versi dan Wilayah dengan integrasi Secrets Manager dengan Amazon RDS, lihat [Daerah yang Didukung dan engine DB untuk integrasi Secrets Manager dengan Amazon RDS](Concepts.RDS_Fea_Regions_DB-eng.Feature.SecretsManager.md). 

# Perlindungan data di Amazon RDS
<a name="DataDurability"></a>

[Model tanggung jawab AWS bersama model](https://aws.amazon.com/compliance/shared-responsibility-model/) berlaku untuk perlindungan data di Amazon Relational Database Service. Seperti yang dijelaskan dalam model AWS ini, bertanggung jawab untuk melindungi infrastruktur global yang menjalankan semua AWS Cloud. Anda bertanggung jawab untuk mempertahankan kendali atas konten yang di-host pada infrastruktur ini. Anda juga bertanggung jawab atas tugas-tugas konfigurasi dan manajemen keamanan untuk Layanan AWS yang Anda gunakan. Lihat informasi yang lebih lengkap tentang privasi data dalam [Pertanyaan Umum Privasi Data](https://aws.amazon.com/compliance/data-privacy-faq/). Lihat informasi tentang perlindungan data di Eropa di pos blog [Model Tanggung Jawab Bersama dan GDPR AWS](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) di *Blog Keamanan AWS *.

Untuk tujuan perlindungan data, kami menyarankan Anda melindungi Akun AWS kredensyal dan mengatur pengguna individu dengan AWS IAM Identity Center atau AWS Identity and Access Management (IAM). Dengan cara itu, setiap pengguna hanya diberi izin yang diperlukan untuk memenuhi tanggung jawab tugasnya. Kami juga menyarankan supaya Anda mengamankan data dengan cara-cara berikut:
+ Gunakan autentikasi multi-faktor (MFA) pada setiap akun.
+ Gunakan SSL/TLS untuk berkomunikasi dengan sumber daya. AWS Kami mensyaratkan TLS 1.2 dan menganjurkan TLS 1.3.
+ Siapkan API dan pencatatan aktivitas pengguna dengan AWS CloudTrail. Untuk informasi tentang penggunaan CloudTrail jejak untuk menangkap AWS aktivitas, lihat [Bekerja dengan CloudTrail jejak](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) di *AWS CloudTrail Panduan Pengguna*.
+ Gunakan solusi AWS enkripsi, bersama dengan semua kontrol keamanan default di dalamnya Layanan AWS.
+ Gunakan layanan keamanan terkelola tingkat lanjut seperti Amazon Macie, yang membantu menemukan dan mengamankan data sensitif yang disimpan di Amazon S3.
+ Jika Anda memerlukan modul kriptografi tervalidasi FIPS 140-3 saat mengakses AWS melalui antarmuka baris perintah atau API, gunakan titik akhir FIPS. Lihat informasi selengkapnya tentang titik akhir FIPS yang tersedia di [Standar Pemrosesan Informasi Federal (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

Kami sangat merekomendasikan agar Anda tidak pernah memasukkan informasi identifikasi yang sensitif, seperti nomor rekening pelanggan Anda, ke dalam tanda atau bidang isian bebas seperti bidang **Nama**. Ini termasuk saat Anda bekerja dengan Amazon RDS atau lainnya Layanan AWS menggunakan konsol, API AWS CLI, atau AWS SDKs. Data apa pun yang Anda masukkan ke dalam tanda atau bidang isian bebas yang digunakan untuk nama dapat digunakan untuk log penagihan atau log diagnostik. Saat Anda memberikan URL ke server eksternal, kami sangat menganjurkan supaya Anda tidak menyertakan informasi kredensial di dalam URL untuk memvalidasi permintaan Anda ke server itu.

**Topics**
+ [

# Melindungi data dengan menggunakan enkripsi
](Encryption.md)
+ [

# Privasi lalu lintas antarjaringan
](inter-network-traffic-privacy.md)

# Melindungi data dengan menggunakan enkripsi
<a name="Encryption"></a>

Anda dapat mengaktifkan enkripsi untuk sumber daya basis data. Anda juga dapat mengenkripsi koneksi ke instans DB.

**Topics**
+ [

# Mengenkripsi sumber daya Amazon RDS
](Overview.Encryption.md)
+ [

# AWS KMS key manajemen
](Overview.Encryption.Keys.md)
+ [

# 
](UsingWithRDS.SSL.md)
+ [

# Memutar sertifikat Anda SSL/TLS
](UsingWithRDS.SSL-certificate-rotation.md)

# Mengenkripsi sumber daya Amazon RDS
<a name="Overview.Encryption"></a>

Amazon RDS dapat mengenkripsi instans Amazon RDS DB Anda. Data yang dienkripsi saat istirahat mencakup penyimpanan yang mendasari untuk instans DB, lognya, cadangan otomatis, replika baca, dan snapshot.

Instans DB terenkripsi Amazon RDS menggunakan algoritme enkripsi AES-256 standar industri untuk mengenkripsi data Anda di server yang menghosting instans Amazon RDS DB Anda.

Setelah data Anda dienkripsi, Amazon RDS Amazon  menangani otentikasi akses dan dekripsi data Anda secara transparan dengan dampak minimal pada kinerja. Anda tidak perlu memodifikasi aplikasi klien basis data untuk menggunakan enkripsi.

**catatan**  
Untuk instans DB terenkripsi dan tidak terenkripsi, data yang sedang transit antara sumber dan replika baca dienkripsi, bahkan saat mereplikasi di seluruh Wilayah. AWS 

**Topics**
+ [

## Ikhtisar mengenkripsi sumber daya Amazon RDS
](#Overview.Encryption.Overview)
+ [

## Mengenkripsi instans DB
](#Overview.Encryption.Enabling)
+ [

## Menentukan apakah enkripsi untuk instans DB diaktifkan
](#Overview.Encryption.Determining)
+ [

## Ketersediaan enkripsi Amazon RDS
](#Overview.Encryption.Availability)
+ [

## Enkripsi saat bergerak
](#Overview.Encryption.InTransit)
+ [

## Batasan instans DB terenkripsi Amazon RDS
](#Overview.Encryption.Limitations)

## Ikhtisar mengenkripsi sumber daya Amazon RDS
<a name="Overview.Encryption.Overview"></a>

Instans DB terenkripsi Amazon RDS memberikan lapisan perlindungan data tambahan dengan mengamankan data Anda dari akses yang tidak sah ke penyimpanan yang mendasari. Anda dapat menggunakan enkripsi Amazon RDS untuk meningkatkan perlindungan data di aplikasi Anda yang di-deploy di cloud, dan untuk memenuhi persyaratan kepatuhan enkripsi diam. Untuk instans DB terenkripsi Amazon RDS, semua log, cadangan, dan snapshot akan dienkripsi. Untuk informasi selengkapnya tentang ketersediaan dan keterbatasan enkripsi, lihat [Ketersediaan enkripsi Amazon RDS](#Overview.Encryption.Availability) dan[Batasan instans DB terenkripsi Amazon RDS](#Overview.Encryption.Limitations).

Amazon RDS menggunakan AWS Key Management Service kunci untuk mengenkripsi sumber daya ini. AWS KMS menggabungkan perangkat keras dan perangkat lunak yang aman dan sangat tersedia untuk menyediakan sistem manajemen kunci yang diskalakan untuk cloud. Anda dapat menggunakan Kunci yang dikelola AWS, atau Anda dapat membuat kunci yang dikelola pelanggan. 

Saat membuat instans DB terenkripsi, Anda bisa memilih kunci yang dikelola pelanggan atau Kunci yang dikelola AWS untuk Amazon RDS untuk mengenkripsi instans DB. Jika Anda tidak menentukan pengenal kunci untuk kunci yang dikelola pelanggan, Amazon RDS menggunakan Kunci yang dikelola AWS untuk instans DB baru Anda. Amazon RDS membuat RDS Kunci yang dikelola AWS untuk Amazon untuk akun Anda AWS . AWS Akun Anda memiliki RDS Amazon yang berbeda Kunci yang dikelola AWS untuk setiap AWS Wilayah.

[Untuk mengelola kunci terkelola pelanggan yang digunakan untuk mengenkripsi dan mendekripsi sumber daya Amazon RDS, Anda menggunakan ().AWS Key Management ServiceAWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/) 

Dengan menggunakan AWS KMS, Anda dapat membuat kunci terkelola pelanggan dan menentukan kebijakan yang mengontrol penggunaan kunci yang dikelola pelanggan ini. AWS KMS mendukung CloudTrail, sehingga Anda dapat mengaudit penggunaan kunci KMS untuk memverifikasi bahwa kunci yang dikelola pelanggan digunakan dengan tepat. Anda dapat menggunakan kunci yang dikelola pelanggan dengan Amazon Aurora dan AWS layanan yang didukung seperti Amazon S3, Amazon EBS, dan Amazon Redshift. Untuk daftar layanan yang terintegrasi AWS KMS, lihat [Integrasi AWS Layanan](https://aws.amazon.com/kms/features/#AWS_Service_Integration). Beberapa pertimbangan tentang penggunaan kunci KMS: 
+ Setelah membuat instans DB terenkripsi, Anda tidak dapat mengubah kunci KMS yang digunakan oleh instans DB tersebut. Oleh karena itu, tentukan persyaratan kunci KMS sebelum membuat instans DB terenkripsi.

  Jika Anda harus mengubah kunci enkripsi untuk instans DB Anda, buat snapshot manual instance Anda dan aktifkan enkripsi saat menyalin snapshot. Untuk informasi lebih lanjut, lihat artikel [Re:Post Knowledge](https://repost.aws/knowledge-center/update-encryption-key-rds).
+ Jika Anda menyalin snapshot terenkripsi, Anda dapat menggunakan kunci KMS yang berbeda untuk mengenkripsi snapshot target, bukan yang digunakan untuk mengenkripsi snapshot sumber. 
+ Replika baca instans terenkripsi Amazon RDS harus dienkripsi menggunakan kunci KMS yang sama dengan instans DB utama ketika keduanya berada di Wilayah yang sama. AWS 
+ Jika instans DB utama dan replika baca berada di AWS Wilayah yang berbeda, Anda mengenkripsi replika baca menggunakan kunci KMS untuk Wilayah tersebut. AWS 
+ Anda tidak dapat membagikan snapshot yang telah dienkripsi menggunakan AWS akun Kunci yang dikelola AWS yang membagikan snapshot.
+ Amazon RDS juga mendukung enkripsi instans Oracle atau SQL Server DB dengan Enkripsi Data Transparan (TDE). TDE dapat digunakan dengan enkripsi diam RDS, meski menggunakan enkripsi TDE dan RDS secara bersamaan dapat sedikit memengaruhi performa basis data Anda. Anda harus mengelola kunci yang berbeda untuk setiap metode enkripsi. Untuk informasi selengkapnya tentang TDE, lihat [Enkripsi Data Transparan Oracle](Appendix.Oracle.Options.AdvSecurity.md) atau [Dukungan untuk Enkripsi Data Transparan di SQL Server](Appendix.SQLServer.Options.TDE.md).

**penting**  
Amazon RDS kehilangan akses ke kunci KMS untuk instans DB saat Anda menonaktifkan kunci KMS. Jika Anda kehilangan akses ke kunci KMS, instans DB terenkripsi masuk ke `inaccessible-encryption-credentials-recoverable` status 2 jam setelah deteksi dalam kasus di mana cadangan diaktifkan. Instans DB tetap dalam keadaan ini selama tujuh hari, di mana instance dihentikan. Panggilan API yang dilakukan ke instans DB selama waktu ini mungkin tidak berhasil. Untuk memulihkan instans DB, aktifkan kunci KMS dan restart instance DB ini. Aktifkan kunci KMS dari Konsol Manajemen AWS, AWS CLI, atau RDS API. Mulai ulang instance DB menggunakan AWS CLI perintah [start-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/start-db-instance.html)atau Konsol Manajemen AWS.   
`inaccessible-encryption-credentials-recoverable`Status hanya berlaku untuk instans DB yang dapat berhenti. Status yang dapat dipulihkan ini tidak berlaku untuk instance yang tidak dapat berhenti, seperti replika baca dan instance dengan replika baca. Untuk informasi selengkapnya, lihat [Batasan untuk menghentikan instans DB Anda](USER_StopInstance.md#USER_StopInstance.Limitations).  
Jika instans DB tidak dipulihkan dalam waktu tujuh hari, itu masuk ke `inaccessible-encryption-credentials` status terminal. Dalam keadaan ini, instans DB tidak dapat digunakan lagi dan Anda hanya dapat mengembalikan instans DB dari cadangan. Sebaiknya selalu aktifkan pencadangan instans DB terenkripsi agar data terenkripsi di basis data Anda tidak hilang.  
Selama pembuatan instans DB, Amazon RDS memeriksa apakah prinsipal panggilan memiliki akses ke kunci KMS dan menghasilkan hibah dari kunci KMS yang digunakannya selama masa pakai instans DB. Mencabut akses prinsipal panggilan ke kunci KMS tidak mempengaruhi database yang sedang berjalan. Saat menggunakan kunci KMS dalam skenario lintas akun, seperti menyalin snapshot ke akun lain, kunci KMS perlu dibagikan dengan akun lain. Jika Anda membuat instans DB dari snapshot tanpa menentukan kunci KMS yang berbeda, instance baru menggunakan kunci KMS dari akun sumber. Mencabut akses ke kunci setelah Anda membuat instans DB tidak memengaruhi instance. Namun, menonaktifkan kunci memengaruhi semua instans DB yang dienkripsi dengan kunci itu. Untuk mencegah hal ini, tentukan kunci yang berbeda selama operasi penyalinan snapshot.  
Instans DB dengan cadangan yang dinonaktifkan tetap tersedia hingga volume terlepas dari host selama modifikasi instans atau pemulihan. RDS memindahkan instance ke `inaccessible-encryption-credentials-recoverable` status atau `inaccessible-encryption-credentials` status sebagaimana berlaku.

Untuk informasi selengkapnya tentang kunci KMS, lihat [AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) di *Panduan Developer AWS Key Management Service * dan [AWS KMS key manajemen](Overview.Encryption.Keys.md). 

## Mengenkripsi instans DB
<a name="Overview.Encryption.Enabling"></a>

Untuk mengenkripsi instans DB baru, pilih **Aktifkan enkripsi** di konsol Amazon RDS. Untuk informasi tentang pembuatan instans DB, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md). 

Jika Anda menggunakan [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) AWS CLI perintah untuk membuat instance DB terenkripsi, atur parameternya. `--storage-encrypted` Jika Anda menggunakan operasi [Create DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) API, atur `StorageEncrypted` parameter ke true.



Jika Anda menggunakan AWS CLI `create-db-instance` perintah untuk membuat instans DB terenkripsi dengan kunci yang dikelola pelanggan, setel `--kms-key-id` parameter ke pengidentifikasi kunci apa pun untuk kunci KMS. Jika Anda menggunakan operasi `CreateDBInstance` Amazon RDS API, atur parameter `KmsKeyId` ke pengidentifikasi kunci mana pun untuk kunci KMS. Untuk menggunakan kunci yang dikelola pelanggan di AWS akun yang berbeda, tentukan kunci ARN atau alias ARN.

## Menentukan apakah enkripsi untuk instans DB diaktifkan
<a name="Overview.Encryption.Determining"></a>

Anda dapat menggunakan Konsol Manajemen AWS, AWS CLI, atau RDS API untuk menentukan apakah enkripsi saat istirahat diaktifkan untuk instans DB.

### Konsol
<a name="Overview.Encryption.Determining.CON"></a>

**Untuk menentukan apakah enkripsi diam untuk instans DB diaktifkan**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Basis data**.

1. Pilih nama instans DB yang ingin Anda periksa untuk melihat detailnya.

1. Pilih tab **Konfigurasi**, dan periksa nilai **Enkripsi** di bagian **Penyimpanan**.

   Akan muncul **Diaktifkan** atau **Tidak diaktifkan**.  
![\[Memeriksa enkripsi diam untuk instans DB\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/encryption-check-db-instance.png)

### AWS CLI
<a name="Overview.Encryption.Determining.CLI"></a>

Untuk menentukan apakah enkripsi saat istirahat diaktifkan untuk instance DB dengan menggunakan AWS CLI, panggil [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)perintah dengan opsi berikut: 
+ `--db-instance-identifier` – Nama instans DB.

Contoh berikut ini menggunakan kueri untuk mengembalikan `TRUE` atau `FALSE` mengenai enkripsi diam untuk instans DB `mydb`.

**Example**  

```
1. aws rds describe-db-instances --db-instance-identifier mydb --query "*[].{StorageEncrypted:StorageEncrypted}" --output text
```

### API RDS
<a name="Overview.Encryption.Determining.API"></a>

Untuk menentukan apakah enkripsi saat istirahat diaktifkan untuk instans DB dengan menggunakan Amazon RDS API, panggil DBInstances operasi [Deskripsikan](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) dengan parameter berikut: 
+ `DBInstanceIdentifier` – Nama instans DB.

## Ketersediaan enkripsi Amazon RDS
<a name="Overview.Encryption.Availability"></a>

Enkripsi Amazon RDS saat ini tersedia untuk semua jenis mesin basis data dan penyimpanan.

Enkripsi Amazon RDS tersedia untuk sebagian besar kelas instans DB. Tabel berikut mencantumkan kelas instans DB yang *tidak mendukung* enkripsi Amazon RDS:


| Tipe instans | Kelas instans | 
| --- | --- | 
| Tujuan umum (M1) |  db.m1.small db.m1.medium db.m1.large db.m1.xlarge  | 
| Memori dioptimalkan (M2) |  db.m2.xlarge db.m2.2xlarge db.m2.4xlarge  | 
| Burstable (T2) |  db.t2.micro  | 

## Enkripsi saat bergerak
<a name="Overview.Encryption.InTransit"></a>

**Enkripsi pada lapisan fisik**  
Semua data yang mengalir Wilayah AWS melalui jaringan AWS global secara otomatis dienkripsi pada lapisan fisik sebelum meninggalkan fasilitas yang aman. AWS Semua lalu lintas di antaranya AZs dienkripsi. Lapisan enkripsi tambahan, termasuk yang tercantum dalam bagian ini dapat memberikan perlindungan tambahan.

**Enkripsi disediakan oleh peering VPC Amazon dan pengintipan lintas wilayah Gateway Transit**  
Semua lalu lintas lintas Wilayah yang menggunakan Amazon VPC dan Transit Gateway peering secara otomatis dienkripsi secara massal saat keluar dari suatu Wilayah. Lapisan enkripsi tambahan secara otomatis disediakan di lapisan fisik untuk semua lalu lintas sebelum meninggalkan fasilitas yang AWS aman.

**Enkripsi antar instance**  
AWS menyediakan konektivitas aman dan pribadi antara instans DB dari semua jenis. Selain itu, beberapa tipe instans menggunakan kemampuan offload dari perangkat keras Nitro System yang mendasarinya untuk secara otomatis mengenkripsi lalu lintas dalam transit antar instans. Enkripsi ini menggunakan algoritma Authenticated Encryption with Associated Data (AEAD), dengan enkripsi 256-bit. Tidak ada dampak terhadap performa jaringan. Untuk mendukung enkripsi lalu lintas dalam transit tambahan ini antara instans, persyaratan-persyaratan berikut harus dipenuhi:  
+ Instans-instans tersebut menggunakan tipe instans berikut:
  + **Tujuan umum**: M6i, M6iD, M6in, M6idn, M7g
  + **Memori yang dioptimalkan**: R6i, R6id, R6in, R6idn, R7g, X2idn, X2IEDN, X2IEZN
+ Contohnya sama Wilayah AWS.
+ Instans berada dalam VPC atau VPCs peered yang sama, dan lalu lintas tidak melewati perangkat atau layanan jaringan virtual, seperti penyeimbang beban atau gateway transit.

## Batasan instans DB terenkripsi Amazon RDS
<a name="Overview.Encryption.Limitations"></a>

Berikut batasan pada instans DB terenkripsi Amazon RDS:
+ Anda hanya dapat mengenkripsi instans DB Amazon RDS selama proses pembuatannya, bukan setelah instans DB tersebut selesai dibuat.

  Namun, karena Anda dapat mengenkripsi salinan snapshot yang tidak dienkripsi, Anda dapat menambahkan enkripsi secara efektif ke instans DB yang tidak terenkripsi. Artinya, Anda dapat membuat snapshot instans DB, lalu membuat salinan terenkripsi dari snapshot tersebut. Anda kemudian dapat memulihkan instans DB dari snapshot terenkripsi untuk menghasilkan salinan terenkripsi dari instans DB asli. Untuk informasi selengkapnya, lihat [Menyalin snapshot DB untuk Amazon RDS](USER_CopySnapshot.md).
+ Anda tidak dapat menonaktifkan enkripsi pada instans DB terenkripsi.
+ Anda tidak dapat membuat snapshot terenkripsi dari instans DB yang tidak terenkripsi.
+ Snapshot instans DB terenkripsi harus dienkripsi menggunakan kunci KMS yang sama dengan instans DB.
+ Anda tidak dapat memiliki replika baca terenkripsi dari instans DB yang tidak dienkripsi atau replika baca yang tidak dienkripsi dari instans DB terenkripsi.
+ Replika baca terenkripsi harus dienkripsi dengan kunci KMS yang sama dengan instans DB sumber ketika keduanya berada di Wilayah AWS yang sama.
+ Anda tidak dapat memulihkan cadangan atau snapshot yang tidak terenkripsi ke instans DB terenkripsi.
+ Untuk menyalin snapshot terenkripsi dari satu AWS Wilayah ke wilayah lain, Anda harus menentukan kunci KMS di Wilayah tujuan. AWS Ini karena kunci KMS khusus untuk AWS Wilayah tempat mereka dibuat.

  Tangkapan layar sumber tetap terenkripsi selama proses penyalinan. Amazon RDS menggunakan enkripsi amplop untuk melindungi data selama proses penyalinan. Untuk informasi selengkapnya tentang enkripsi amplop, lihat [ Enkripsi amplop](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#enveloping) di *Panduan Developer AWS Key Management Service *.
+ Anda tidak dapat membatalkan enkripsi instans DB terenkripsi. Namun, Anda dapat mengekspor data dari instans DB terenkripsi dan mengimpor data ke instans DB tidak terenkripsi.

# AWS KMS key manajemen
<a name="Overview.Encryption.Keys"></a>

 Amazon RDS Aurora secara otomatis terintegrasi [AWS Key Management Service dengan AWS KMS(](https://docs.aws.amazon.com/kms/latest/developerguide/)) untuk manajemen kunci. Amazon RDS Aurora menggunakan enkripsi amplop. Untuk informasi selengkapnya tentang enkripsi amplop, lihat [ Enkripsi amplop](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#enveloping) di *Panduan Developer AWS Key Management Service *. 

 
+ Jika Anda menginginkan kontrol penuh atas kunci KMS, Anda harus membuat *kunci yang dikelola pelanggan*. Untuk informasi selengkapnya tentang kunci yang dikelola pelanggan, lihat [Kunci yang dikelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) di *Panduan Developer AWS Key Management Service *. 
+  *Kunci yang dikelola AWS*adalah kunci KMS di akun Anda yang dibuat, dikelola, dan digunakan atas nama Anda oleh AWS layanan yang terintegrasi dengannya AWS KMS. Secara default, RDS Kunci yang dikelola AWS (`aws/rds`) digunakan untuk enkripsi. Anda tidak dapat mengelola, memutar, atau menghapus RDS. Kunci yang dikelola AWS Untuk informasi selengkapnya Kunci yang dikelola AWS, lihat [Kunci yang dikelola AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)di *Panduan AWS Key Management Service Pengembang*. 

[Untuk mengelola kunci KMS yang digunakan untuk cluster DB terenkripsi Amazon RDS Aurora, gunakan [AWS KMS() di AWS Key Management ServiceAWS KMS konsol](https://docs.aws.amazon.com/kms/latest/developerguide/), atau API.](https://console.aws.amazon.com/kms) AWS CLI AWS KMS Untuk melihat log Audit setiap tindakan yang diambil dengan kunci yang dikelola pelanggan atau AWS , gunakan [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/). Untuk informasi selengkapnya tentang rotasi kunci, lihat [Merotasi kunci AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html). 

## Mengizinkan penggunaan kunci yang dikelola pelanggan
<a name="Overview.Encryption.Keys.Authorizing"></a>



Untuk membuat sumber daya RDS menggunakan kunci yang dikelola pelanggan, pengguna harus memiliki izin untuk memanggil operasi berikut pada kunci yang dikelola pelanggan:
+  `kms:CreateGrant` 
+  `kms:DescribeKey` 

Anda dapat menentukan izin yang diperlukan ini dalam kebijakan kunci, atau dalam kebijakan IAM jika kebijakan kunci memungkinkan hal tersebut.

**penting**  
Bila Anda menggunakan pernyataan penolakan eksplisit untuk semua sumber daya (\$1) dalam kebijakan AWS KMS utama dengan layanan terkelola seperti Amazon RDS, Anda harus menentukan kondisi untuk mengizinkan akun pemilik sumber daya. Operasi mungkin gagal tanpa kondisi ini, bahkan jika aturan penolakan menyertakan pengecualian untuk pengguna IAM Anda.

**Tip**  
Untuk mengikuti prinsip hak akses paling rendah, jangan biarkan akses penuh ke `kms:CreateGrant`. Sebagai gantinya, gunakan [kunci ViaService kondisi kms:](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service) untuk memungkinkan pengguna membuat hibah pada kunci KMS hanya ketika hibah dibuat atas nama pengguna oleh layanan. AWS 

Anda dapat membuat kebijakan IAM lebih ketat dalam berbagai cara. Misalnya, jika Anda ingin mengizinkan kunci yang dikelola pelanggan hanya digunakan untuk permintaan yang berasal dari RDS , gunakan [kunci kms: ViaService kondisi dengan nilainya](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service). `rds.<region>.amazonaws.com` Selain itu, Anda dapat menggunakan kunci atau nilai dalam [Konteks enkripsi Amazon RDS](#Overview.Encryption.Keys.encryptioncontext) sebagai syarat untuk menggunakan kunci yang dikelola pelanggan untuk enkripsi.

Untuk informasi selengkapnya, lihat [Mengizinkan pengguna di akun lain untuk menggunakan kunci KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) di *Panduan Developer AWS Key Management Service * dan [Kebijakan kunci di AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies). 

## Konteks enkripsi Amazon RDS
<a name="Overview.Encryption.Keys.encryptioncontext"></a>

[Ketika RDS menggunakan kunci KMS Anda, atau ketika Amazon EBS menggunakan kunci KMS atas nama RDS, layanan menentukan konteks enkripsi.](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) Konteks enkripsi adalah [data otentikasi tambahan](https://docs.aws.amazon.com/crypto/latest/userguide/cryptography-concepts.html#term-aad) (AAD) yang AWS KMS digunakan untuk memastikan integritas data. Ketika konteks enkripsi ditentukan untuk operasi enkripsi, layanan harus menentukan konteks enkripsi yang sama untuk operasi dekripsi. Jika tidak, dekripsi akan gagal. Konteks enkripsi juga ditulis ke log [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) untuk membantu Anda memahami mengapa kunci KMS tertentu digunakan. CloudTrail Log Anda mungkin berisi banyak entri yang menjelaskan penggunaan kunci KMS, tetapi konteks enkripsi di setiap entri log dapat membantu Anda menentukan alasan penggunaan tertentu.

Minimal, Amazon RDS selalu menggunakan ID cluster DB untuk konteks enkripsi, seperti pada contoh berformat JSON berikut:

```
{ "aws:rds:db-id": "db-CQYSMDPBRZ7BPMH7Y3RTDG5QY" }
```

Konteks enkripsi ini dapat membantu Anda mengidentifikasi instans DB tempat kunci KMS Anda digunakan.

Bila kunci KMS Anda digunakan untuk instans DB tertentu dan volume Amazon EBS tertentu, ID instans DB dan ID volume Amazon EBS digunakan untuk konteks enkripsi, seperti pada contoh berformat JSON berikut:

```
{
  "aws:rds:db-id": "db-BRG7VYS3SVIFQW7234EJQOM5RQ",
  "aws:ebs:id": "vol-ad8c6542"
}
```

# 
<a name="UsingWithRDS.SSL"></a>

Anda dapat menggunakan Secure Socket Layer (SSL) atau Transport Layer Security (TLS) dari aplikasi Anda untuk mengenkripsi koneksi ke database yang menjalankan Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle, atau PostgreSQL.

 Secara opsional, SSL/TLS koneksi Anda dapat melakukan verifikasi identitas server dengan memvalidasi sertifikat server yang diinstal pada database Anda. Untuk meminta verifikasi identitas server, ikuti proses umum ini:

1. Pilih **Otoritas Sertifikat (CA)** yang menandatangani **sertifikat server DB,** untuk basis data Anda. Untuk informasi selengkapnya tentang otoritas sertifikat, lihat[Otoritas sertifikat](#UsingWithRDS.SSL.RegionCertificateAuthorities). 

1. Unduh paket sertifikat yang akan digunakan saat Anda terhubung ke basis data. Untuk mengunduh bundel sertifikat, lihat [Bundel sertifikat oleh Wilayah AWS](#UsingWithRDS.SSL.CertificatesAllRegions). 
**catatan**  
Semua sertifikat hanya tersedia untuk diunduh menggunakan koneksi SSL/TLS.

1. Connect ke database menggunakan proses mesin DB Anda untuk menerapkan SSL/TLS koneksi. Setiap mesin DB memiliki proses sendiri SSL/TLS. To learn how to implement SSL/TLS untuk mengimplementasikan database Anda, ikuti tautan yang sesuai dengan mesin DB Anda:
   +  [Menggunakan SSL/TLS dengan Amazon RDS untuk instans Db2 DB](Db2.Concepts.SSL.md) 
   +  [Dukungan SSL/TLS untuk instans MariaDB DB di Amazon RDS](MariaDB.Concepts.SSLSupport.md) 
   +  [Menggunakan SSL dengan instans DB Microsoft SQL Server](SQLServer.Concepts.General.SSL.Using.md) 
   +  [Dukungan SSL/TLS untuk instans MySQL DB di Amazon RDS](MySQL.Concepts.SSLSupport.md) 
   +  [Menggunakan SSL dengan instans DB RDS for Oracle](Oracle.Concepts.SSL.md) 
   +  [Menggunakan SSL dengan instans DB PostgreSQL](PostgreSQL.Concepts.General.SSL.md) 

## Otoritas sertifikat
<a name="UsingWithRDS.SSL.RegionCertificateAuthorities"></a>

**Otoritas Sertifikat (CA)** adalah sertifikat yang mengidentifikasi CA root di bagian atas rantai sertifikat. CA menandatangani **sertifikat server DB,** yang diinstal pada setiap instans DB. Sertifikat server DB mengidentifikasi instans DB sebagai server tepercaya.

![\[Gambaran umum otoritas sertifikat\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/certificate-authority-overview.png)


Amazon RDS menyediakan yang berikut ini CAs untuk menandatangani sertifikat server DB untuk database.


****  

| Otoritas sertifikat (CA) | Deskripsi | Nama umum (CN) | 
| --- | --- | --- | 
|  rds-ca-rsa2048-g1  |  Menggunakan otoritas sertifikat dengan algoritma kunci pribadi RSA 2048 dan algoritma SHA256 penandatanganan di sebagian besar. Wilayah AWS Dalam AWS GovCloud (US) Regions, CA ini menggunakan otoritas sertifikat dengan algoritma kunci pribadi RSA 2048 dan algoritma SHA384 penandatanganan. CA ini mendukung rotasi sertifikat server otomatis.  | Amazon RDS region-identifier Root CA RSA2048 G1 | 
|  rds-ca-rsa4096-g1  |  Menggunakan otoritas sertifikat dengan algoritma kunci pribadi RSA 4096 dan algoritma SHA384 penandatanganan. CA ini mendukung rotasi sertifikat server otomatis.   | Amazon RDS region-identifier Root CA RSA4096 G1 | 
|  rds-ca-ecc384-g1  |  Menggunakan otoritas sertifikat dengan algoritma kunci pribadi ECC 384 dan algoritma SHA384 penandatanganan. CA ini mendukung rotasi sertifikat server otomatis.   | Amazon RDS region-identifier Root CA ECC384 G1 | 

**catatan**  
[Jika Anda menggunakan AWS CLI, Anda dapat melihat validitas otoritas sertifikat yang tercantum di atas dengan menggunakan deskripsi-sertifikat.](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-certificates.html) 

Sertifikat CA ini termasuk dalam paket sertifikat regional dan global. Bila Anda menggunakan rds-ca-rsa 2048-g1, rds-ca-rsa 4096-g1, atau rds-ca-ecc 384-g1 CA dengan database, RDS mengelola sertifikat server DB pada database. RDS merotasi sertifikat server DB secara otomatis sebelum sertifikat ini kedaluwarsa. 

### Mengatur CA untuk basis data Anda
<a name="UsingWithRDS.SSL.RegionCertificateAuthorities.Selection"></a>

Anda dapat mengatur CA untuk basis data saat Anda melakukan tugas berikut:
+ Buat instans DB atau cluster DB multi-AZ — Anda dapat mengatur CA saat membuat instans atau cluster DB. Untuk instruksi, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md) atau[Membuat cluster DB Multi-AZ untuk Amazon RDS](create-multi-az-db-cluster.md).
+ Memodifikasi instans DB atau cluster DB multi-AZ — Anda dapat mengatur CA untuk instans atau cluster DB dengan memodifikasinya. Untuk instruksi, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md) atau[Memodifikasi cluster DB Multi-AZ untuk Amazon RDS](modify-multi-az-db-cluster.md).

**catatan**  
 CA default diatur ke rds-ca-rsa 2048-g1. Anda dapat mengganti CA default untuk Anda Akun AWS dengan menggunakan perintah [modify-certificate](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-certificates.html).

Yang tersedia CAs tergantung pada mesin DB dan versi mesin DB. Bila Anda menggunakan Konsol Manajemen AWS, Anda dapat memilih CA menggunakan pengaturan **otoritas Sertifikat**, seperti yang ditunjukkan pada gambar berikut.

![\[Opsi otoritas sertifikat\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/certificate-authority.png)


Konsol hanya menampilkan CAs yang tersedia untuk mesin DB dan versi mesin DB. Jika Anda menggunakan AWS CLI, Anda dapat mengatur CA untuk instans DB menggunakan [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)perintah [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)or. Anda dapat mengatur CA untuk cluster DB multi-AZ menggunakan [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html)perintah [create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html)or. 

Jika Anda menggunakan AWS CLI, Anda dapat melihat yang tersedia CAs untuk akun Anda dengan menggunakan [perintah describe-certificate](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-certificates.html). Perintah ini juga menunjukkan tanggal kedaluwarsa untuk setiap CA di `ValidTill` dalam output. Anda dapat menemukan CAs yang tersedia untuk mesin DB tertentu dan versi mesin DB menggunakan [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html)perintah.

Contoh berikut menunjukkan CAs tersedia untuk RDS default untuk versi mesin PostgreSQL DB.

```
aws rds describe-db-engine-versions --default-only --engine postgres
```

Output Anda akan seperti yang berikut ini. Yang CAs tersedia tercantum dalam`SupportedCACertificateIdentifiers`. Output ini juga menunjukkan apakah versi mesin DB mendukung rotasi sertifikat tanpa pengaktifan ulang di `SupportsCertificateRotationWithoutRestart`. 

```
{
    "DBEngineVersions": [
        {
            "Engine": "postgres",
            "MajorEngineVersion": "13",
            "EngineVersion": "13.4",
            "DBParameterGroupFamily": "postgres13",
            "DBEngineDescription": "PostgreSQL",
            "DBEngineVersionDescription": "PostgreSQL 13.4-R1",
            "ValidUpgradeTarget": [],
            "SupportsLogExportsToCloudwatchLogs": false,
            "SupportsReadReplica": true,
            "SupportedFeatureNames": [
                "Lambda"
            ],
            "Status": "available",
            "SupportsParallelQuery": false,
            "SupportsGlobalDatabases": false,
            "SupportsBabelfish": false,
            "SupportsCertificateRotationWithoutRestart": true,
            "SupportedCACertificateIdentifiers": [
                "rds-ca-rsa2048-g1",
                "rds-ca-ecc384-g1",
                "rds-ca-rsa4096-g1"
            ]
        }
    ]
}
```

### Validitas sertifikat server DB
<a name="UsingWithRDS.SSL.RegionCertificateAuthorities.DBServerCert"></a>

Validitas sertifikat server DB bergantung pada mesin DB dan versi mesin DB. Jika versi mesin DB mendukung rotasi sertifikat tanpa pengaktifan ulang, validitas sertifikat server DB adalah 1 tahun. Jika tidak, validitasnya adalah 3 tahun.

Untuk informasi selengkapnya tentang rotasi sertifikat server DB, lihat[Rotasi sertifikat server otomatis](UsingWithRDS.SSL-certificate-rotation.md#UsingWithRDS.SSL-certificate-rotation-server-cert-rotation). 

### Melihat CA untuk instans DB Anda
<a name="UsingWithRDS.SSL.RegionCertificateAuthorities.Viewing"></a>

Anda dapat melihat detail tentang CA untuk database dengan melihat tab **Konektivitas & keamanan** di konsol, seperti pada gambar berikut.

![\[Detail otoritas sertifikat\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/certificate-authority-details.png)


Jika Anda menggunakan AWS CLI, Anda dapat melihat detail tentang CA untuk instans DB dengan menggunakan [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)perintah. Anda dapat melihat detail tentang CA untuk cluster DB multi-AZ dengan menggunakan [describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html)perintah. 

## 
<a name="UsingWithRDS.SSL.CertificatesDownload"></a>

Saat Anda terhubung ke database dengan SSL atau TLS, instance database memerlukan sertifikat kepercayaan dari Amazon RDS. Pilih tautan yang sesuai di tabel berikut untuk mengunduh bundel yang sesuai dengan Wilayah AWS tempat Anda meng-host database Anda.

### Bundel sertifikat oleh Wilayah AWS
<a name="UsingWithRDS.SSL.CertificatesAllRegions"></a>

Bundel sertifikat untuk semua Wilayah AWS dan Wilayah GovCloud (AS) berisi sertifikat CA root berikut:
+  `rds-ca-rsa2048-g1` 
+  `rds-ca-rsa4096-g1` 
+  `rds-ca-ecc384-g1` 

`rds-ca-ecc384-g1`Sertifikat `rds-ca-rsa4096-g1` dan sertifikat tidak tersedia di Wilayah berikut:
+ Asia Pasifik (Mumbai)
+ Asia Pacific (Melbourne)
+ Kanada Barat (Calgary)
+ Europe (Zurich)
+ Eropa (Spanyol)
+ Israel (Tel Aviv)

Toko kepercayaan aplikasi Anda hanya perlu mendaftarkan sertifikat CA root. Jangan mendaftarkan sertifikat CA perantara ke toko kepercayaan Anda karena ini dapat menyebabkan masalah koneksi ketika RDS secara otomatis memutar sertifikat server DB Anda.

**catatan**  
Amazon RDS Proxy menggunakan sertifikat dari AWS Certificate Manager (ACM). Jika Anda menggunakan RDS Proxy, Anda tidak perlu mengunduh sertifikat Amazon RDS atau memperbarui aplikasi yang menggunakan koneksi Proxy RDS. Untuk informasi selengkapnya, lihat [Menggunakan TLS/SSL dengan RDS Proxy](rds-proxy.howitworks.md#rds-proxy-security.tls).

Untuk mengunduh bundel sertifikat Wilayah AWS, pilih tautan untuk Wilayah AWS yang menghosting database Anda di tabel berikut.


|  **AWS Wilayah**  |  **Paket sertifikat (PEM)**  |  **Bundel sertifikat (PKCS7)**  | 
| --- | --- | --- | 
| Komersil apa pun Wilayah AWS |  [global-bundle.pem](https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem)  |  [global-bundle.p7b](https://truststore.pki.rds.amazonaws.com/global/global-bundle.p7b)  | 
| AS Timur (Virginia Utara) |  [us-east-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/us-east-1/us-east-1-bundle.pem)  |  [us-east-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/us-east-1/us-east-1-bundle.p7b)  | 
| AS Timur (Ohio) |  [us-east-2-bundle.pem](https://truststore.pki.rds.amazonaws.com/us-east-2/us-east-2-bundle.pem)  |  [us-east-2-bundle.p7b](https://truststore.pki.rds.amazonaws.com/us-east-2/us-east-2-bundle.p7b)  | 
| AS Barat (California Utara) |  [us-west-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/us-west-1/us-west-1-bundle.pem)  |  [us-west-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/us-west-1/us-west-1-bundle.p7b)  | 
| AS Barat (Oregon) |  [us-west-2-bundle.pem](https://truststore.pki.rds.amazonaws.com/us-west-2/us-west-2-bundle.pem)  |  [us-west-2-bundle.p7b](https://truststore.pki.rds.amazonaws.com/us-west-2/us-west-2-bundle.p7b)  | 
| Afrika (Cape Town) |  [af-south-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/af-south-1/af-south-1-bundle.pem)  |  [af-south-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/af-south-1/af-south-1-bundle.p7b)  | 
| Asia Pasifik (Hong Kong) |  [ap-east-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/ap-east-1/ap-east-1-bundle.pem)  |  [ap-east-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/ap-east-1/ap-east-1-bundle.p7b)  | 
| Asia Pasifik (Hyderabad) |  [ap-south-2-bundle.pem](https://truststore.pki.rds.amazonaws.com/ap-south-2/ap-south-2-bundle.pem)  |  [ap-south-2-bundle.p7b](https://truststore.pki.rds.amazonaws.com/ap-south-2/ap-south-2-bundle.p7b)  | 
| Asia Pasifik (Jakarta) |  [ap-southeast-3-bundle.pem](https://truststore.pki.rds.amazonaws.com/ap-southeast-3/ap-southeast-3-bundle.pem)  |  [ap-southeast-3-bundle.p7b](https://truststore.pki.rds.amazonaws.com/ap-southeast-3/ap-southeast-3-bundle.p7b)  | 
| Asia Pasifik (Malaysia) |  [ap-tenggara 5-bundel.pem](https://truststore.pki.rds.amazonaws.com/ap-southeast-5/ap-southeast-5-bundle.pem)  |  [ap-tenggara 5-bundel.p7b](https://truststore.pki.rds.amazonaws.com/ap-southeast-5/ap-southeast-5-bundle.p7b)  | 
| Asia Pacific (Melbourne) |  [ap-southeast-4-bundle.pem](https://truststore.pki.rds.amazonaws.com/ap-southeast-4/ap-southeast-4-bundle.pem)  |  [ap-southeast-4-bundle.p7b](https://truststore.pki.rds.amazonaws.com/ap-southeast-4/ap-southeast-4-bundle.p7b)  | 
| Asia Pasifik (Mumbai) |  [ap-south-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/ap-south-1/ap-south-1-bundle.pem)  |  [ap-south-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/ap-south-1/ap-south-1-bundle.p7b)  | 
| Asia Pasifik (Osaka) |  [ap-northeast-3-bundle.pem](https://truststore.pki.rds.amazonaws.com/ap-northeast-3/ap-northeast-3-bundle.pem)  |  [ap-northeast-3-bundle.p7b](https://truststore.pki.rds.amazonaws.com/ap-northeast-3/ap-northeast-3-bundle.p7b)  | 
| Asia Pasifik (Thailand) |  [ap-tenggara 7-bundel.pem](https://truststore.pki.rds.amazonaws.com/ap-southeast-7/ap-southeast-7-bundle.pem)  |  [ap-tenggara 7-bundel.p7b](https://truststore.pki.rds.amazonaws.com/ap-southeast-7/ap-southeast-7-bundle.p7b)  | 
| Asia Pasifik (Tokyo) |  [ap-northeast-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/ap-northeast-1/ap-northeast-1-bundle.pem)  |  [ap-northeast-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/ap-northeast-1/ap-northeast-1-bundle.p7b)  | 
| Asia Pasifik (Seoul) |  [ap-northeast-2-bundle.pem](https://truststore.pki.rds.amazonaws.com/ap-northeast-2/ap-northeast-2-bundle.pem)  |  [ap-northeast-2-bundle.p7b](https://truststore.pki.rds.amazonaws.com/ap-northeast-2/ap-northeast-2-bundle.p7b)  | 
| Asia Pasifik (Singapura) |  [ap-southeast-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/ap-southeast-1/ap-southeast-1-bundle.pem)  |  [ap-southeast-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/ap-southeast-1/ap-southeast-1-bundle.p7b)  | 
| Asia Pasifik (Sydney) |  [ap-southeast-2-bundle.pem](https://truststore.pki.rds.amazonaws.com/ap-southeast-2/ap-southeast-2-bundle.pem)  |  [ap-southeast-2-bundle.p7b](https://truststore.pki.rds.amazonaws.com/ap-southeast-2/ap-southeast-2-bundle.p7b)  | 
| Kanada (Pusat) |  [ca-central-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/ca-central-1/ca-central-1-bundle.pem)  |  [ca-central-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/ca-central-1/ca-central-1-bundle.p7b)  | 
| Kanada Barat (Calgary) |  [ca-barat-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/ca-west-1/ca-west-1-bundle.pem)  |  [ca-barat-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/ca-west-1/ca-west-1-bundle.p7b)  | 
| Eropa (Frankfurt) |  [eu-central-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/eu-central-1/eu-central-1-bundle.pem)  |  [eu-central-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/eu-central-1/eu-central-1-bundle.p7b)  | 
| Eropa (Irlandia) |  [eu-west-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/eu-west-1/eu-west-1-bundle.pem)  |  [eu-west-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/eu-west-1/eu-west-1-bundle.p7b)  | 
| Eropa (London) |  [eu-west-2-bundle.pem](https://truststore.pki.rds.amazonaws.com/eu-west-2/eu-west-2-bundle.pem)  |  [eu-west-2-bundle.p7b](https://truststore.pki.rds.amazonaws.com/eu-west-2/eu-west-2-bundle.p7b)  | 
| Eropa (Milan) |  [eu-south-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/eu-south-1/eu-south-1-bundle.pem)  |  [eu-south-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/eu-south-1/eu-south-1-bundle.p7b)  | 
| Eropa (Paris) |  [eu-west-3-bundle.pem](https://truststore.pki.rds.amazonaws.com/eu-west-3/eu-west-3-bundle.pem)  |  [eu-west-3-bundle.p7b](https://truststore.pki.rds.amazonaws.com/eu-west-3/eu-west-3-bundle.p7b)  | 
| Eropa (Spanyol) |  [eu-south-2-bundle.pem](https://truststore.pki.rds.amazonaws.com/eu-south-2/eu-south-2-bundle.pem)  |  [eu-south-2-bundle.p7b](https://truststore.pki.rds.amazonaws.com/eu-south-2/eu-south-2-bundle.p7b)  | 
| Eropa (Stockholm) |  [eu-north-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/eu-north-1/eu-north-1-bundle.pem)  |  [eu-north-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/eu-north-1/eu-north-1-bundle.p7b)  | 
| Eropa (Zürich) |  [eu-central-2-bundle.pem](https://truststore.pki.rds.amazonaws.com/eu-central-2/eu-central-2-bundle.pem)  |  [eu-central-2-bundle.p7b](https://truststore.pki.rds.amazonaws.com/eu-central-2/eu-central-2-bundle.p7b)  | 
| Israel (Tel Aviv) |  [il-central-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/il-central-1/il-central-1-bundle.pem)  |  [il-central-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/il-central-1/il-central-1-bundle.p7b)  | 
| Meksiko (Tengah) |  [mx-sentral-1-bundel.pem](https://truststore.pki.rds.amazonaws.com/mx-central-1/mx-central-1-bundle.pem)  |  [mx-sentral-1-bundel.p7b](https://truststore.pki.rds.amazonaws.com/mx-central-1/mx-central-1-bundle.p7b)  | 
| Timur Tengah (Bahrain) |  [me-south-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/me-south-1/me-south-1-bundle.pem)  |  [me-south-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/me-south-1/me-south-1-bundle.p7b)  | 
| Timur Tengah (UEA) |  [me-central-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/me-central-1/me-central-1-bundle.pem)  |  [me-central-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/me-central-1/me-central-1-bundle.p7b)  | 
| Amerika Selatan (Sao Paulo) |  [sa-east-1-bundle.pem](https://truststore.pki.rds.amazonaws.com/sa-east-1/sa-east-1-bundle.pem)  |  [sa-east-1-bundle.p7b](https://truststore.pki.rds.amazonaws.com/sa-east-1/sa-east-1-bundle.p7b)  | 
| Setiap AWS GovCloud (US) Region s |  [global-bundle.pem](https://truststore.pki.us-gov-west-1.rds.amazonaws.com/global/global-bundle.pem)  |  [global-bundle.p7b](https://truststore.pki.us-gov-west-1.rds.amazonaws.com/global/global-bundle.p7b)  | 
| AWS GovCloud (AS-Timur) |  [us-gov-east-1-bundel.pem](https://truststore.pki.us-gov-west-1.rds.amazonaws.com/us-gov-east-1/us-gov-east-1-bundle.pem)  |  [us-gov-east-1-bundel.p7b](https://truststore.pki.us-gov-west-1.rds.amazonaws.com/us-gov-east-1/us-gov-east-1-bundle.p7b)  | 
| AWS GovCloud (AS-Barat) |  [us-gov-west-1-bundel.pem](https://truststore.pki.us-gov-west-1.rds.amazonaws.com/us-gov-west-1/us-gov-west-1-bundle.pem)  |  [us-gov-west-1-bundel.p7b](https://truststore.pki.us-gov-west-1.rds.amazonaws.com/us-gov-west-1/us-gov-west-1-bundle.p7b)  | 

### Melihat isi sertifikat CA Anda
<a name="UsingWithRDS.SSL.CertificatesDownload.viewing"></a>

Untuk memeriksa konten paket sertifikat CA Anda, gunakan perintah berikut: 

```
keytool -printcert -v -file global-bundle.pem
```

# Memutar sertifikat Anda SSL/TLS
<a name="UsingWithRDS.SSL-certificate-rotation"></a>

Sertifikat Otoritas Sertifikat Amazon RDS rds-ca-2019 berakhir pada Agustus 2024. Jika Anda menggunakan atau berencana untuk menggunakan Secure Sockets Layer (SSL) atau Transport Layer Security (TLS) dengan verifikasi sertifikat untuk terhubung ke instans RDS DB atau cluster DB multi-AZ, pertimbangkan untuk menggunakan salah satu sertifikat rds-ca-rsa CA baru 2048-g1, 4096-g1 atau 384-g1. rds-ca-rsa rds-ca-ecc Jika saat ini Anda tidak menggunakan SSL/TLS dengan verifikasi sertifikat, Anda mungkin masih memiliki sertifikat CA yang kedaluwarsa dan harus memperbaruinya ke sertifikat CA baru jika Anda berencana untuk menggunakan SSL/TLS dengan verifikasi sertifikat untuk terhubung ke database RDS Anda.

Amazon RDS menyediakan sertifikat CA baru sebagai praktik terbaik AWS keamanan. Untuk informasi tentang sertifikat baru dan AWS Wilayah yang didukung, lihat[](UsingWithRDS.SSL.md).

Untuk memperbarui sertifikat CA untuk database Anda, gunakan metode berikut: 
+  [Memperbarui sertifikat CA Anda dengan memodifikasi instans atau cluster DB Anda](#UsingWithRDS.SSL-certificate-rotation-updating) 
+  [Memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan](#UsingWithRDS.SSL-certificate-rotation-maintenance-update) 

Sebelum memperbarui instans DB atau cluster DB multi-AZ untuk menggunakan sertifikat CA baru, pastikan Anda memperbarui klien atau aplikasi yang terhubung ke database RDS Anda.

## Pertimbangan untuk memutar sertifikat
<a name="UsingWithRDS.SSL-certificate-rotation-considerations"></a>

Pertimbangkan situasi berikut sebelum memutar sertifikat Anda:
+ Amazon RDS Proxy menggunakan sertifikat dari AWS Certificate Manager (ACM). Jika Anda menggunakan RDS Proxy, saat memutar SSL/TLS sertifikat, Anda tidak perlu memperbarui aplikasi yang menggunakan koneksi Proxy RDS. Untuk informasi selengkapnya, lihat [Menggunakan TLS/SSL dengan RDS Proxy](rds-proxy.howitworks.md#rds-proxy-security.tls).
+ Jika Anda menggunakan aplikasi Go versi 1.15 dengan instans DB atau cluster DB multi-AZ yang dibuat atau diperbarui ke sertifikat rds-ca-2019 sebelum 28 Juli 2020, Anda harus memperbarui sertifikat lagi. 

  Gunakan `modify-db-instance` perintah untuk instans DB, atau `modify-db-cluster` perintah untuk cluster DB multi-AZ, menggunakan pengidentifikasi sertifikat CA baru. Anda dapat menemukan CAs yang tersedia untuk mesin DB tertentu dan versi mesin DB menggunakan `describe-db-engine-versions` perintah. 

  Jika Anda membuat database atau memperbarui sertifikatnya setelah 28 Juli 2020, tidak ada tindakan yang diperlukan. Untuk informasi selengkapnya, lihat [Go GitHub issue \$139568](https://github.com/golang/go/issues/39568). 

## Memperbarui sertifikat CA Anda dengan memodifikasi instans atau cluster DB Anda
<a name="UsingWithRDS.SSL-certificate-rotation-updating"></a>

*Contoh berikut memperbarui sertifikat CA Anda dari *rds-ca-2019* ke 2048-g1. rds-ca-rsa* Anda dapat memilih sertifikat yang berbeda. Untuk informasi lebih lanjut, lihat[Otoritas sertifikat](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities). 

Perbarui toko kepercayaan aplikasi Anda untuk mengurangi waktu henti yang terkait dengan memperbarui sertifikat CA Anda. Untuk informasi selengkapnya tentang restart yang terkait dengan rotasi sertifikat CA, lihat[Rotasi sertifikat server otomatis](#UsingWithRDS.SSL-certificate-rotation-server-cert-rotation).

**Untuk memperbarui sertifikat CA Anda dengan memodifikasi instans atau cluster DB Anda**

1. Unduh SSL/TLS sertifikat baru seperti yang dijelaskan dalam[](UsingWithRDS.SSL.md).

1. Perbarui aplikasi Anda untuk menggunakan sertifikat SSL/TLS baru.

   Metode untuk memperbarui aplikasi untuk SSL/TLS sertifikat baru bergantung pada aplikasi spesifik Anda. Bekerja dengan pengembang aplikasi Anda untuk memperbarui SSL/TLS sertifikat untuk aplikasi Anda.

   Untuk informasi tentang memeriksa SSL/TLS koneksi dan memperbarui aplikasi untuk setiap mesin DB, lihat topik berikut:
   +  [Memperbarui aplikasi untuk terhubung ke instance MariaDB menggunakan sertifikat baru SSL/TLS](ssl-certificate-rotation-mariadb.md) 
   +  [Memperbarui aplikasi untuk terhubung ke instans Microsoft SQL Server DB menggunakan sertifikatSSL/TLSbaru](ssl-certificate-rotation-sqlserver.md) 
   +  [Memperbarui aplikasi untuk terhubung ke instance MySQL DB menggunakan sertifikat baru SSL/TLS](ssl-certificate-rotation-mysql.md) 
   +  [Memperbarui aplikasi untuk terhubung ke instans Oracle DB menggunakan sertifikat baru SSL/TLS](ssl-certificate-rotation-oracle.md) 
   +  [Memperbarui aplikasi untuk terhubung ke instance PostgreSQL DB menggunakan sertifikat baru SSL/TLS](ssl-certificate-rotation-postgresql.md) 

   Untuk contoh skrip yang memperbarui toko kepercayaan untuk sistem operasi Linux, lihat[Contoh skrip untuk mengimpor sertifikat ke trust store Anda](#UsingWithRDS.SSL-certificate-rotation-sample-script).
**catatan**  
Paket sertifikat berisi sertifikat untuk CA lama dan baru, sehingga Anda dapat meningkatkan aplikasi Anda dengan aman dan mempertahankan konektivitas selama periode transisi. Jika Anda menggunakan AWS Database Migration Service untuk memigrasikan database ke instans DB atau cluster , sebaiknya gunakan bundel sertifikat untuk memastikan konektivitas selama migrasi.

1. **Ubah instans DB atau cluster DB multi-AZ untuk mengubah CA dari **rds-ca-2019** menjadi 2048-g1. rds-ca-rsa** Untuk memeriksa apakah database Anda memerlukan restart untuk memperbarui sertifikat CA, gunakan [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html)perintah dan periksa `SupportsCertificateRotationWithoutRestart` bendera. 
**penting**  
Jika Anda mengalami masalah konektivitas setelah masa berlaku sertifikat berakhir, gunakan opsi terapkan segera dengan menentukan **Terapkan segera** di konsol atau dengan menentukan opsi `--apply-immediately` menggunakan AWS CLI. Secara default, operasi ini dijadwalkan untuk berjalan selama jendela pemeliharaan berikutnya.  
Untuk instans RDS untuk Oracle DB, kami sarankan Anda memulai ulang Oracle DB Anda untuk mencegah kesalahan koneksi.  
Untuk instans RDS untuk SQL Server Multi-AZ dengan AlwaysOn atau opsi Mirroring diaktifkan, failover diharapkan saat instance di-boot ulang setelah rotasi sertifikat.  
Untuk menyetel penggantian CA instance Anda yang berbeda dari CA RDS default, gunakan perintah CLI [modify-certificate](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-certificates.html).

Anda dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk mengubah sertifikat CA dari **rds-ca-2019 ke **rds-ca-rsa2048-g1** untuk instans DB** atau cluster DB multi-AZ. 

------
#### [ Console ]

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Databases**, lalu pilih instans DB atau cluster DB multi-AZ yang ingin Anda modifikasi. 

1. Pilih **Ubah**.   
![\[Ubah instans DB atau cluster DB Multi-AZ\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-modify.png)

1. Di bagian **Konektivitas**, pilih **rds-ca-rsa2048-g1**.   
![\[Pilih sertifikat CA\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-ca-rsa2048-g1.png)

1. Pilih **Lanjutkan** dan periksa ringkasan modifikasi. 

1. Untuk segera menerapkan perubahan, pilih **Terapkan segera**. 

1. Di halaman konfirmasi, tinjau perubahan Anda. Jika benar, pilih **Modify DB Instance** atau **Modify cluster** untuk menyimpan perubahan Anda. 
**penting**  
Saat Anda menjadwalkan operasi ini, pastikan bahwa Anda telah memperbarui trust store sisi klien sebelumnya.

   Atau pilih **Kembali** untuk mengedit perubahan atau **Batalkan** untuk membatalkan perubahan Anda. 

------
#### [ AWS CLI ]

Untuk menggunakan AWS CLI untuk mengubah CA dari **rds-ca-2019** ke **rds-ca-rsa2048-g1** untuk instans DB atau cluster DB multi-AZ, panggil perintah or. [modify-db-instance[modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html)](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) Tentukan instans DB atau pengidentifikasi cluster dan `--ca-certificate-identifier` opsi.

Gunakan `--apply-immediately` parameter untuk segera menerapkan pembaruan. Secara default, operasi ini dijadwalkan untuk berjalan selama periode pemeliharaan berikutnya.

**penting**  
Saat Anda menjadwalkan operasi ini, pastikan bahwa Anda telah memperbarui trust store sisi klien sebelumnya.

**Example**  
 **contoh DB**   
Contoh berikut memodifikasi `mydbinstance` dengan menyetel sertifikat CA ke`rds-ca-rsa2048-g1`.   
Untuk Linux, macOS, atau Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
Untuk Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
Jika instance Anda memerlukan reboot, Anda dapat menggunakan perintah [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)CLI dan menentukan opsi. `--no-certificate-rotation-restart`

**Example**  
 **Kluster DB multi-AZ**   
Contoh berikut memodifikasi `mydbcluster` dengan menyetel sertifikat CA ke`rds-ca-rsa2048-g1`.   
Untuk Linux, macOS, atau Unix:  

```
aws rds modify-db-cluster \
    --db-cluster-identifier mydbcluster \
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
Untuk Windows:  

```
aws rds modify-db-cluster ^
    --db-cluster-identifier mydbcluster ^
    --ca-certificate-identifier rds-ca-rsa2048-g1
```

------

## Memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan
<a name="UsingWithRDS.SSL-certificate-rotation-maintenance-update"></a>

Lakukan langkah-langkah berikut untuk memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan.

------
#### [ Console ]

**Untuk memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Pembaruan sertifikat**.   
![\[Opsi panel navigasi rotasi sertifikat\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-certupdate.png)

   Halaman **Basis data yang memerlukan pembaruan sertifikat** akan muncul.  
![\[Perbarui sertifikat CA untuk database\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-update-multiple.png)
**catatan**  
Halaman ini hanya menampilkan instans dan cluster DB untuk saat ini. Wilayah AWS Jika Anda memiliki database di lebih dari satu Wilayah AWS, periksa halaman ini di masing-masing Wilayah AWS untuk melihat semua instance DB dengan sertifikat lama SSL/TLS .

1. Pilih instans DB atau cluster DB multi-AZ yang ingin Anda perbarui.

   Anda dapat menjadwalkan rotasi sertifikat untuk periode pemeliharaan berikutnya dengan memilih **Jadwal**. Segera terapkan rotasi dengan memilih **Terapkan sekarang**. 
**penting**  
Jika Anda mengalami masalah konektivitas setelah sertifikat kedaluwarsa, gunakan opsi **Terapkan sekarang**.

1. 

   1. Jika Anda memilih **Jadwal**, Anda akan diminta untuk mengonfirmasi rotasi sertifikat CA. Prompt ini juga menyatakan periode terjadwal untuk pembaruan Anda.   
![\[Konfirmasikan rotasi sertifikat\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-confirm-schedule.png)

   1. Jika Anda memilih **Terapkan sekarang**, Anda akan diminta untuk mengonfirmasi rotasi sertifikat CA.  
![\[Konfirmasikan rotasi sertifikat\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-confirm-now.png)
**penting**  
Sebelum menjadwalkan rotasi sertifikat CA pada database Anda, perbarui aplikasi klien yang menggunakan SSL/TLS dan sertifikat server untuk terhubung. Pembaruan ini khusus untuk mesin DB Anda. Setelah Anda memperbarui aplikasi klien ini, Anda dapat mengonfirmasi rotasi sertifikat CA. 

   Untuk melanjutkan, pilih kotak centang, lalu pilih **Konfirmasi**. 

1. Ulangi langkah 3 dan 4 untuk setiap instans dan cluster DB yang ingin Anda perbarui.

------

## Rotasi sertifikat server otomatis
<a name="UsingWithRDS.SSL-certificate-rotation-server-cert-rotation"></a>

Jika CA root Anda mendukung rotasi sertifikat server otomatis, RDS secara otomatis menangani rotasi sertifikat server DB. RDS menggunakan CA root yang sama untuk rotasi otomatis ini, jadi Anda tidak perlu mengunduh paket CA baru. Lihat[Otoritas sertifikat](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities).

Rotasi dan validitas sertifikat server DB Anda bergantung pada mesin DB Anda:
+ Jika mesin DB Anda mendukung rotasi tanpa pengaktifan ulang, RDS secara otomatis merotasi sertifikat server DB tanpa memerlukan tindakan apa pun dari Anda. RDS mencoba merotasi sertifikat server DB Anda dalam periode pemeliharaan yang Anda pilih di waktu paruh sertifikat server DB. Sertifikat server DB baru berlaku selama 12 bulan.
+ Jika mesin DB Anda tidak mendukung rotasi tanpa restart, Amazon RDS membuat Tindakan Pemeliharaan `server-certificate-rotation` Tertunda terlihat melalui Describe-pending-maintenance-actions API, pada waktu paruh sertifikat, atau setidaknya 3 bulan sebelum kedaluwarsa. Anda dapat menerapkan rotasi menggunakan apply-pending-maintenance-action API. Sertifikat server DB baru berlaku selama 36 bulan.

Gunakan [ describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html)perintah dan periksa `SupportsCertificateRotationWithoutRestart` bendera untuk mengidentifikasi apakah versi mesin DB mendukung memutar sertifikat tanpa memulai ulang. Untuk informasi selengkapnya, lihat [Mengatur CA untuk basis data Anda](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities.Selection). 

## Contoh skrip untuk mengimpor sertifikat ke trust store Anda
<a name="UsingWithRDS.SSL-certificate-rotation-sample-script"></a>

Berikut adalah contoh skrip shell yang mengimpor paket sertifikat ke trust store.

Setiap skrip shell menggunakan keytool, yang merupakan bagian dari Java Development Kit (JDK). Untuk informasi tentang cara menginstal JDK, lihat [JDK Installation Guide](https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html). 

------
#### [ Linux ]

Berikut adalah contoh skrip shell yang mengimpor paket sertifikat ke trust store di sistem operasi Linux.

```
mydir=tmp/certs
if [ ! -e "${mydir}" ]
then
mkdir -p "${mydir}"
fi truststore=${mydir}/rds-truststore.jks storepassword=changeit

curl -sS "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem"> ${mydir}/global-bundle.pem
awk 'split_after == 1 {n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1}{print > "rds-ca-" n+1 ".pem"}' < ${mydir}/global-bundle.pem

for CERT in rds-ca-*; do alias=$(openssl x509 -noout -text -in $CERT | perl -ne 'next unless /Subject:/; s/.*(CN=|CN = )//; print')
  echo "Importing $alias"
  keytool -import -file ${CERT} -alias "${alias}" -storepass ${storepassword} -keystore ${truststore} -noprompt
  rm $CERT
done

rm ${mydir}/global-bundle.pem

echo "Trust store content is: "

keytool -list -v -keystore "$truststore" -storepass ${storepassword} | grep Alias | cut -d " " -f3- | while read alias 
do expiry=`keytool -list -v -keystore "$truststore" -storepass ${storepassword} -alias "${alias}" | grep Valid | perl -ne 'if(/until: (.*?)\n/) { print "$1\n"; }'`
   echo " Certificate ${alias} expires in '$expiry'" 
done
```

------
#### [ macOS ]

Berikut adalah contoh skrip shell yang mengimpor paket sertifikat ke trust store di sistem operasi macOS.

```
mydir=tmp/certs
if [ ! -e "${mydir}" ]
then
mkdir -p "${mydir}"
fi truststore=${mydir}/rds-truststore.jks storepassword=changeit

curl -sS "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem"> ${mydir}/global-bundle.pem
split -p "-----BEGIN CERTIFICATE-----" ${mydir}/global-bundle.pem rds-ca-

for CERT in rds-ca-*; do alias=$(openssl x509 -noout -text -in $CERT | perl -ne 'next unless /Subject:/; s/.*(CN=|CN = )//; print')
  echo "Importing $alias"
  keytool -import -file ${CERT} -alias "${alias}" -storepass ${storepassword} -keystore ${truststore} -noprompt
  rm $CERT
done

rm ${mydir}/global-bundle.pem

echo "Trust store content is: "

keytool -list -v -keystore "$truststore" -storepass ${storepassword} | grep Alias | cut -d " " -f3- | while read alias 
do expiry=`keytool -list -v -keystore "$truststore" -storepass ${storepassword} -alias "${alias}" | grep Valid | perl -ne 'if(/until: (.*?)\n/) { print "$1\n"; }'`
   echo " Certificate ${alias} expires in '$expiry'" 
done
```

------

# Privasi lalu lintas antarjaringan
<a name="inter-network-traffic-privacy"></a>

Koneksi dilindungi baik antara Amazon RDS  Aurora dan aplikasi lokal dan antara Amazon RDS Amazon AWS dan sumber daya lain dalam Wilayah yang sama. AWS 

## Lalu lintas antara layanan dan aplikasi serta klien on-premise
<a name="inter-network-traffic-privacy-on-prem"></a>

Anda memiliki dua opsi konektivitas antara jaringan pribadi Anda dan AWS: 
+ Koneksi AWS Site-to-Site VPN. Untuk informasi selengkapnya, lihat [Apa itu AWS Site-to-Site VPN?](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) 
+  Direct Connect Koneksi. Untuk informasi lebih lanjut, lihat [Apa itu Direct Connect?](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) 

Anda mendapatkan akses ke Amazon RDS Aurora melalui jaringan dengan AWS menggunakan operasi API yang diterbitkan. Klien harus mendukung hal-hal berikut:
+ Keamanan Lapisan Pengangkutan (TLS). Kami mensyaratkan TLS 1.2 dan menganjurkan TLS 1.3.
+ Sandi cocok dengan sistem kerahasiaan maju sempurna (perfect forward secrecy, PFS) seperti DHE (Ephemeral Diffie-Hellman) atau ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). Sebagian besar sistem modern seperti Java 7 dan versi lebih baru mendukung mode-mode ini.

Selain itu, permintaan harus ditandatangani menggunakan ID kunci akses dan kunci akses rahasia yang terkait dengan principal IAM. Atau Anda bisa menggunakan [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) untuk membuat kredensial keamanan sementara guna menandatangani permintaan.

# Manajemen identitas dan akses untuk Amazon RDS
<a name="UsingWithRDS.IAM"></a>





AWS Identity and Access Management (IAM) adalah Layanan AWS yang membantu administrator mengontrol akses ke AWS sumber daya dengan aman. Administrator IAM mengontrol siapa yang dapat *diautentikasi* (masuk) dan *diotorisasi* (memiliki izin) untuk menggunakan sumber daya Amazon RDS. IAM adalah Layanan AWS yang dapat Anda gunakan tanpa biaya tambahan.

**Topics**
+ [

## Audiens
](#security_iam_audience)
+ [

## Mengautentikasi dengan identitas
](#security_iam_authentication)
+ [

## Mengelola akses menggunakan kebijakan
](#security_iam_access-manage)
+ [

# Cara kerja Amazon RDS dengan IAM
](security_iam_service-with-iam.md)
+ [

# Contoh kebijakan berbasis identitas untuk Amazon RDS
](security_iam_id-based-policy-examples.md)
+ [

# AWS kebijakan terkelola untuk Amazon RDS
](rds-security-iam-awsmanpol.md)
+ [

# Amazon RDS memperbarui kebijakan AWS terkelola
](rds-manpol-updates.md)
+ [

# Pencegahan masalah confused deputy lintas layanan
](cross-service-confused-deputy-prevention.md)
+ [

# Autentikasi basis data IAMuntuk MariaDB, MySQL, dan PostgreSQL
](UsingWithRDS.IAMDBAuth.md)
+ [

# Memecahkan masalah identitas dan akses Amazon RDS
](security_iam_troubleshoot.md)

## Audiens
<a name="security_iam_audience"></a>

Cara Anda menggunakan AWS Identity and Access Management (IAM) berbeda, tergantung pada pekerjaan yang Anda lakukan di Amazon RDS Amazon .

**Pengguna layanan** – Jika Anda menggunakan layanan Amazon RDS untuk melakukan pekerjaan, administrator Anda akan memberikan kredensial dan izin yang Anda butuhkan. Saat Anda menggunakan lebih banyak fitur Amazon RDS untuk melakukan pekerjaan, Anda mungkin memerlukan izin tambahan. Memahami bagaimana cara mengelola akses dapat membantu Anda meminta izin yang tepat dari administrator Anda. Jika Anda tidak dapat mengakses fitur di Amazon RDS, lihat [Memecahkan masalah identitas dan akses Amazon RDS](security_iam_troubleshoot.md).

**Administrator layanan** – Jika Anda bertanggung jawab atas sumber daya Amazon RDS di perusahaan, Anda mungkin memiliki akses penuh ke Amazon RDS. Tugas Anda adalah menentukan fitur Amazon RDS dan sumber daya mana yang dapat diakses karyawan Anda. Kemudian, Anda harus mengirim permintaan kepada administrator untuk mengubah izin pengguna layanan. Tinjau informasi di halaman ini untuk memahami konsep dasar IAM. Untuk mempelajari selengkapnya tentang bagaimana perusahaan Anda dapat menggunakan IAM dengan Amazon RDS, lihat [Cara kerja Amazon RDS dengan IAM](security_iam_service-with-iam.md).

**Administrator** – Jika Anda adalah seorang administrator, Anda mungkin ingin mengetahui detail tentang cara menulis kebijakan untuk mengelola akses ke Amazon RDS. Untuk melihat contoh kebijakan berbasis identitas Amazon RDS yang dapat Anda gunakan di IAM, lihat [Contoh kebijakan berbasis identitas untuk Amazon RDS](security_iam_id-based-policy-examples.md).

## Mengautentikasi dengan identitas
<a name="security_iam_authentication"></a>

Otentikasi adalah cara Anda masuk AWS menggunakan kredensi identitas Anda. Anda harus diautentikasi sebagai Pengguna root akun AWS, pengguna IAM, atau dengan mengasumsikan peran IAM.

Anda dapat masuk sebagai identitas federasi menggunakan kredensil dari sumber identitas seperti AWS IAM Identity Center (Pusat Identitas IAM), autentikasi masuk tunggal, atau kredensional. Google/Facebook Untuk informasi selengkapnya tentang masuk, lihat [Cara masuk ke *Panduan AWS Sign-In Pengguna* Anda Akun AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html).

Untuk akses terprogram, AWS sediakan SDK dan CLI untuk menandatangani permintaan secara kriptografis. Untuk informasi selengkapnya, lihat [Versi AWS Tanda Tangan 4 untuk permintaan API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) di *Panduan Pengguna IAM*.

### AWS pengguna root akun
<a name="security_iam_authentication-rootuser"></a>

 Saat Anda membuat Akun AWS, Anda mulai dengan satu identitas masuk yang disebut *pengguna Akun AWS root* yang memiliki akses lengkap ke semua Layanan AWS dan sumber daya. Kami sangat menyarankan agar Anda tidak menggunakan pengguna root untuk tugas sehari-hari. *Untuk tugas yang memerlukan kredensil pengguna root, lihat [Tugas yang memerlukan kredensil pengguna root di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).* 

### Identitas gabungan
<a name="security_iam_authentication-federatedidentity"></a>

Sebagai praktik terbaik, mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses Layanan AWS menggunakan kredensi sementara.

*Identitas federasi* adalah pengguna dari direktori perusahaan Anda, penyedia identitas web, atau Directory Service yang mengakses Layanan AWS menggunakan kredensil dari sumber identitas. Identitas federasi mengambil peran yang memberikan kredensi sementara.

Untuk manajemen akses terpusat, kami sarankan AWS IAM Identity Center. Untuk informasi lebih lanjut, lihat [Apa itu Pusat Identitas IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)? dalam *AWS IAM Identity Center User Guide*.

### Pengguna dan grup IAM
<a name="security_iam_authentication-iamuser"></a>

*[Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* adalah identitas dengan izin khusus untuk satu orang atau aplikasi. Sebaiknya gunakan kredensi sementara alih-alih pengguna IAM dengan kredensial jangka panjang. Untuk informasi selengkapnya, lihat [Mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS menggunakan kredensi sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) di Panduan Pengguna *IAM*.

Grup [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) pengguna IAM dan membuat izin lebih mudah dikelola untuk kumpulan pengguna yang besar. Untuk informasi selengkapnya, lihat [Kasus penggunaan untuk pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) di *Panduan Pengguna IAM*.

Anda dapat mengautentikasi ke instans DB Anda menggunakan autentikasi basis data IAM.

Autentikasi basis data IAM berfungsi dengan mesin DB berikut:
+ RDS for MariaDB
+ RDS for MySQL
+ RDS for PostgreSQL

Untuk informasi selengkapnya tentang cara mengautentikasi ke instans DB Anda menggunakan IAM, lihat [Autentikasi basis data IAMuntuk MariaDB, MySQL, dan PostgreSQL](UsingWithRDS.IAMDBAuth.md).

### Peran IAM
<a name="security_iam_authentication-iamrole"></a>

*[Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* adalah identitas dalam diri Anda Akun AWS yang memiliki izin khusus. Peran ini mirip dengan pengguna, tetapi tidak terkait dengan orang tertentu. Anda dapat mengambil peran IAM untuk sementara Konsol Manajemen AWS dengan [beralih peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html). Anda dapat mengambil peran dengan memanggil operasi AWS CLI atau AWS API atau dengan menggunakan URL kustom. Untuk informasi selengkapnya tentang cara menggunakan peran, lihat [Menggunakan peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) dalam *Panduan Pengguna IAM*.

Peran IAM dengan kredensial sementara berguna dalam situasi berikut:
+ **Izin pengguna sementara** – Pengguna dapat mengambil peran IAM untuk mendapatkan izin yang berbeda sementara waktu agar dapat melakukan tugas tertentu. 
+ **Akses pengguna terfederasi** – Untuk menetapkan izin ke identitas terfederasi, Anda membuat peran dan menentukan izin untuk peran tersebut. Ketika identitas terfederasi mengautentikasi, identitas tersebut terhubung dengan peran dan diberi izin yang ditentukan oleh peran. Untuk informasi tentang peran untuk federasi, lihat [Buat peran untuk penyedia identitas pihak ketiga](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*. Jika menggunakan Pusat Identitas IAM, Anda harus mengonfigurasi set izin. Untuk mengontrol apa yang dapat diakses identitas Anda setelah identitas tersebut diautentikasi, Pusat Identitas IAM akan mengorelasikan set izin ke peran dalam IAM. Untuk informasi tentang rangkaian izin, silakan lihat [Rangkaian izin](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) dalam *Panduan Pengguna AWS IAM Identity Center *. 
+ **Akses lintas akun** – Anda dapat menggunakan peran IAM untuk mengizinkan seseorang (prinsipal tepercaya) di akun lain untuk mengakses sumber daya di akun Anda. Peran adalah cara utama untuk memberikan akses lintas akun. Namun, dengan beberapa Layanan AWS, Anda dapat melampirkan kebijakan secara langsung ke sumber daya (alih-alih menggunakan peran sebagai proxy). Untuk mempelajari perbedaan antara peran dan kebijakan berbasis sumber daya untuk akses lintas akun, lihat [Bagaimana peran IAM berbeda dari kebijakan berbasis sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html) dalam *Panduan Pengguna IAM*.
+ **Akses lintas layanan** — Beberapa Layanan AWS menggunakan fitur lain Layanan AWS. Misalnya, saat Anda melakukan panggilan dalam suatu layanan, biasanya layanan tersebut menjalankan aplikasi di Amazon EC2 atau menyimpan objek di Amazon S3. Sebuah layanan mungkin melakukannya menggunakan izin principal yang memanggil, menggunakan peran layanan, atau peran terkait layanan. 
  + **Sesi akses** teruskan — Sesi akses teruskan (FAS) menggunakan izin dari pemanggilan utama Layanan AWS, dikombinasikan dengan permintaan Layanan AWS untuk membuat permintaan ke layanan hilir. Untuk detail kebijakan ketika mengajukan permintaan FAS, lihat [Sesi akses terusan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 
  + **Peran layanan** – Peran layanan adalah [peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) yang dijalankan oleh layanan untuk melakukan tindakan atas nama Anda. Administrator IAM dapat membuat, mengubah, dan menghapus peran layanan dari dalam IAM. Untuk informasi selengkapnya, lihat [Buat sebuah peran untuk mendelegasikan izin ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dalam *Panduan pengguna IAM*. 
  + **Peran terkait layanan — Peran** terkait layanan adalah jenis peran layanan yang ditautkan ke peran layanan. Layanan AWS Layanan tersebut dapat menjalankan peran untuk melakukan tindakan atas nama Anda. Peran terkait layanan muncul di Anda Akun AWS dan dimiliki oleh layanan. Administrator IAM dapat melihat, tetapi tidak dapat mengedit izin untuk peran terkait layanan. 
+ **Aplikasi yang berjalan di Amazon EC2** — Anda dapat menggunakan peran IAM untuk mengelola kredensi sementara untuk aplikasi yang berjalan pada EC2 instance dan membuat AWS CLI atau AWS permintaan API. Ini lebih baik untuk menyimpan kunci akses dalam EC2 instance. Untuk menetapkan AWS peran ke EC2 instance dan membuatnya tersedia untuk semua aplikasinya, Anda membuat profil instance yang dilampirkan ke instance. Profil instance berisi peran dan memungkinkan program yang berjalan pada EC2 instance untuk mendapatkan kredensi sementara. Untuk informasi selengkapnya, lihat [Menggunakan peran IAM untuk memberikan izin ke aplikasi yang berjalan di EC2 instans Amazon di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html) *IAM*. 

Untuk mempelajari apakah harus menggunakan peran IAM, lihat [Kapan harus membuat peran IAM (bukan pengguna)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose_role) dalam *Panduan Pengguna IAM*.

## Mengelola akses menggunakan kebijakan
<a name="security_iam_access-manage"></a>

Anda mengontrol akses AWS dengan membuat kebijakan dan melampirkannya ke identitas atau sumber daya IAM. AWS Kebijakan adalah objek AWS yang, ketika dikaitkan dengan identitas atau sumber daya, menentukan izinnya. AWS mengevaluasi kebijakan ini ketika entitas (pengguna root, pengguna, atau peran IAM) membuat permintaan. Izin dalam kebijakan menentukan apakah permintaan diizinkan atau ditolak. Sebagian besar kebijakan disimpan AWS sebagai dokumen JSON. Untuk informasi selengkapnya tentang struktur dan isi dokumen kebijakan JSON, lihat [Gambaran umum kebijakan JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dalam *Panduan Pengguna IAM*.

Administrator dapat menggunakan kebijakan untuk menentukan siapa yang memiliki akses ke AWS sumber daya, dan tindakan apa yang dapat mereka lakukan pada sumber daya tersebut. Setiap entitas IAM (set izin atau peran) dimulai tanpa izin. Dengan kata lain, secara default, pengguna tidak dapat melakukan apa pun, termasuk mengubah kata sandinya sendiri. Untuk memberikan izin kepada pengguna untuk melakukan sesuatu, administrator harus melampirkan kebijakan izin kepada pengguna. Atau administrator dapat menambahkan pengguna ke grup yang memiliki izin yang dimaksudkan. Ketika administrator memberikan izin untuk grup, semua pengguna dalam grup tersebut akan diberi izin tersebut.

Kebijakan IAM mendefinisikan izin untuk suatu tindakan terlepas dari metode yang Anda gunakan untuk melakukan operasinya. Misalnya, anggaplah Anda memiliki kebijakan yang mengizinkan tindakan `iam:GetRole`. Pengguna dengan kebijakan tersebut bisa mendapatkan informasi peran dari Konsol Manajemen AWS, API AWS CLI, atau AWS API.

### Kebijakan berbasis identitas
<a name="security_iam_access-manage-id-based-policies"></a>

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang dapat Anda lampirkan ke identitas, seperti set izin atau peran. Kebijakan ini mengontrol tindakan apa yang bisa dilakukan oleh identitas tersebut, sumber daya yang mana, dan dalam kondisi apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Membuat kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Kebijakan berbasis identitas dapat dikategorikan lebih lanjut sebagai *kebijakan inline* atau *kebijakan yang dikelola*. Kebijakan inline disematkan secara langsung ke satu set izin atau peran. Kebijakan terkelola adalah kebijakan mandiri yang dapat Anda lampirkan ke beberapa set izin dan peran di AWS akun Anda. Kebijakan AWS terkelola mencakup kebijakan terkelola dan kebijakan yang dikelola pelanggan. Untuk mempelajari cara memilih antara kebijakan yang dikelola atau kebijakan inline, lihat [Memilih antara kebijakan yang dikelola dan kebijakan inline](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#choosing-managed-or-inline) dalam *Panduan Pengguna IAM*.

Untuk informasi tentang kebijakan AWS terkelola yang khusus untuk Amazon RDS Aurora, lihat. [AWS kebijakan terkelola untuk Amazon RDS](rds-security-iam-awsmanpol.md)

### Jenis-jenis kebijakan lain
<a name="security_iam_access-manage-other-policies"></a>

AWS mendukung jenis kebijakan tambahan yang kurang umum. Jenis kebijakan ini dapat mengatur izin maksimum yang diberikan kepada Anda oleh jenis kebijakan yang lebih umum. 
+ **Batasan izin** – Batasan izin adalah fitur lanjutan untuk menetapkan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada entitas IAM (set izin atau peran). Anda dapat menetapkan batasan izin untuk suatu entitas. Izin yang dihasilkan adalah perpotongan antara kebijakan berbasis identitas milik entitas dan batasan izin tersebut. Kebijakan berbasis sumber daya yang menentukan set izin atau peran di bidang `Principal` tidak dibatasi oleh batasan izin. Penolakan eksplisit dalam salah satu kebijakan ini membatalkan izin. Untuk informasi selengkapnya tentang batasan izin, lihat [Batasan izin untuk entitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dalam *Panduan Pengguna IAM*.
+ **Kebijakan kontrol layanan (SCPs)** — SCPs adalah kebijakan JSON yang menentukan izin maksimum untuk organisasi atau unit organisasi (OU) di. AWS Organizations AWS Organizations adalah layanan untuk mengelompokkan dan mengelola beberapa AWS akun secara terpusat yang dimiliki bisnis Anda. Jika Anda mengaktifkan semua fitur dalam organisasi, Anda dapat menerapkan kebijakan kontrol layanan (SCPs) ke salah satu atau semua akun Anda. SCP membatasi izin untuk entitas di akun anggota, termasuk masing-masing. Pengguna root akun AWS Untuk informasi selengkapnya tentang Organizations dan SCPs, lihat [Cara SCPs kerja](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html) di *Panduan AWS Organizations Pengguna*.
+ **Kebijakan sesi** – Kebijakan sesi adalah kebijakan lanjutan yang Anda berikan sebagai parameter saat Anda membuat sesi sementara secara programatis untuk peran atau pengguna terfederasi. Izin sesi yang dihasilkan adalah perpotongan antara set izin atau kebijakan berbasis identitas peran dan kebijakan sesi tersebut. Izin juga dapat berasal dari kebijakan berbasis sumber daya. Penolakan eksplisit dalam salah satu kebijakan ini akan menggantikan pemberian izin. Untuk informasi selengkapnya, lihat [Kebijakan sesi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dalam *Panduan Pengguna IAM*. 

### Berbagai jenis kebijakan
<a name="security_iam_access-manage-multiple-policies"></a>

Ketika beberapa jenis kebijakan berlaku pada suatu permintaan, izin yang dihasilkan lebih rumit untuk dipahami. Untuk mempelajari cara AWS menentukan apakah akan mengizinkan permintaan saat beberapa jenis kebijakan terlibat, lihat [Logika evaluasi kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) di *Panduan Pengguna IAM*.

# Cara kerja Amazon RDS dengan IAM
<a name="security_iam_service-with-iam"></a>

Sebelum menggunakan IAM untuk mengelola akses ke Amazon RDS, Anda harus memahami fitur IAM yang dapat digunakan dengan Amazon RDS.

Tabel berikut mencantumkan fitur IAM yang dapat Anda gunakan dengan Amazon RDS Amazon :


| Fitur IAM | Dukungan Amazon RDS | 
| --- | --- | 
|  [Kebijakan berbasis identitas](#security_iam_service-with-iam-id-based-policies)  |  Ya  | 
|  [Kebijakan berbasis sumber daya](#security_iam_service-with-iam-resource-based-policies)  |  Tidak  | 
|  [Tindakan kebijakan](#security_iam_service-with-iam-id-based-policies-actions)  |  Ya  | 
|  [Sumber daya kebijakan](#security_iam_service-with-iam-id-based-policies-resources)  |  Ya  | 
|  [kunci-kunci persyaratan kebijakan (spesifik layanan)](#UsingWithRDS.IAM.Conditions)  |  Ya  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |  Tidak  | 
|  [Kontrol akses berbasis atribut (ABAC) (tag dalam kebijakan)](#security_iam_service-with-iam-tags)  |  Ya  | 
|  [Kredensial sementara](#security_iam_service-with-iam-roles-tempcreds)  |  Ya  | 
|  [Teruskan sesi akses](#security_iam_service-with-iam-principal-permissions)  |  Ya  | 
|  [Peran layanan](#security_iam_service-with-iam-roles-service)  |  Ya  | 
|  [Peran terkait layanan](#security_iam_service-with-iam-roles-service-linked)  |  Ya  | 

*Untuk mendapatkan tampilan tingkat tinggi tentang cara Amazon RDS Amazon dan layanan AWS lainnya bekerja dengan IAM, [AWS lihat layanan yang bekerja dengan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) IAM di Panduan Pengguna IAM.*

**Topics**
+ [

## Kebijakan berbasis identitas Amazon RDS
](#security_iam_service-with-iam-id-based-policies)
+ [

## Kebijakan berbasis sumber daya dalam Amazon RDS
](#security_iam_service-with-iam-resource-based-policies)
+ [

## Tindakan kebijakan untuk Amazon RDS
](#security_iam_service-with-iam-id-based-policies-actions)
+ [

## Sumber daya kebijakan untuk Amazon RDS
](#security_iam_service-with-iam-id-based-policies-resources)
+ [

## Kunci kondisi kebijakan untuk Amazon RDS
](#UsingWithRDS.IAM.Conditions)
+ [

## 
](#security_iam_service-with-iam-acls)
+ [

## Kontrol akses berbasis atribut (ABAC) dalam kebijakan dengan tag Amazon RDS
](#security_iam_service-with-iam-tags)
+ [

## Menggunakan kredensial sementara dengan Amazon RDS
](#security_iam_service-with-iam-roles-tempcreds)
+ [

## 
](#security_iam_service-with-iam-principal-permissions)
+ [

## Peran layanan untuk Amazon RDS
](#security_iam_service-with-iam-roles-service)
+ [

## Peran terkait layanan untuk Amazon RDS
](#security_iam_service-with-iam-roles-service-linked)

## Kebijakan berbasis identitas Amazon RDS
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Mendukung kebijakan berbasis identitas**: Ya.

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang dapat Anda lampirkan ke sebuah identitas, seperti pengguna IAM, grup pengguna IAM, atau peran IAM. Kebijakan ini mengontrol jenis tindakan yang dapat dilakukan oleh pengguna dan peran, di sumber daya mana, dan berdasarkan kondisi seperti apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Tentukan izin IAM kustom dengan kebijakan terkelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan secara spesifik apakah tindakan dan sumber daya diizinkan atau ditolak, serta kondisi yang menjadi dasar dikabulkan atau ditolaknya tindakan tersebut. Untuk mempelajari semua elemen yang dapat digunakan dalam kebijakan JSON, lihat [Referensi elemen kebijakan JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dalam *Panduan Pengguna IAM*.

### Contoh kebijakan berbasis identitas untuk Amazon RDS
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

Untuk melihat contoh kebijakan berbasis identitas Amazon RDS, lihat [Contoh kebijakan berbasis identitas untuk Amazon RDS](security_iam_id-based-policy-examples.md).

## Kebijakan berbasis sumber daya dalam Amazon RDS
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Mendukung kebijakan berbasis sumber daya**: No.

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contoh kebijakan berbasis sumber daya adalah *kebijakan kepercayaan peran* IAM dan *kebijakan bucket* Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Untuk sumber daya tempat kebijakan dilampirkan, kebijakan menentukan tindakan apa yang dapat dilakukan oleh principal tertentu pada sumber daya tersebut dan dalam kondisi apa. Anda harus [menentukan principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau. Layanan AWS

Untuk mengaktifkan akses lintas akun, Anda dapat menentukan secara spesifik seluruh akun atau entitas IAM di akun lain sebagai principal dalam kebijakan berbasis sumber daya. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

## Tindakan kebijakan untuk Amazon RDS
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Mendukung tindakan kebijakan:** Ya.

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen `Action` dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Menyertakan tindakan dalam suatu kebijakan untuk memberikan izin melakukan operasi terkait.

Tindakan kebijakan di Amazon RDS menggunakan awalan berikut sebelum tindakan: `rds:`. Misalnya, untuk memberikan izin kepada seseorang untuk menjelaskan instans DB dengan operasi API `DescribeDBInstances` Amazon RDS, Anda menyertakan tindakan `rds:DescribeDBInstances` dalam kebijakan mereka. Pernyataan kebijakan harus memuat elemen `Action` atau `NotAction`. Amazon RDS menentukan serangkaian tindakannya sendiri yang menjelaskan tugas yang dapat Anda lakukan dengan layanan ini.

Untuk menentukan beberapa tindakan dalam satu pernyataan, pisahkan tindakan dengan koma seperti berikut:

```
"Action": [
      "rds:action1",
      "rds:action2"
```

Anda juga dapat menentukan beberapa tindakan menggunakan wildcard (\$1). Misalnya, untuk menentukan semua tindakan yang dimulai dengan kata `Describe`, sertakan tindakan berikut.

```
"Action": "rds:Describe*"
```



Untuk melihat daftar tindakan Amazon RDS, lihat [Tindakan yang Ditentukan oleh Amazon RDS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrds.html#amazonrds-actions-as-permissions) di *Referensi Otorisasi Layanan*.

## Sumber daya kebijakan untuk Amazon RDS
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Mendukung sumber daya kebijakan:** Ya.

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen kebijakan JSON `Resource` menentukan objek yang menjadi target penerapan tindakan. Praktik terbaiknya, tentukan sumber daya menggunakan [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (\$1) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

```
"Resource": "*"
```

Sumber daya instans DB memiliki Amazon Resource Name (ARN) berikut.

```
arn:${Partition}:rds:${Region}:${Account}:{ResourceType}/${Resource}
```

Untuk informasi selengkapnya tentang format ARNs, lihat [Amazon Resource Names (ARNs) dan ruang nama AWS layanan](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).

Misalnya, untuk menentukan instans DB `dbtest` dalam pernyataan Anda, gunakan ARN berikut.

```
"Resource": "arn:aws:rds:us-west-2:123456789012:db:dbtest"
```

Untuk menentukan semua instans DB milik akun tertentu, gunakan wildcard (\$1).

```
"Resource": "arn:aws:rds:us-east-1:123456789012:db:*"
```

Beberapa operasi API RDS, seperti operasi untuk membuat sumber daya, tidak dapat dilakukan pada sumber daya tertentu. Jika demikian, gunakan wildcard (\$1).

```
"Resource": "*"
```

Banyak operasi API Amazon RDS menggunakan beberapa sumber daya. Misalnya, `CreateDBInstance` membuat instans DB. Anda dapat menentukan bahwa seorang pengguna harus menggunakan grup keamanan dan grup parameter spesifik saat membuat instans DB. Untuk menentukan beberapa sumber daya dalam satu pernyataan, pisahkan ARNs dengan koma. 

```
"Resource": [
      "resource1",
      "resource2"
```

*Untuk melihat daftar jenis sumber daya Amazon RDS ARNs jenisnya, [lihat Sumber Daya yang Ditentukan oleh Amazon](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrds.html#amazonrds-resources-for-iam-policies) RDS di Referensi Otorisasi Layanan.* Untuk mempelajari jenis tindakan yang dapat Anda tentukan dengan ARN di tiap sumber daya, lihat [Tindakan yang Ditentukan oleh Amazon RDS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrds.html#amazonrds-actions-as-permissions).

## Kunci kondisi kebijakan untuk Amazon RDS
<a name="UsingWithRDS.IAM.Conditions"></a>

**Mendukung kunci kondisi kebijakan khusus layanan: Ya**.

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, **principal** dapat melakukan **tindakan** pada suatu **sumber daya**, dan dalam suatu **syarat**.

Elemen `Condition` menentukan ketika pernyataan dieksekusi berdasarkan kriteria yang ditetapkan. Anda dapat membuat ekspresi bersyarat yang menggunakan [operator kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta. Untuk melihat semua kunci kondisi AWS global, lihat [kunci konteks kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.

Amazon RDS menentukan set kunci kondisinya sendiri dan juga mendukung penggunaan beberapa kunci kondisi global. Untuk melihat semua kunci kondisi AWS global, lihat [kunci konteks kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.



 Semua operasi API RDS mendukung kunci kondisi `aws:RequestedRegion`. 

Untuk melihat daftar kunci kondisi Amazon RDS, lihat [Kunci Kondisi untuk Amazon RDS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrds.html#amazonrds-policy-keys) di *Referensi Otorisasi Layanan*. Untuk mempelajari tindakan dan sumber daya yang dapat Anda gunakan dengan kunci kondisi, lihat [Tindakan yang Ditentukan oleh Amazon RDS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrds.html#amazonrds-actions-as-permissions).

## 
<a name="security_iam_service-with-iam-acls"></a>

**Mendukung daftar kontrol akses (ACLs):** Tidak

Access control lists (ACLs) mengontrol prinsipal mana (anggota akun, pengguna, atau peran) yang memiliki izin untuk mengakses sumber daya. ACLs mirip dengan kebijakan berbasis sumber daya, meskipun mereka tidak menggunakan format dokumen kebijakan JSON.

## Kontrol akses berbasis atribut (ABAC) dalam kebijakan dengan tag Amazon RDS
<a name="security_iam_service-with-iam-tags"></a>

**Mendukung tag kontrol akses berbasis atribut (ABAC) dalam** kebijakan: Ya

Kontrol akses berbasis atribut (ABAC) adalah strategi otorisasi yang menentukan izin berdasarkan atribut tanda. Anda dapat melampirkan tag ke entitas dan AWS sumber daya IAM, lalu merancang kebijakan ABAC untuk mengizinkan operasi saat tag prinsipal cocok dengan tag pada sumber daya.

Untuk mengendalikan akses berdasarkan tanda, berikan informasi tentang tanda di [elemen kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dari kebijakan menggunakan kunci kondisi `aws:ResourceTag/key-name`, `aws:RequestTag/key-name`, atau `aws:TagKeys`.

Jika sebuah layanan mendukung ketiga kunci kondisi untuk setiap jenis sumber daya, nilainya adalah **Ya** untuk layanan tersebut. Jika suatu layanan mendukung ketiga kunci kondisi untuk hanya beberapa jenis sumber daya, nilainya adalah **Parsial**.

Untuk informasi selengkapnya tentang ABAC, lihat [Tentukan izin dengan otorisasi ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) dalam *Panduan Pengguna IAM.* Untuk melihat tutorial terkait langkah-langkah penyiapan ABAC, lihat [Menggunakan kontrol akses berbasis atribut (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) di *Panduan Pengguna IAM*.

Untuk informasi selengkapnya cara memberi tag ke sumber daya Amazon RDS, lihat [Menentukan kondisi: Menggunakan tag kustom](UsingWithRDS.IAM.SpecifyingCustomTags.md). Untuk melihat contoh kebijakan berbasis identitas untuk membatasi akses ke sumber daya berdasarkan tag pada sumber daya tersebut, lihat [Berikan izin untuk tindakan atas suatu sumber daya dengan tag tertentu dengan dua nilai yang berbeda](security_iam_id-based-policy-examples-create-and-modify-examples.md#security_iam_id-based-policy-examples-grant-permissions-tags).

## Menggunakan kredensial sementara dengan Amazon RDS
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Mendukung kredensi sementara: Ya**.

Kredensi sementara menyediakan akses jangka pendek ke AWS sumber daya dan secara otomatis dibuat saat Anda menggunakan federasi atau beralih peran. AWS merekomendasikan agar Anda secara dinamis menghasilkan kredensi sementara alih-alih menggunakan kunci akses jangka panjang. Untuk informasi selengkapnya, lihat [Kredensial keamanan sementara di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) dan [Layanan AWS yang berfungsi dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dalam *Panduan Pengguna IAM*.

## 
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Mendukung sesi akses maju:** Ya.

 Sesi akses teruskan (FAS) menggunakan izin dari pemanggilan utama Layanan AWS, dikombinasikan dengan permintaan Layanan AWS untuk membuat permintaan ke layanan hilir. Untuk detail kebijakan saat membuat permintaan FAS, lihat [Meneruskan sesi akses](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Peran layanan untuk Amazon RDS
<a name="security_iam_service-with-iam-roles-service"></a>

**Mendukung peran layanan:** Ya.

 Peran layanan adalah [peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) yang diambil oleh sebuah layanan untuk melakukan tindakan atas nama Anda. Administrator IAM dapat membuat, mengubah, dan menghapus peran layanan dari dalam IAM. Untuk informasi selengkapnya, lihat [Buat sebuah peran untuk mendelegasikan izin ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dalam *Panduan pengguna IAM*. 

**Awas**  
Mengubah izin untuk peran layanan dapat mengganggu fungsionalitas Amazon RDS. Edit peran layanan hanya jika Amazon RDS menyediakan panduan untuk melakukannya.

## Peran terkait layanan untuk Amazon RDS
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Mendukung peran terkait layanan: Ya**.

 Peran terkait layanan adalah jenis peran layanan yang ditautkan ke. Layanan AWS Layanan tersebut dapat menjalankan peran untuk melakukan tindakan atas nama Anda. Peran terkait layanan muncul di Anda Akun AWS dan dimiliki oleh layanan. Administrator IAM dapat melihat, tetapi tidak dapat mengedit izin untuk peran terkait layanan. 

Untuk detail tentang cara menggunakan peran terkait layanan Amazon RDS, lihat [Menggunakan peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md).

# Contoh kebijakan berbasis identitas untuk Amazon RDS
<a name="security_iam_id-based-policy-examples"></a>

Secara default, peran dan kumpulan izin tidak memiliki izin untuk membuat atau mengubah sumber daya Amazon RDS. Mereka juga tidak dapat melakukan tugas menggunakan Konsol Manajemen AWS, AWS CLI, atau AWS API. Administrator harus membuat kebijakan IAM yang memberikan izin kepada peran atau kumpulan izin untuk menjalankan operasi API tertentu pada sumber daya tertentu yang diperlukan. Administrator kemudian dapat melampirkan kebijakan tersebut ke peran atau kumpulan izin yang memerlukan izin tersebut.

Untuk mempelajari cara membuat kebijakan berbasis identitas IAM menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat kebijakan pada tab JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) dalam *Panduan Pengguna IAM*.

**Topics**
+ [

## Praktik terbaik kebijakan
](#security_iam_service-with-iam-policy-best-practices)
+ [

## Menggunakan konsol Amazon RDS
](#security_iam_id-based-policy-examples-console)
+ [

## Izin yang diperlukan untuk menggunakan konsol
](#UsingWithRDS.IAM.RequiredPermissions.Console)
+ [

## Mengizinkan pengguna melihat izin mereka sendiri
](#security_iam_id-based-policy-examples-view-own-permissions)
+ [

# Kebijakan izin untuk membuat, memodifikasi, dan menghapus sumber daya di RDS
](security_iam_id-based-policy-examples-create-and-modify-examples.md)
+ [

# Contoh Kebijakan: Menggunakan kunci kondisi
](UsingWithRDS.IAM.Conditions.Examples.md)
+ [

# Menentukan kondisi: Menggunakan tag kustom
](UsingWithRDS.IAM.SpecifyingCustomTags.md)
+ [

# Berikan izin untuk menandai sumber daya Amazon RDS selama pembuatan
](security_iam_id-based-policy-examples-grant-permissions-tags-on-create.md)

## Praktik terbaik kebijakan
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus sumber daya Amazon RDS yang ada di akun Anda. Tindakan ini dikenai biaya untuk Akun AWS Anda. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:
+ **Mulailah dengan kebijakan AWS terkelola dan beralih ke izin hak istimewa paling sedikit — Untuk mulai memberikan izin** kepada pengguna dan beban kerja Anda, gunakan *kebijakan AWS terkelola* yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di Anda Akun AWS. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat [Kebijakan yang dikelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) atau [Kebijakan yang dikelola AWS untuk fungsi tugas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dalam *Panduan Pengguna IAM*.
+ **Menerapkan izin dengan hak akses paling rendah** – Ketika Anda menetapkan izin dengan kebijakan IAM, hanya berikan izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai *izin dengan hak akses paling rendah*. Untuk informasi selengkapnya tentang cara menggunakan IAM untuk mengajukan izin, lihat [Kebijakan dan izin dalam IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan kondisi dalam kebijakan IAM untuk membatasi akses lebih lanjut** – Anda dapat menambahkan suatu kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Sebagai contoh, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan jika digunakan melalui yang spesifik Layanan AWS, seperti CloudFormation. Untuk informasi selengkapnya, lihat [Elemen kebijakan JSON IAM: Kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda untuk memastikan izin yang aman dan fungsional** – IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat [Validasi kebijakan dengan IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dalam *Panduan Pengguna IAM*.
+ **Memerlukan otentikasi multi-faktor (MFA)** - Jika Anda memiliki skenario yang mengharuskan pengguna IAM atau pengguna root di Anda, Akun AWS aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA ketika operasi API dipanggil, tambahkan kondisi MFA pada kebijakan Anda. Untuk informasi selengkapnya, lihat [Amankan akses API dengan MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dalam *Panduan Pengguna IAM*.

Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

## Menggunakan konsol Amazon RDS
<a name="security_iam_id-based-policy-examples-console"></a>

Untuk mengakses konsol Amazon RDS, Anda harus memiliki kumpulan izin minimum. Izin ini harus memungkinkan Anda untuk membuat daftar dan melihat detail tentang sumber daya Amazon RDS di Anda. Akun AWS Jika Anda membuat kebijakan berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana mestinya untuk entitas (pengguna atau peran) dengan kebijakan tersebut.

Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau AWS API. Sebagai alternatif, hanya izinkan akses ke tindakan yang cocok dengan operasi API yang sedang Anda coba lakukan.

Untuk memastikan bahwa entitas tersebut masih dapat menggunakan konsol Amazon RDS , lampirkan juga kebijakan terkelola AWS berikut ke entitas.

```
AmazonRDSReadOnlyAccess
```

Untuk informasi selengkapnya, lihat [Menambah izin untuk pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

## Izin yang diperlukan untuk menggunakan konsol
<a name="UsingWithRDS.IAM.RequiredPermissions.Console"></a>

Agar pengguna dapat bekerja dengan konsol, pengguna tersebut harus memiliki kumpulan izin minimum. Izin ini memungkinkan pengguna untuk mendeskripsikan sumber daya Amazon RDS Aurora untuk akun AWS mereka dan untuk memberikan informasi terkait lainnya, termasuk keamanan Amazon EC2 dan informasi jaringan.

Jika Anda membuat kebijakan IAM yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana mestinya untuk pengguna dengan kebijakan IAM. Untuk memastikan bahwa pengguna masih dapat menggunakan konsol, lampirkan juga kebijakan yang dikelola `AmazonRDSReadOnlyAccess` kepada pengguna, sebagaimana dijelaskan dalam [Mengelola akses menggunakan kebijakan](UsingWithRDS.IAM.md#security_iam_access-manage).

Anda tidak perlu memperbolehkan izin konsol minimum bagi pengguna yang hanya melakukan panggilan ke AWS CLI atau Amazon RDS API. 

Kebijakan berikut memberikan akses penuh ke semua sumber daya Amazon RDS untuk akun root: AWS 

```
AmazonRDSFullAccess             
```

## Mengizinkan pengguna melihat izin mereka sendiri
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Contoh ini menunjukkan cara membuat kebijakan yang mengizinkan pengguna IAM melihat kebijakan inline dan terkelola yang dilampirkan ke identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau menggunakan API atau secara terprogram. AWS CLI AWS 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

# Kebijakan izin untuk membuat, memodifikasi, dan menghapus sumber daya di RDS
<a name="security_iam_id-based-policy-examples-create-and-modify-examples"></a>

Bagian berikut menyajikan contoh kebijakan izin yang memberikan dan membatasi akses ke sumber daya:

## Izinkan pengguna untuk membuat instans DB di akun AWS
<a name="security_iam_id-based-policy-examples-create-db-instance-in-account"></a>

Berikut ini adalah contoh kebijakan yang memungkinkan akun dengan ID `123456789012` untuk membuat instans DB untuk AWS akun Anda. Kebijakan ini mewajibkan nama instans DB baru dimulai dengan `test`. Instans DB yang baru juga harus menggunakan mesin basis data MySQL dan kelas instans DB `db.t2.micro`. Selain itu, instans DB baru harus menggunakan grup opsi dan grup parameter DB yang dimulai dengan `default`, dan harus menggunakan grup subnet `default`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "AllowCreateDBInstanceOnly",
         "Effect": "Allow",
         "Action": [
            "rds:CreateDBInstance"
         ],
         "Resource": [
            "arn:aws:rds:*:123456789012:db:test*",
            "arn:aws:rds:*:123456789012:og:default*",
            "arn:aws:rds:*:123456789012:pg:default*",
            "arn:aws:rds:*:123456789012:subgrp:default"
         ],
         "Condition": {
            "StringEquals": {
               "rds:DatabaseEngine": "mysql",
               "rds:DatabaseClass": "db.t2.micro"
            }
         }
      }
   ]
}
```

------

Kebijakan ini mencakup pernyataan tunggal yang menentukan izin berikut untuk pengguna:
+ Kebijakan ini memungkinkan akun untuk membuat instans DB menggunakan operasi [Create DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) API (ini juga berlaku untuk [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) AWS CLI perintah dan Konsol Manajemen AWS).
+ Elemen `Resource` menentukan bahwa pengguna dapat melakukan tindakan pada atau dengan sumber daya. Anda menentukan sumber daya menggunakan Amazon Resource Name (ARN). ARN ini mencakup nama layanan yang dimiliki sumber daya (`rds`), AWS Wilayah (`*`menunjukkan wilayah mana pun dalam contoh ini), nomor AWS akun (`123456789012`adalah nomor akun dalam contoh ini), dan jenis sumber daya. Untuk informasi selengkapnya tentang membuat ARNs, lihat[Nama Sumber Daya Amazon (ARNs) di Amazon RDS](USER_Tagging.ARN.md).

  Elemen `Resource` dalam contoh menentukan batasan kebijakan berikut pada sumber daya untuk pengguna:
  + ID instans DB untuk instans DB baru harus dimulai dengan `test` (misalnya, `testCustomerData1`, `test-region2-data`).
  + Grup opsi untuk instans DB baru harus dimulai dengan `default`.
  + Grup parameter DB opsi untuk instans DB baru harus dimulai dengan `default`.
  + Grup subnet untuk instans DB baru harus berupa grup subnet `default`.
+ Elemen `Condition` menentukan bahwa mesin DB harus berupa MySQL dan kelas instans DB harus berupa `db.t2.micro`. Elemen `Condition` menentukan kondisi ketika kebijakan harus diberlakukan. Anda dapat menambahkan izin atau batasan tambahan dengan menggunakan elemen `Condition`. Untuk informasi selengkapnya tentang cara menentukan kondisi, lihat [Kunci kondisi kebijakan untuk Amazon RDS](security_iam_service-with-iam.md#UsingWithRDS.IAM.Conditions). Contoh ini menetapkan kondisi `rds:DatabaseEngine` dan `rds:DatabaseClass`. Untuk informasi tentang nilai kondisi yang valid untuk`rds:DatabaseEngine`, lihat daftar di bawah `Engine` parameter di [Buat DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Untuk informasi tentang nilai kondisi yang valid untuk `rds:DatabaseClass`, Lihat [Mesin DB yang didukung untuk kelas instans DB](Concepts.DBInstanceClass.Support.md) . 

Kebijakan ini tidak menentukan elemen `Principal` karena dalam kebijakan berbasis identitas, Anda tidak menentukan pengguna utama yang mendapatkan izin. Saat Anda menyematkan kebijakan kepada pengguna, pengguna ini menjadi pengguna utama implisit. Saat Anda menyematkan kebijakan izin pada peran IAM, pengguna utama yang diidentifikasi dalam kebijakan kepercayaan peran tersebut akan mendapatkan izin.

Untuk melihat daftar tindakan Amazon RDS, lihat [Tindakan yang Ditentukan oleh Amazon RDS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrds.html#amazonrds-actions-as-permissions) di *Referensi Otorisasi Layanan*.

## Mengizinkan pengguna melakukan setiap tindakan yang dijelaskan pada sumber daya RDS
<a name="IAMPolicyExamples-RDS-perform-describe-action"></a>

Kebijakan izin berikut memberikan izin kepada pengguna untuk menjalankan semua tindakan yang dimulai dengan `Describe`. Tindakan ini menunjukkan informasi tentang sumber daya RDS, seperti instans DB. Karakter wildcard (\$1) dalam elemen `Resource` menunjukkan bahwa tindakan diperbolehkan untuk semua sumber daya Amazon RDS yang dimiliki akun tersebut. 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "AllowRDSDescribe",
         "Effect": "Allow",
         "Action": "rds:Describe*",
         "Resource": "*"
      }
   ]
}
```

------

## Mengizinkan pengguna membuat instans DB yang menggunakan grup parameter DB dan grup subnet yang telah ditentukan
<a name="security_iam_id-based-policy-examples-create-db-instance-specified-groups"></a>

Kebijakan izin berikut memberikan izin untuk hanya memperbolehkan pengguna membuat instans DB yang harus menggunakan grup parameter DB `mydbpg` dan grup subnet DB `mydbsubnetgroup`. 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "VisualEditor0",
         "Effect": "Allow",
         "Action": "rds:CreateDBInstance",
         "Resource": [
            "arn:aws:rds:*:*:pg:mydbpg",
            "arn:aws:rds:*:*:subgrp:mydbsubnetgroup"
         ]
      }
   ]
}
```

------

## Berikan izin untuk tindakan atas suatu sumber daya dengan tag tertentu dengan dua nilai yang berbeda
<a name="security_iam_id-based-policy-examples-grant-permissions-tags"></a>

Anda dapat menggunakan kondisi dalam kebijakan berbasis identitas untuk mengontrol akses ke sumber daya Amazon RDS berdasarkan tag. Kebijakan berikut memungkinkan izin untuk melakukan operasi `CreateDBSnapshot` API pada instans DB dengan tag `stage` diatur ke `development` atau `test`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowAnySnapshotName",
         "Effect":"Allow",
         "Action":[
            "rds:CreateDBSnapshot"
         ],
         "Resource":"arn:aws:rds:*:123456789012:snapshot:*"
      },
      {
         "Sid":"AllowDevTestToCreateSnapshot",
         "Effect":"Allow",
         "Action":[
            "rds:CreateDBSnapshot"
         ],
         "Resource":"arn:aws:rds:*:123456789012:db:*",
         "Condition":{
            "StringEquals":{
                "rds:db-tag/stage":[
                  "development",
                  "test"
               ]
            }
         }
      }
   ]
}
```

------

Kebijakan berikut memungkinkan izin untuk melakukan operasi `ModifyDBInstance` API pada instans DB dengan tag `stage` diatur ke `development` atau `test`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowChangingParameterOptionSecurityGroups",
         "Effect":"Allow",
         "Action":[
            "rds:ModifyDBInstance"
         ],
         "Resource": [
            "arn:aws:rds:*:123456789012:pg:*",
            "arn:aws:rds:*:123456789012:secgrp:*",
            "arn:aws:rds:*:123456789012:og:*"
         ]
      },
      {
         "Sid":"AllowDevTestToModifyInstance",
         "Effect":"Allow",
         "Action":[
            "rds:ModifyDBInstance"
         ],
         "Resource":"arn:aws:rds:*:123456789012:db:*",
         "Condition":{
            "StringEquals":{
                "rds:db-tag/stage":[
                  "development",
                  "test"
               ]
            }
         }
      }
   ]
}
```

------

## Mencegah pengguna menghapus instans DB
<a name="IAMPolicyExamples-RDS-prevent-db-deletion"></a>

Kebijakan izin berikut memberikan izin untuk mencegah pengguna menghapus instans DB tertentu. Misalnya, Anda mungkin ingin menolak kemampuan untuk menghapus instans DB produksi Anda kepada setiap pengguna yang bukan administrator.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "DenyDelete1",
         "Effect": "Deny",
         "Action": "rds:DeleteDBInstance",
         "Resource": "arn:aws:rds:us-west-2:123456789012:db:my-mysql-instance"
      }
   ]
}
```

------

## Menolak semua akses ke sumber daya
<a name="IAMPolicyExamples-RDS-deny-all-access"></a>

Anda juga dapat secara eksplisit menolak akses ke sumber daya. Kebijakan penolakan lebih diutamakan daripada kebijakan yang diizinkan. Kebijakan berikut secara eksplisit menolak kemampuan pengguna untuk mengelola sumber daya:

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Deny",
         "Action": "rds:*",
         "Resource": "arn:aws:rds:us-east-1:123456789012:db:mydb"
      }
   ]
}
```

------

# Contoh Kebijakan: Menggunakan kunci kondisi
<a name="UsingWithRDS.IAM.Conditions.Examples"></a>

Berikut ini adalah contoh cara menggunakan kunci kondisi dalam kebijakan izin IAM Amazon RDS. 

## Contoh 1: Memberikan izin untuk membuat instans DB yang menggunakan mesin DB spesifik dan tidak berupa Multi-AZ
<a name="w2aac58c48c33c21b5"></a>

Kebijakan berikut menggunakan kunci kondisi RDS dan memungkinkan pengguna membuat instans DB yang menggunakan mesin basis data MySQL saja dan tidak menggunakan MultiAZ. Elemen `Condition` menunjukkan persyaratan bahwa mesin basis data adalah MySQL. 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "AllowMySQLCreate",
         "Effect": "Allow",
         "Action": "rds:CreateDBInstance",
         "Resource": "*",
         "Condition": {
            "StringEquals": {
               "rds:DatabaseEngine": "mysql"
            },
            "Bool": {
               "rds:MultiAz": false
            }
         }
      }
   ]
}
```

------

## Contoh 2: Secara eksplisit menolak izin untuk membuat instans DB untuk kelas instans DB tertentu dan membuat instans DB yang menggunakan IOPS yang Tersedia
<a name="w2aac58c48c33c21b7"></a>

Kebijakan berikut secara eksplisit menolak izin untuk membuat instans DB yang menggunakan kelas instans DB `r3.8xlarge` dan `m4.10xlarge`, yang merupakan kelas instans DB terbesar dan termahal. Kebijakan ini juga mencegah pengguna membuat instans DB yang menggunakan IOPS yang Tersedia, yang menimbulkan biaya tambahan. 

Izin yang secara tegas menolak lebih diprioritaskan daripada izin lain yang diberikan. Ini memastikan bahwa identitas tidak akan secara kebetulan mendapatkan izin yang tidak pernah ingin Anda berikan.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "DenyLargeCreate",
         "Effect": "Deny",
         "Action": "rds:CreateDBInstance",
         "Resource": "*",
         "Condition": {
            "StringEquals": {
               "rds:DatabaseClass": [
                  "db.r3.8xlarge",
                  "db.m4.10xlarge"
               ]
            }
         }
      },
      {
         "Sid": "DenyPIOPSCreate",
         "Effect": "Deny",
         "Action": "rds:CreateDBInstance",
         "Resource": "*",
         "Condition": {
            "NumericNotEquals": {
               "rds:Piops": "0"
            }
         }
      }
   ]
}
```

------

## Contoh 3: Membatasi kumpulan kunci dan nilai tag yang dapat digunakan untuk menandai sumber daya
<a name="w2aac58c48c33c21b9"></a>

Kebijakan berikut menggunakan kunci kondisi RDS dan memungkinkan penambahan tag dengan kunci `stage` untuk ditambahkan ke sumber daya dengan nilai `test`, `qa`, dan `production`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowTagEdits",
      "Effect": "Allow",
      "Action": [
        "rds:AddTagsToResource",
        "rds:RemoveTagsFromResource"
      ],
      "Resource": "arn:aws:rds:us-east-1:123456789012:db:db-123456",
      "Condition": {
        "StringEquals": {
          "rds:req-tag/stage": [
            "test",
            "qa",
            "production"
          ]
        }
      }
    }
  ]
}
```

------

# Menentukan kondisi: Menggunakan tag kustom
<a name="UsingWithRDS.IAM.SpecifyingCustomTags"></a>

Amazon RDS mendukung penentuan kondisi dalam kebijakan IAM menggunakan tag kustom.

Sebagai contoh, misalkan Anda menambahkan tag bernama `environment` ke instans DB Anda dengan nilai seperti `beta`, `staging`, `production`, dan sebagainya. Jika melakukannya, Anda dapat membuat kebijakan yang membatasi pengguna tertentu pada instans DB berdasarkan nilai tag `environment`.

**catatan**  
ID tag kustom bersifat peka huruf besar-kecil.

Tabel berikut mencantumkan ID tag RDS yang dapat digunakan pada elemen `Condition`. 

<a name="rds-iam-condition-tag-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/UsingWithRDS.IAM.SpecifyingCustomTags.html)

Sintaks untuk kondisi tag kustom adalah sebagai berikut:

`"Condition":{"StringEquals":{"rds:rds-tag-identifier/tag-name": ["value"]} }` 

Misalnya, elemen `Condition` berikut berlaku untuk instans DB dengan tag bernama `environment` dan nilai tag `production`. 

` "Condition":{"StringEquals":{"rds:db-tag/environment": ["production"]} } ` 

Untuk informasi tentang membuat tag, lihat [Menandai sumber Amazon RDS](USER_Tagging.md).

**penting**  
Jika Anda mengelola akses ke sumber daya RDS Anda menggunakan pemberian tag, sebaiknya Anda mengamankan akses ke tag untuk sumber daya RDS Anda. Anda dapat mengelola akses ke tag dengan membuat kebijakan untuk tindakan `AddTagsToResource` dan `RemoveTagsFromResource`. Misalnya, kebijakan berikut menolak kemampuan pengguna untuk menambahkan atau menghapus tag untuk semua sumber daya. Anda kemudian dapat membuat kebijakan untuk mengizinkan pengguna tertentu menambahkan atau menghapus tag.   

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"DenyTagUpdates",
         "Effect":"Deny",
         "Action":[
            "rds:AddTagsToResource",
            "rds:RemoveTagsFromResource"
         ],
         "Resource":"*"
      }
   ]
}
```

Untuk melihat daftar tindakan Amazon RDS, lihat [Tindakan yang Ditentukan oleh Amazon RDS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrds.html#amazonrds-actions-as-permissions) di *Referensi Otorisasi Layanan*.

## Contoh kebijakan: Menggunakan tag kustom
<a name="UsingWithRDS.IAM.Conditions.Tags.Examples"></a>

Contoh berikut menunjukkan cara menggunakan tag kustom dalam kebijakan izin IAM Amazon RDS. Untuk informasi lebih lanjut tentang cara menambahkan tag ke sumber daya Amazon RDS, lihat [Nama Sumber Daya Amazon (ARNs) di Amazon RDS](USER_Tagging.ARN.md). 

**catatan**  
Semua contoh menggunakan wilayah us-west-2 dan berisi akun fiktif. IDs

### Contoh 1: Memberikan izin untuk tindakan pada sumber daya dengan tag tertentu dengan dua nilai yang berbeda
<a name="w2aac58c48c33c23c29b6"></a>

Kebijakan berikut memungkinkan izin untuk melakukan operasi `CreateDBSnapshot` API pada instans DB dengan tag `stage` diatur ke `development` atau `test`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowAnySnapshotName",
         "Effect":"Allow",
         "Action":[
            "rds:CreateDBSnapshot"
         ],
         "Resource":"arn:aws:rds:*:123456789012:snapshot:*"
      },
      {
         "Sid":"AllowDevTestToCreateSnapshot",
         "Effect":"Allow",
         "Action":[
            "rds:CreateDBSnapshot"
         ],
         "Resource":"arn:aws:rds:*:123456789012:db:*",
         "Condition":{
            "StringEquals":{
                "rds:db-tag/stage":[
                  "development",
                  "test"
               ]
            }
         }
      }
   ]
}
```

------

Kebijakan berikut memungkinkan izin untuk melakukan operasi `ModifyDBInstance` API pada instans DB dengan tag `stage` diatur ke `development` atau `test`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowChangingParameterOptionSecurityGroups",
         "Effect":"Allow",
         "Action":[
            "rds:ModifyDBInstance"
            ],
          "Resource": [
            "arn:aws:rds:*:123456789012:pg:*",
            "arn:aws:rds:*:123456789012:secgrp:*",
            "arn:aws:rds:*:123456789012:og:*"
            ]
       },
       {
         "Sid":"AllowDevTestToModifyInstance",
         "Effect":"Allow",
         "Action":[
            "rds:ModifyDBInstance"
            ],
         "Resource":"arn:aws:rds:*:123456789012:db:*",
         "Condition":{
            "StringEquals":{
               "rds:db-tag/stage":[
                  "development",
                  "test"
                  ]
               }
            }
       }
    ]
}
```

------

### Contoh 2: Secara eksplisit menolak izin untuk membuat instans DB yang menggunakan grup parameter DB yang ditentukan
<a name="w2aac58c48c33c23c29b8"></a>

Kebijakan berikut secara eksplisit menolak izin untuk membuat instans DB yang menggunakan grup parameter DB dengan nilai tag spesifik. Anda dapat menerapkan kebijakan ini jika Anda mengharuskan grup parameter DB yang dibuat pengguna tertentu selalu digunakan saat membuat instans DB. Kebijakan yang menggunakan `Deny` paling sering digunakan untuk membatasi akses yang diberikan oleh kebijakan yang lebih luas.

Izin yang secara tegas menolak lebih diprioritaskan daripada izin lain yang diberikan. Ini memastikan bahwa identitas tidak akan secara kebetulan mendapatkan izin yang tidak pernah ingin Anda berikan.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"DenyProductionCreate",
         "Effect":"Deny",
         "Action":"rds:CreateDBInstance",
         "Resource":"arn:aws:rds:*:123456789012:pg:*",
         "Condition":{
            "StringEquals":{
               "rds:pg-tag/usage":"prod"
            }
         }
      }
   ]
}
```

------

### Contoh 3: Memberikan izin untuk tindakan pada instans DB dengan nama instans yang diawali dengan nama pengguna
<a name="w2aac58c48c33c23c29c10"></a>

Kebijakan berikut memungkinkan izin untuk memanggil API apa pun (kecuali untuk `AddTagsToResource` atau `RemoveTagsFromResource`) pada instans DB yang memiliki nama instans DB yang diawali dengan nama pengguna dan memiliki tag bernama `stage` yang sama dengan `devo` atau yang tidak memiliki tag bernama `stage`.

Baris `Resource` dalam kebijakan mengidentifikasi sumber daya berdasarkan Amazon Resource Name (ARN). Untuk informasi selengkapnya tentang penggunaan ARNs dengan sumber daya Amazon RDS Aurora, lihat. [Nama Sumber Daya Amazon (ARNs) di Amazon RDS](USER_Tagging.ARN.md) 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowFullDevAccessNoTags",
         "Effect":"Allow",
         "NotAction":[
            "rds:AddTagsToResource",
            "rds:RemoveTagsFromResource"
         ],
         "Resource":"arn:aws:rds:*:123456789012:db:${aws:username}*",
         "Condition":{
            "StringEqualsIfExists":{
               "rds:db-tag/stage":"devo"
            }
         }
      }
   ]
}
```

------

# Berikan izin untuk menandai sumber daya Amazon RDS selama pembuatan
<a name="security_iam_id-based-policy-examples-grant-permissions-tags-on-create"></a>

Beberapa operasi API RDS memungkinkan Anda menentukan tag saat membuat sumber daya. Anda dapat menggunakan tanda sumber daya untuk menerapkan pengendalian berbasis atribut (ABAC). Untuk informasi lebih lanjut, lihat [Untuk apa ABAC? AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) dan [Mengontrol akses ke AWS sumber daya menggunakan tag](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).

Untuk memungkinkan pengguna menandai sumber daya pada pembuatan, mereka harus memiliki izin untuk menggunakan tindakan yang membuat sumber daya, seperti `rds:CreateDBInstance`. Jika tag ditentukan dalam tindakan buat, RDS melakukan otorisasi tambahan pada `rds:AddTagsToResource` tindakan untuk memverifikasi apakah pengguna memiliki izin untuk membuat tag. Oleh karena itu, para pengguna juga harus memiliki izin eksplisit untuk menggunakan tindakan `rds:AddTagsToResource`.

Dalam definisi kebijakan IAM untuk `rds:AddTagsToResource` tindakan, Anda dapat menggunakan kunci `aws:RequestTag` kondisi untuk mewajibkan tag dalam permintaan untuk menandai sumber daya.

Misalnya, kebijakan berikut memungkinkan pengguna untuk membuat instance DB dan menerapkan tag selama pembuatan instans DB, tetapi hanya dengan kunci tag tertentu (`environment`atau`project`):

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Action": [
               "rds:CreateDBInstance"
           ],
           "Resource": "*"
       },
       {
           "Effect": "Allow",
           "Action": [
               "rds:AddTagsToResource"
           ],
           "Resource": "*",
           "Condition": {
               "StringEquals": {
                   "aws:RequestTag/environment": ["production", "development"],
                   "aws:RequestTag/project": ["dataanalytics", "webapp"]
               },
               "ForAllValues:StringEquals": {
                   "aws:TagKeys": ["environment", "project"]
               }
           }
       }
   ]
}
```

------

Kebijakan ini menolak permintaan instans create DB yang menyertakan tag selain `project` tag `environment` atau, atau yang tidak menentukan salah satu tag ini. Selain itu, pengguna harus menentukan nilai untuk tag yang cocok dengan nilai yang diizinkan dalam kebijakan.

Kebijakan berikut memungkinkan pengguna untuk membuat cluster DB dan menerapkan tag apa pun selama pembuatan kecuali `environment=prod` tag:

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Action": [
               "rds:CreateDBCluster"
           ],
           "Resource": "*"
       },
       {
           "Effect": "Allow",
           "Action": [
               "rds:AddTagsToResource"
           ],
           "Resource": "*",
           "Condition": {
               "StringNotEquals": {
                   "aws:RequestTag/environment": "prod"
               }
           }
       }
   ]
}
```

------

## Tindakan API RDS yang didukung untuk menandai pada pembuatan
<a name="security_iam_id-based-policy-examples-supported-rds-api-actions-tagging-creation"></a>

Tindakan API RDS berikut mendukung penandaan saat Anda membuat sumber daya. Untuk tindakan ini, Anda dapat menentukan tag saat membuat sumber daya:
+ `CreateBlueGreenDeployment`
+ `CreateCustomDBEngineVersion`
+ `CreateDBCluster`
+ `CreateDBClusterEndpoint`
+ `CreateDBClusterParameterGroup`
+ `CreateDBClusterSnapshot`
+ `CreateDBInstance`
+ `CreateDBInstanceReadReplica`
+ `CreateDBParameterGroup`
+ `CreateDBProxy`
+ `CreateDBProxyEndpoint`
+ `CreateDBSecurityGroup`
+ `CreateDBShardGroup`
+ `CreateDBSnapshot`
+ `CreateDBSubnetGroup`
+ `CreateEventSubscription`
+ `CreateGlobalCluster`
+ `CreateIntegration`
+ `CreateOptionGroup`
+ `CreateTenantDatabase`
+ `CopyDBClusterParameterGroup`
+ `CopyDBClusterSnapshot`
+ `CopyDBParameterGroup`
+ `CopyDBSnapshot`
+ `CopyOptionGroup`
+ `RestoreDBClusterFromS3`
+ `RestoreDBClusterFromSnapshot`
+ `RestoreDBClusterToPointInTime`
+ `RestoreDBInstanceFromDBSnapshot`
+ `RestoreDBInstanceFromS3`
+ `RestoreDBInstanceToPointInTime`
+ `PurchaseReservedDBInstancesOffering`

Jika Anda menggunakan API AWS CLI atau untuk membuat sumber daya dengan tag, `Tags` parameter tersebut digunakan untuk menerapkan tag ke sumber daya selama pembuatan.

Untuk tindakan API ini, jika penandaan gagal, sumber daya tidak dibuat, dan permintaan gagal dengan kesalahan. Ini memastikan bahwa sumber daya dibuat dengan tag atau tidak dibuat sama sekali, mencegah sumber daya dibuat tanpa tag yang dimaksudkan.

# AWS kebijakan terkelola untuk Amazon RDS
<a name="rds-security-iam-awsmanpol"></a>

Untuk menambahkan izin ke set dan peran izin, lebih mudah menggunakan kebijakan AWS terkelola daripada menulis kebijakan sendiri. Dibutuhkan waktu dan keahlian untuk [membuat kebijakan yang dikelola pelanggan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) yang hanya memberi tim Anda izin yang mereka butuhkan. Untuk memulai dengan cepat, Anda dapat menggunakan kebijakan AWS terkelola kami. Kebijakan ini mencakup kasus penggunaan umum dan tersedia di Akun AWS Anda. Untuk informasi selengkapnya tentang kebijakan AWS [AWS terkelola, lihat kebijakan terkelola](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) di *Panduan Pengguna IAM*.

Layanan AWS memelihara dan memperbarui kebijakan AWS terkelola. Anda tidak dapat mengubah izin dalam kebijakan AWS terkelola. Layanan terkadang menambahkan izin tambahan ke kebijakan AWS terkelola untuk mendukung fitur baru. Jenis pembaruan ini akan memengaruhi semua identitas (pengguna, grup, dan peran) di mana kebijakan tersebut dilampirkan. Layanan kemungkinan besar akan memperbarui kebijakan AWS terkelola saat fitur baru diluncurkan atau saat operasi baru tersedia. Layanan tidak menghapus izin dari kebijakan AWS terkelola, sehingga pembaruan kebijakan tidak merusak izin yang ada.

Selain itu, AWS mendukung kebijakan terkelola untuk fungsi pekerjaan yang mencakup beberapa layanan. Misalnya, kebijakan `ReadOnlyAccess` AWS terkelola menyediakan akses hanya-baca ke semua Layanan AWS dan sumber daya. Saat layanan meluncurkan fitur baru, AWS tambahkan izin hanya-baca untuk operasi dan sumber daya baru. Untuk melihat daftar dan deskripsi dari kebijakan fungsi tugas, lihat [kebijakan yang dikelola AWS untuk fungsi tugas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) di *Panduan Pengguna IAM*.

**Topics**
+ [

## AWS kebijakan terkelola: Amazon RDSRead OnlyAccess
](#rds-security-iam-awsmanpol-AmazonRDSReadOnlyAccess)
+ [

## AWS kebijakan terkelola: RDSFull Akses Amazon
](#rds-security-iam-awsmanpol-AmazonRDSFullAccess)
+ [

## AWS kebijakan terkelola: Amazon RDSData FullAccess
](#rds-security-iam-awsmanpol-AmazonRDSDataFullAccess)
+ [

## AWS kebijakan terkelola: Amazon RDSEnhanced MonitoringRole
](#rds-security-iam-awsmanpol-AmazonRDSEnhancedMonitoringRole)
+ [

## AWS kebijakan terkelola: Amazon RDSPerformance InsightsReadOnly
](#rds-security-iam-awsmanpol-AmazonRDSPerformanceInsightsReadOnly)
+ [

## AWS kebijakan terkelola: Amazon RDSPerformance InsightsFullAccess
](#rds-security-iam-awsmanpol-AmazonRDSPerformanceInsightsFullAccess)
+ [

## AWS kebijakan terkelola: Amazon RDSDirectory ServiceAccess
](#rds-security-iam-awsmanpol-AmazonRDSDirectoryServiceAccess)
+ [

## AWS kebijakan terkelola: Amazon RDSService RolePolicy
](#rds-security-iam-awsmanpol-AmazonRDSServiceRolePolicy)
+ [

## AWS kebijakan terkelola: Amazon RDSCustom ServiceRolePolicy
](#rds-security-iam-awsmanpol-AmazonRDSCustomServiceRolePolicy)
+ [

## AWS kebijakan terkelola: RDSCustom Instans Amazon ProfileRolePolicy
](#rds-security-iam-awsmanpol-AmazonRDSCustomInstanceProfileRolePolicy)
+ [

## AWS kebijakan terkelola: Amazon RDSPreview ServiceRolePolicy
](#rds-security-iam-awsmanpol-AmazonRDSPreviewServiceRolePolicy)
+ [

## AWS kebijakan terkelola: Amazon RDSBeta ServiceRolePolicy
](#rds-security-iam-awsmanpol-AmazonRDSBetaServiceRolePolicy)

## AWS kebijakan terkelola: Amazon RDSRead OnlyAccess
<a name="rds-security-iam-awsmanpol-AmazonRDSReadOnlyAccess"></a>

Kebijakan ini memungkinkan akses hanya-baca ke Amazon RDS melalui. Konsol Manajemen AWS

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `rds` – Mengizinkan pengguna utama mendeskripsikan sumber daya Amazon RDS dan mencantumkan tag untuk sumber daya Amazon RDS.
+ `cloudwatch`— Memungkinkan kepala sekolah untuk mendapatkan statistik metrik Amazon CloudWatch .
+ `ec2` – Mengizinkan pengguna utama mendeskripsikan Zona Ketersediaan dan sumber daya jaringan.
+ `logs`— Memungkinkan prinsipal untuk menggambarkan aliran CloudWatch log Log dari grup log, dan mendapatkan CloudWatch peristiwa log Log.
+ `devops-guru`— Memungkinkan prinsipal untuk mendeskripsikan sumber daya yang memiliki cakupan Amazon DevOps Guru, yang ditentukan baik oleh nama CloudFormation tumpukan atau tag sumber daya.

Untuk informasi selengkapnya tentang kebijakan ini, termasuk dokumen kebijakan JSON, lihat [Amazon RDSRead OnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSReadOnlyAccess.html) di *Panduan Referensi Kebijakan AWS Terkelola*.

## AWS kebijakan terkelola: RDSFull Akses Amazon
<a name="rds-security-iam-awsmanpol-AmazonRDSFullAccess"></a>

Kebijakan ini menyediakan akses penuh ke Amazon RDS melalui. Konsol Manajemen AWS

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `rds` – Mengizinkan pengguna utama memiliki akses penuh ke Amazon RDS.
+ `application-autoscaling` – Mengizinkan pengguna utama mendeskripsikan dan mengelola target dan kebijakan penskalaan Application Auto Scaling.
+ `cloudwatch`— Memungkinkan kepala sekolah mendapatkan statika CloudWatch metrik dan mengelola alarm. CloudWatch 
+ `ec2` – Mengizinkan pengguna utama mendeskripsikan Zona Ketersediaan dan sumber daya jaringan.
+ `logs`— Memungkinkan prinsipal untuk menggambarkan aliran CloudWatch log Log dari grup log, dan mendapatkan CloudWatch peristiwa log Log.
+ `outposts`— Memungkinkan prinsipal untuk mendapatkan AWS Outposts jenis instance.
+ `pi` – Mengizinkan pengguna utama untuk mendapatkan metrik Wawasan Performa.
+ `sns` – Mengizinkan pengguna utama untuk menggunakan langganan dan topik Amazon Simple Notification Service (Amazon SNS), dan menerbitkan pesan Amazon SNS.
+ `devops-guru`— Memungkinkan prinsipal untuk mendeskripsikan sumber daya yang memiliki cakupan Amazon DevOps Guru, yang ditentukan baik oleh nama CloudFormation tumpukan atau tag sumber daya.

Untuk informasi selengkapnya tentang kebijakan ini, termasuk dokumen kebijakan JSON, lihat [Amazon RDSFull Access](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSFullAccess.html) di *Panduan Referensi Kebijakan AWS Terkelola*.

## AWS kebijakan terkelola: Amazon RDSData FullAccess
<a name="rds-security-iam-awsmanpol-AmazonRDSDataFullAccess"></a>

Kebijakan ini memungkinkan akses penuh untuk menggunakan Data API dan editor kueri pada Aurora Serverless cluster tertentu Akun AWS. Kebijakan ini memungkinkan Akun AWS untuk mendapatkan nilai rahasia dari AWS Secrets Manager. 

Anda dapat melampirkan kebijakan `AmazonRDSDataFullAccess` ke identitas IAM Anda.

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `dbqms` – Mengizinkan pengguna utama mengakses, menghapus, mendeskripsikan, dan memperbarui kueri. Layanan Metadata Kueri Basis Data (`dbqms`) adalah layanan khusus internal. Ini memberikan kueri terbaru dan tersimpan Anda untuk editor kueri di Konsol Manajemen AWS untuk beberapa Layanan AWS, termasuk Amazon RDS.
+ `rds-data` – Mengizinkan pengguna utama untuk menjalankan pernyataan SQL pada basis data Aurora Serverless.
+ `secretsmanager`— Memungkinkan kepala sekolah untuk mendapatkan nilai rahasia dari. AWS Secrets Manager

Untuk informasi selengkapnya tentang kebijakan ini, termasuk dokumen kebijakan JSON, lihat [Amazon RDSData FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSDataFullAccess.html) di *Panduan Referensi Kebijakan AWS Terkelola*.

## AWS kebijakan terkelola: Amazon RDSEnhanced MonitoringRole
<a name="rds-security-iam-awsmanpol-AmazonRDSEnhancedMonitoringRole"></a>

Kebijakan ini menyediakan akses ke Amazon CloudWatch Logs untuk Amazon RDS Enhanced Monitoring.

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `logs`— Memungkinkan prinsipal untuk membuat grup CloudWatch log Log dan kebijakan retensi, dan untuk membuat dan mendeskripsikan aliran CloudWatch log log dari grup log. Ini juga memungkinkan kepala sekolah untuk menempatkan dan mendapatkan peristiwa CloudWatch log Log.

Untuk informasi selengkapnya tentang kebijakan ini, termasuk dokumen kebijakan JSON, lihat [Amazon RDSEnhanced MonitoringRole](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSEnhancedMonitoringRole.html) di *Panduan Referensi Kebijakan AWS Terkelola*.

## AWS kebijakan terkelola: Amazon RDSPerformance InsightsReadOnly
<a name="rds-security-iam-awsmanpol-AmazonRDSPerformanceInsightsReadOnly"></a>

Kebijakan ini menyediakan akses hanya-baca ke Wawasan Performa Amazon RDS untuk instans DB Amazon RDS dan klaster DB Amazon Aurora.

Kebijakan ini kini mencakup `Sid` (ID pernyataan) sebagai pengidentifikasi pernyataan kebijakan. 

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `rds` – Mengizinkan pengguna utama mendeskripsikan instans DB Amazon RDS dan klaster DB Amazon Aurora.
+ `pi` – Mengizinkan pengguna utama melakukan panggilan ke API Wawasan Performa Amazon RDS dan mengakses metrik Wawasan Performa.

Untuk informasi selengkapnya tentang kebijakan ini, termasuk dokumen kebijakan JSON, lihat [Amazon RDSPerformance InsightsReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSPerformanceInsightsReadOnly.html) di *Panduan Referensi Kebijakan AWS Terkelola*.

## AWS kebijakan terkelola: Amazon RDSPerformance InsightsFullAccess
<a name="rds-security-iam-awsmanpol-AmazonRDSPerformanceInsightsFullAccess"></a>

Kebijakan ini menyediakan akses penuh ke Wawasan Performa Amazon RDS untuk instans DB Amazon RDS dan klaster DB Amazon Aurora.

Kebijakan ini kini mencakup `Sid` (ID pernyataan) sebagai pengidentifikasi pernyataan kebijakan. 

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `rds` – Mengizinkan pengguna utama mendeskripsikan instans DB Amazon RDS dan klaster DB Amazon Aurora.
+ `pi` – Mengizinkan pengguna utama melakukan panggilan ke API Wawasan Performa Amazon RDS, serta membuat, melihat, dan menghapus laporan analisis performa.
+ `cloudwatch`— Memungkinkan kepala sekolah untuk membuat daftar semua metrik Amazon, dan mendapatkan CloudWatch data metrik dan statistik.

Untuk informasi selengkapnya tentang kebijakan ini, termasuk dokumen kebijakan JSON, lihat [Amazon RDSPerformance InsightsFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSPerformanceInsightsFullAccess.html) di *Panduan Referensi Kebijakan AWS Terkelola*.

## AWS kebijakan terkelola: Amazon RDSDirectory ServiceAccess
<a name="rds-security-iam-awsmanpol-AmazonRDSDirectoryServiceAccess"></a>

Kebijakan ini mengizinkan Amazon RDS untuk melakukan panggilan ke Directory Service.

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `ds`— Memungkinkan kepala sekolah untuk mendeskripsikan Directory Service direktori dan mengontrol otorisasi ke direktori. Directory Service 

Untuk informasi selengkapnya tentang kebijakan ini, termasuk dokumen kebijakan JSON, lihat [Amazon RDSDirectory ServiceAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSDirectoryServiceAccess.html) di *Panduan Referensi Kebijakan AWS Terkelola*.

## AWS kebijakan terkelola: Amazon RDSService RolePolicy
<a name="rds-security-iam-awsmanpol-AmazonRDSServiceRolePolicy"></a>

Anda tidak dapat melampirkan kebijakan `AmazonRDSServiceRolePolicy` ke entitas IAM Anda. Kebijakan ini dilampirkan ke peran tertaut layanan yang memungkinkan Amazon RDS melakukan tindakan atas nama Anda. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions).

## AWS kebijakan terkelola: Amazon RDSCustom ServiceRolePolicy
<a name="rds-security-iam-awsmanpol-AmazonRDSCustomServiceRolePolicy"></a>

Anda tidak dapat melampirkan kebijakan `AmazonRDSCustomServiceRolePolicy` ke entitas IAM Anda. Kebijakan ini dilampirkan ke peran terkait layanan yang memungkinkan Amazon RDS memanggil AWS layanan atas nama sumber daya RDS DB Anda.

Kebijakan ini mencakup izin berikut:
+ `ec2`- Memungkinkan RDS Custom untuk melakukan operasi pencadangan pada instans DB yang menyediakan kemampuan point-in-time pemulihan.
+ `secretsmanager`- Memungkinkan RDS Custom untuk mengelola rahasia spesifik instans DB yang dibuat oleh RDS Custom.
+ `cloudwatch`- Memungkinkan RDS Custom untuk mengunggah metrik instans DB dan log ke CloudWatch melalui CloudWatch agen.
+ `events`, `sqs` - Memungkinkan RDS Custom untuk mengirim dan menerima informasi status tentang instans DB.
+ `cloudtrail`- Memungkinkan RDS Custom untuk menerima peristiwa perubahan tentang instans DB
+ `servicequotas`- Memungkinkan RDS Custom untuk membaca kuota layanan yang terkait dengan instans DB
+ `ssm`- Memungkinkan RDS Custom untuk mengelola instans EC2 yang mendasari instans DB.
+ `rds`- Memungkinkan RDS Custom untuk mengelola sumber daya RDS untuk instans DB Anda
+ `iam`- Memungkinkan RDS Custom untuk memvalidasi dan melampirkan profil instance ke instans EC2 yang mendasari instans DB.

Untuk informasi selengkapnya tentang kebijakan ini, termasuk dokumen kebijakan JSON, lihat [Amazon RDSCustom ServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSCustomServiceRolePolicy.html) di *Panduan Referensi Kebijakan AWS Terkelola*.

## AWS kebijakan terkelola: RDSCustom Instans Amazon ProfileRolePolicy
<a name="rds-security-iam-awsmanpol-AmazonRDSCustomInstanceProfileRolePolicy"></a>

Anda tidak harus melampirkan `AmazonRDSCustomInstanceProfileRolePolicy` ke entitas IAM Anda. Ini hanya boleh dilampirkan ke peran profil instans yang digunakan untuk memberikan izin ke instans Amazon RDS Custom DB Anda untuk melakukan berbagai tindakan otomatisasi dan tugas manajemen database. Teruskan profil instans sebagai `custom-iam-instance-profile` parameter selama pembuatan instans Kustom RDS dan RDS Custom mengaitkan profil instance ini ke instans DB Anda.

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `ssm`,`ssmmessages`, `ec2messages` - Memungkinkan RDS Custom untuk berkomunikasi, menjalankan otomatisasi dan memelihara agen pada instans DB melalui Systems Manager.
+ `ec2`, `s3` - Memungkinkan RDS Custom untuk melakukan operasi pencadangan pada instans DB yang menyediakan kemampuan point-in-time pemulihan.
+ `secretsmanager`- Memungkinkan RDS Custom untuk mengelola rahasia spesifik instans DB yang dibuat oleh RDS Custom.
+ `cloudwatch`, `logs` - Memungkinkan RDS Custom untuk mengunggah metrik dan log instans DB CloudWatch melalui CloudWatch agen.
+ `events`, `sqs` - Memungkinkan RDS Custom untuk mengirim dan menerima informasi status tentang instans DB.
+ `kms`- Memungkinkan RDS Custom menggunakan kunci KMS khusus instance untuk melakukan enkripsi rahasia dan objek S3 yang dikelola RDS Custom.

Untuk informasi selengkapnya tentang kebijakan ini, termasuk dokumen kebijakan JSON, lihat [RDSCustomInstans Amazon ProfileRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSCustomInstanceProfileRolePolicy.html) di *Panduan Referensi Kebijakan AWS Terkelola*.

## AWS kebijakan terkelola: Amazon RDSPreview ServiceRolePolicy
<a name="rds-security-iam-awsmanpol-AmazonRDSPreviewServiceRolePolicy"></a>

Anda tidak harus melampirkan `AmazonRDSPreviewServiceRolePolicy` ke entitas IAM Anda. Kebijakan ini dilampirkan ke peran terkait layanan yang memungkinkan Amazon RDS memanggil AWS layanan atas nama sumber daya RDS DB Anda. Untuk informasi selengkapnya, lihat [Peran terkait layanan untuk Amazon RDS Preview](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-rdspreview). 

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `ec2`- Memungkinkan kepala sekolah untuk menggambarkan Availability Zone dan sumber daya jaringan.
+ `secretsmanager`— Memungkinkan kepala sekolah untuk mendapatkan nilai rahasia dari. AWS Secrets Manager
+ `cloudwatch`, `logs` - Memungkinkan Amazon RDS mengunggah metrik dan log instans DB CloudWatch melalui CloudWatch agen.

Untuk informasi selengkapnya tentang kebijakan ini, termasuk dokumen kebijakan JSON, lihat [Amazon RDSPreview ServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSPreviewServiceRolePolicy.html) di *Panduan Referensi Kebijakan AWS Terkelola*.

## AWS kebijakan terkelola: Amazon RDSBeta ServiceRolePolicy
<a name="rds-security-iam-awsmanpol-AmazonRDSBetaServiceRolePolicy"></a>

Anda tidak harus melampirkan `AmazonRDSBetaServiceRolePolicy` ke entitas IAM Anda. Kebijakan ini dilampirkan ke peran terkait layanan yang memungkinkan Amazon RDS memanggil AWS layanan atas nama sumber daya RDS DB Anda. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Beta](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-rdsbeta).

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `ec2`- Memungkinkan Amazon RDS melakukan operasi pencadangan pada instans DB yang menyediakan kemampuan point-in-time pemulihan.
+ `secretsmanager`- Memungkinkan Amazon RDS mengelola rahasia spesifik instans DB yang dibuat oleh Amazon RDS.
+ `cloudwatch`, `logs` - Memungkinkan Amazon RDS mengunggah metrik dan log instans DB CloudWatch melalui CloudWatch agen.

Untuk informasi selengkapnya tentang kebijakan ini, termasuk dokumen kebijakan JSON, lihat [Amazon RDSBeta ServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSBetaServiceRolePolicy.html) di *Panduan Referensi Kebijakan AWS Terkelola*.

# Amazon RDS memperbarui kebijakan AWS terkelola
<a name="rds-manpol-updates"></a>

Lihat detail tentang pembaruan kebijakan AWS terkelola untuk Amazon RDS sejak layanan ini mulai melacak perubahan ini. Untuk peringatan otomatis tentang perubahan pada halaman ini, berlangganan di umpan RSS di halaman [Riwayat dokumen](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/WhatsNew.html) Amazon RDS.




| Perubahan | Deskripsi | Tanggal | 
| --- | --- | --- | 
| [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom) – Pembaruan ke kebijakan yang sudah ada |  Amazon RDS memperbarui izin pada peran `AmazonRDSCustomServiceRolePolicy` terkait `AWSServiceRoleForRDSCustom` layanan. Pembaruan menghapus `ec2:CopySnapshot` dari satu pernyataan dan menambahkan dua pernyataan baru untuk izin snapshot sumber dan tujuan. Pembaruan ini mematuhi [perubahan perilaku CopySnapshot otorisasi EBS](https://aws.amazon.com/blogs/storage/enhancing-resource-level-permissions-for-copying-amazon-ebs-snapshots/) sambil menjaga izin efektif tidak berubah. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom).  | Agustus 7, 2025 | 
| [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom) – Pembaruan ke kebijakan yang sudah ada |  Amazon RDS menambahkan izin baru ke `AmazonRDSCustomServiceRolePolicy` peran terkait layanan `AWSServiceRoleForRDSCustom`. Izin ini memungkinkan RDS Custom untuk mengelola EC2 pasangan kunci dan memungkinkan RDS Custom untuk berintegrasi dengan Amazon SQS. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom).  | Maret 25, 2025 | 
|  [AWS kebijakan terkelola: RDSCustom Instans Amazon ProfileRolePolicy](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSCustomInstanceProfileRolePolicy) – Pembaruan ke kebijakan yang sudah ada |  Amazon RDS menambahkan izin baru ke kebijakan terkelola `AmazonRDSCustomInstanceProfileRolePolicy` untuk mengizinkan penggunaan rahasia terkelola Kustom RDS pada instans Kustom RDS. Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola: RDSCustom Instans Amazon ProfileRolePolicy](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSCustomInstanceProfileRolePolicy).  | Maret 20, 2025 | 
| [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom) – Pembaruan ke kebijakan yang sudah ada |  Amazon RDS menambahkan izin baru ke `AmazonRDSCustomServiceRolePolicy` peran terkait layanan `AWSServiceRoleForRDSCustom`. Izin baru ini memungkinkan RDS Custom untuk membuat daftar dan memulihkan rahasia Secrets Manager. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom).  | Maret 6, 2025 | 
| [AWS kebijakan terkelola: Amazon RDSPreview ServiceRolePolicy](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSPreviewServiceRolePolicy) – Pembaruan ke kebijakan yang sudah ada |  Amazon RDS menghapus `sns:Publish` izin `AmazonRDSPreviewServiceRolePolicy` dari peran `AWSServiceRoleForRDSPreview` terkait layanan. Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola: Amazon RDSPreview ServiceRolePolicy](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSPreviewServiceRolePolicy). | Agustus 7, 2024 | 
| [AWS kebijakan terkelola: Amazon RDSBeta ServiceRolePolicy](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSBetaServiceRolePolicy) – Pembaruan ke kebijakan yang sudah ada |  Amazon RDS menghapus `sns:Publish` izin `AmazonRDSBetaServiceRolePolicy` dari peran `AWSServiceRoleForRDSBeta` terkait layanan. Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola: Amazon RDSBeta ServiceRolePolicy](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSBetaServiceRolePolicy).  | Agustus 7, 2024 | 
| [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom) – Pembaruan ke kebijakan yang sudah ada |  Amazon RDS menambahkan izin baru ke `AmazonRDSCustomServiceRolePolicy` peran terkait layanan `AWSServiceRoleForRDSCustom`. Izin memungkinkan RDS Custom untuk berkomunikasi dengan layanan Amazon RDS di tempat lain Wilayah AWS dan menyalin gambar. EC2 Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom).  | Juli 18, 2024 | 
| [AWS kebijakan terkelola: Amazon RDSService RolePolicy](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSServiceRolePolicy) – Pembaruan ke kebijakan yang sudah ada |  Amazon RDS menghapus `sns:Publish` izin `AmazonRDSServiceRolePolicy` dari peran ` AWSServiceRoleForRDS` terkait layanan. Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola: Amazon RDSService RolePolicy](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSServiceRolePolicy).  | Juli 2, 2024 | 
| [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom) – Pembaruan ke kebijakan yang sudah ada |  Amazon RDS menambahkan izin baru ke `AmazonRDSCustomServiceRolePolicy` peran terkait layanan `AWSServiceRoleForRDSCustom`. Izin baru ini memungkinkan RDS Custom untuk mengaitkan peran layanan sebagai profil instans ke instans Kustom RDS. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom).  | April 19, 2024 | 
| [AWS kebijakan terkelola untuk Amazon RDS](rds-security-iam-awsmanpol.md) – Pembaruan ke kebijakan yang sudah ada |  Amazon RDS menambahkan izin baru ke peran `AWSServiceRoleForRDSCustom` terkait layanan untuk memungkinkan RDS Custom for SQL Server memodifikasi jenis instans host database yang mendasarinya. `AmazonRDSCustomServiceRolePolicy` RDS juga menambahkan `ec2:DescribeInstanceTypes` izin untuk mendapatkan informasi tipe instance untuk host database. Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola untuk Amazon RDS](rds-security-iam-awsmanpol.md).  | April 8, 2024 | 
|  [AWS kebijakan terkelola untuk Amazon RDS](rds-security-iam-awsmanpol.md) – Kebijakan baru  | Amazon RDS menambahkan kebijakan terkelola baru yang diberi nama AmazonRDSCustomInstanceProfileRolePolicy untuk memungkinkan RDS Custom melakukan tindakan otomatisasi dan tugas manajemen database melalui profil EC2 instans. Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola untuk Amazon RDS](rds-security-iam-awsmanpol.md). | Februari 27, 2024 | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada | Amazon RDS menambahkan pernyataan baru IDs ke `AmazonRDSServiceRolePolicy` peran `AWSServiceRoleForRDS` terkait layanan. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions).  |  Januari 19, 2024  | 
|  [AWS kebijakan terkelola untuk Amazon RDS](rds-security-iam-awsmanpol.md) – Pembaruan ke kebijakan yang ada  |  Kebijakan yang dikelola `AmazonRDSPerformanceInsightsReadOnly` dan `AmazonRDSPerformanceInsightsFullAccess` kini menyertakan `Sid` (ID pernyataan) sebagai ID dalam pernyataan kebijakan.  Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola: Amazon RDSPerformance InsightsReadOnly](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSPerformanceInsightsReadOnly) dan [AWS kebijakan terkelola: Amazon RDSPerformance InsightsFullAccess](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSPerformanceInsightsFullAccess)   |  23 Oktober 2023  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan izin baru ke `AmazonRDSCustomServiceRolePolicy` peran terkait layanan `AWSServiceRoleForRDSCustom`. Izin baru ini memungkinkan RDS Custom for Oracle untuk membuat, memodifikasi, dan menghapus EventBridge Aturan Terkelola. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom).  |  20 September 2023  | 
|  [AWS kebijakan terkelola untuk Amazon RDS](rds-security-iam-awsmanpol.md) – Pembaruan ke kebijakan yang sudah ada  |  Amazon RDS menambahkan izin baru ke kebijakan yang dikelola `AmazonRDSFullAccess`. Kebijakan ini memungkinkan Anda membuat, melihat, dan menghapus laporan analisis performa selama periode tertentu. Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan akses untuk Wawasan Performa, lihat [Mengonfigurasi kebijakan akses untuk Wawasan Performa](USER_PerfInsights.access-control.md)  |  17 Agustus 2023  | 
|  [AWS kebijakan terkelola untuk Amazon RDS](rds-security-iam-awsmanpol.md) – Kebijakan baru dan pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan izin baru ke kebijakan yang dikelola `AmazonRDSPerformanceInsightsReadOnly` dan kebijakan terkelola baru bernama `AmazonRDSPerformanceInsightsFullAccess`. Izin ini memungkinkan Anda menganalisis Wawasan Performa selama periode tertentu, melihat hasil analisis beserta rekomendasinya, dan menghapus laporan. Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan akses untuk Wawasan Performa, lihat [Mengonfigurasi kebijakan akses untuk Wawasan Performa](USER_PerfInsights.access-control.md)  |  16 Agustus 2023  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan izin baru ke `AmazonRDSCustomServiceRolePolicy` peran terkait layanan `AWSServiceRoleForRDSCustom`. Izin baru ini memungkinkan RDS Custom for Oracle menggunakan snapshot DB. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom).  |  23 Juni 2023  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan izin baru ke `AmazonRDSCustomServiceRolePolicy` peran terkait layanan `AWSServiceRoleForRDSCustom`. Izin baru ini memungkinkan RDS Custom for Oracle menggunakan snapshot DB. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom).  |  23 Juni 2023  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan izin baru ke `AmazonRDSCustomServiceRolePolicy` peran terkait layanan `AWSServiceRoleForRDSCustom`. Izin baru ini memungkinkan RDS Custom untuk membuat antarmuka jaringan. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom).  |  30 Mei 2023  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan izin baru ke `AmazonRDSCustomServiceRolePolicy` peran terkait layanan `AWSServiceRoleForRDSCustom`. Izin baru ini memungkinkan RDS Custom memanggil Amazon EBS untuk memeriksa kuota penyimpanan. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom).  |  18 April 2023  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS Custom menambahkan izin baru ke `AmazonRDSCustomServiceRolePolicy` dari `AWSServiceRoleForRDSCustom` peran terkait layanan untuk integrasi dengan Amazon SQS. RDS Custom memerlukan integrasi dengan Amazon SQS untuk membuat dan mengelola antrean SQS di akun pelanggan. Nama antrean SQS mengikuti format `do-not-delete-rds-custom-[identifier]` dan ditandai dengan `Amazon RDS Custom`. Izin untuk `ec2:CreateSnapshot` juga ditambahkan untuk memungkinkan RDS Custom membuat cadangan untuk volume yang dilampirkan ke instans. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom).  |  6 April 2023  | 
|  [AWS kebijakan terkelola untuk Amazon RDS](rds-security-iam-awsmanpol.md) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan CloudWatch namespace `ListMetrics` Amazon baru ke dan. `AmazonRDSFullAccess` `AmazonRDSReadOnlyAccess` Nama ruang ini diperlukan untuk Amazon RDS untuk mencantumkan metrik penggunaan sumber daya tertentu. Untuk informasi selengkapnya, lihat [Ringkasan mengelola izin akses ke CloudWatch sumber daya Anda](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-access-control-overview-cw.html) di *Panduan CloudWatch Pengguna Amazon*.  |  4 April 2023  | 
|  [AWS kebijakan terkelola untuk Amazon RDS](rds-security-iam-awsmanpol.md) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan izin baru `AmazonRDSFullAccess` dan `AmazonRDSReadOnlyAccess` mengelola kebijakan untuk memungkinkan tampilan temuan Amazon DevOps Guru di konsol RDS. Izin ini diperlukan untuk memungkinkan tampilan temuan DevOps Guru. Untuk informasi selengkapnya, lihat [pembaruan Amazon RDS ke kebijakan AWS terkelola](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-manpol-updates.html).  |  30 Maret 2023  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan izin baru ke `AmazonRDSServiceRolePolicy` peran `AWSServiceRoleForRDS` terkait layanan untuk integrasi. AWS Secrets Manager RDS memerlukan integrasi dengan Secrets Manager untuk mengelola kata sandi pengguna utama di Secrets Manager. Rahasianya menggunakan konvensi penamaan yang dicadangkan dan membatasi pembaruan pelanggan. Untuk informasi selengkapnya, lihat [Manajemen kata sandi dengan Amazon RDS Aurora dan AWS Secrets Manager](rds-secrets-manager.md).  |  22 Desember 2022  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan izin baru ke `AmazonRDSCustomServiceRolePolicy` peran terkait layanan `AWSServiceRoleForRDSCustom`. RDS Custom mendukung klaster DB. Izin baru dalam kebijakan ini memungkinkan RDS Custom menelepon Layanan AWS atas nama kluster DB Anda. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom).  |  9 November 2022  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan izin baru ke peran terkait layanan `AWSServiceRoleForRDS` untuk integrasi dengan AWS Secrets Manager. Integrasi dengan Secrets Manager diperlukan agar Email Layanan Pelaporan SQL Server (SSRS) berfungsi di RDS. Email SSRS menciptakan rahasia atas nama pelanggan. Rahasianya menggunakan konvensi penamaan yang dicadangkan dan membatasi pembaruan pelanggan. Untuk informasi selengkapnya, lihat [Menggunakan Email SSRS untuk mengirim laporan](SSRS.Email.md).  |  26 Agustus 2022  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan CloudWatch namespace Amazon baru ke for. `AmazonRDSPreviewServiceRolePolicy` `PutMetricData` Namespace ini mewajibkan Amazon RDS menerbitkan metrik penggunaan sumber daya. Untuk informasi selengkapnya, lihat [Menggunakan tombol kondisi untuk membatasi akses ke CloudWatch ruang nama](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-cw-condition-keys-namespace.html) di * CloudWatch Panduan Pengguna Amazon*.  |  7 Juni 2022  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan CloudWatch namespace Amazon baru ke for. `AmazonRDSBetaServiceRolePolicy` `PutMetricData` Namespace ini mewajibkan Amazon RDS menerbitkan metrik penggunaan sumber daya. Untuk informasi selengkapnya, lihat [Menggunakan tombol kondisi untuk membatasi akses ke CloudWatch ruang nama](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-cw-condition-keys-namespace.html) di * CloudWatch Panduan Pengguna Amazon*.  |  7 Juni 2022  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan CloudWatch namespace Amazon baru ke for. `AWSServiceRoleForRDS` `PutMetricData` Namespace ini mewajibkan Amazon RDS menerbitkan metrik penggunaan sumber daya. Untuk informasi selengkapnya, lihat [Menggunakan tombol kondisi untuk membatasi akses ke CloudWatch ruang nama](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-cw-condition-keys-namespace.html) di * CloudWatch Panduan Pengguna Amazon*.  |  22 April 2022  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan izin baru ke peran `AWSServiceRoleForRDS` terkait layanan untuk mengelola izin untuk kumpulan IP milik pelanggan dan tabel rute gateway lokal (LGW-). RTBs Izin ini diperlukan agar RDS di Outposts dapat melakukan replikasi multi-AZ di seluruh jaringan lokal Outpost. Untuk informasi selengkapnya, lihat [Bekerja dengan penerapan Multi-AZ untuk Amazon RDS aktif AWS Outposts](rds-on-outposts.maz.md).  |  19 April 2022  | 
|  [Kebijakan berbasis identitas](UsingWithRDS.IAM.md#security_iam_access-manage-id-based-policies) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan izin baru ke kebijakan `AmazonRDSFullAccess` terkelola untuk menjelaskan izin di LGW-. RTBs Izin ini diperlukan untuk menjelaskan izin agar RDS di Outposts dapat melakukan replikasi multi-AZ di seluruh jaringan lokal Outpost. Untuk informasi selengkapnya, lihat [Bekerja dengan penerapan Multi-AZ untuk Amazon RDS aktif AWS Outposts](rds-on-outposts.maz.md).  |  19 April 2022  | 
|  [AWS kebijakan terkelola untuk Amazon RDS](rds-security-iam-awsmanpol.md) – Kebijakan baru  |  Amazon RDS menambahkan kebijakan terkelola baru yang diberi nama `AmazonRDSPerformanceInsightsReadOnly` untuk mengizinkan Amazon RDS memanggil AWS layanan atas nama instans DB Anda. Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan akses untuk Wawasan Performa, lihat [Mengonfigurasi kebijakan akses untuk Wawasan Performa](USER_PerfInsights.access-control.md)  |  10 Maret 2022  | 
|  [Izin peran terkait layanan untuk Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md#service-linked-role-permissions) – Pembaruan ke kebijakan yang ada  |  Amazon RDS menambahkan CloudWatch ruang nama Amazon baru ke for. `AWSServiceRoleForRDS` `PutMetricData` Ruang nama ini diperlukan untuk Amazon DocumentDB (dengan kompatibilitas MongoDB) dan Amazon Neptune untuk menerbitkan metrik. CloudWatch  Untuk informasi selengkapnya, lihat [Menggunakan tombol kondisi untuk membatasi akses ke CloudWatch ruang nama](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-cw-condition-keys-namespace.html) di * CloudWatch Panduan Pengguna Amazon*.  |  4 Maret 2022  | 
|  [Izin peran terkait layanan untuk Amazon RDS Custom](UsingWithRDS.IAM.ServiceLinkedRoles.md#slr-permissions-custom) – Kebijakan baru  |  Amazon RDS menambahkan peran terkait layanan baru bernama `AWSServiceRoleForRDSCustom` untuk memungkinkan RDS Custom memanggil Layanan AWS atas nama instans DB Anda.  |  26 Oktober 2021  | 
|  Amazon RDS memulai pelacakan perubahan  |  Amazon RDS mulai melacak perubahan untuk kebijakan yang AWS dikelola.  |  26 Oktober 2021  | 

# Pencegahan masalah confused deputy lintas layanan
<a name="cross-service-confused-deputy-prevention"></a>

*Masalah confused deputy* adalah masalah keamanan saat entitas yang tidak memiliki izin untuk melakukan suatu tindakan dapat memaksa entitas yang lebih berhak untuk melakukan tindakan tersebut. Pada tahunAWS, peniruan lintas layanan dapat mengakibatkan masalah wakil yang membingungkan. 

Peniruan identitas lintas layanan dapat terjadi ketika satu layanan (*layanan panggilan*) memanggil layanan lain (*layanan yang dipanggil*). Layanan panggilan dapat dimanipulasi agar menggunakan izinnya untuk bertindak pada sumber daya pelanggan lain dengan cara yang seharusnya tidak dilakukannya kecuali bila memiliki izin untuk mengakses. Untuk mencegah hal ini, AWS sediakan alat yang dapat membantu Anda melindungi data Anda untuk semua layanan dengan prinsip layanan yang telah diberikan akses ke sumber daya di akun Anda. Untuk informasi selengkapnya, lihat [Masalah confused deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) di *Panduan Pengguna IAM*.

Untuk membatasi izin yang diberikan Amazon RDS ke layanan lain untuk sumber daya tertentu, sebaiknya gunakan kunci konteks kondisi global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) dan [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) di kebijakan sumber daya. 

Dalam beberapa kasus, nilai `aws:SourceArn` tidak berisi ID akun, misalnya saat Anda menggunakan Amazon Resource Name (ARN) untuk bucket Amazon S3. Dalam kasus ini, pastikan untuk menggunakan kedua kunci konteks kondisi global untuk membatasi izin. Dalam beberapa kasus, Anda menggunakan kunci konteks kondisi global dan nilai `aws:SourceArn` yang berisi ID akun. Dalam hal ini, pastikan bahwa nilai `aws:SourceAccount` dan akun dalam nilai `aws:SourceArn` menggunakan ID akun yang sama ketika digunakan dalam pernyataan yang sama. Jika Anda ingin hanya satu sumber daya yang akan dikaitkan dengan akses lintas layanan, gunakan `aws:SourceArn`. Jika Anda ingin mengizinkan sumber daya apa pun di AWS akun yang ditentukan dikaitkan dengan penggunaan lintas layanan, gunakan`aws:SourceAccount`.

Pastikan nilai `aws:SourceArn` adalah ARN untuk jenis sumber daya Amazon RDS. Untuk informasi selengkapnya, lihat [Nama Sumber Daya Amazon (ARNs) di Amazon RDS](USER_Tagging.ARN.md).

Cara paling efektif untuk melindungi dari masalah "confused deputy" adalah dengan menggunakan kunci konteks kondisi global `aws:SourceArn` dengan ARN lengkap sumber daya. Dalam beberapa kasus, Anda mungkin tidak mengetahui ARN lengkap sumber daya atau mungkin Anda menentukan beberapa sumber daya. Dalam hal ini, gunakan kunci kondisi konteks global `aws:SourceArn` dengan wildcard (`*`) untuk bagian ARN yang tidak diketahui. Contohnya adalah `arn:aws:rds:*:123456789012:*`. 

Contoh berikut menunjukkan cara Anda dapat menggunakan `aws:SourceArn` dan kunci konteks kondisi global `aws:SourceAccount` di Amazon RDS untuk mencegah masalah confused deputy.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "ConfusedDeputyPreventionExamplePolicy",
    "Effect": "Allow",
    "Principal": {
      "Service": "rds.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:rds:us-east-1:123456789012:db:mydbinstance"
      },
      "StringEquals": {
        "aws:SourceAccount": "123456789012"
      }
    }
  }
}
```

------

Untuk contoh kebijakan lainnya yang menggunakan kunci konteks kondisi global `aws:SourceArn` dan `aws:SourceAccount`, lihat bagian berikut:
+ [Memberikan izin untuk menerbitkan pemberitahuan ke topik Amazon SNS](USER_Events.GrantingPermissions.md)
+ [Membuat peran IAM secara manual untuk pencadangan dan pemulihan native](SQLServer.Procedural.Importing.Native.Enabling.md#SQLServer.Procedural.Importing.Native.Enabling.IAM)
+ [Mengatur Autentikasi Windows untuk instans DB SQL Server](USER_SQLServerWinAuth.SettingUp.md)
+ [Prasyarat untuk mengintegrasikan RDS for SQL Server dengan S3](Appendix.SQLServer.Options.S3-integration.preparing.md)
+ [Membuat peran IAM secara manual untuk SQL Server Audit](Appendix.SQLServer.Options.Audit.IAM.md)
+ [Mengonfigurasi izin IAM untuk integrasi RDS for Oracle dengan Amazon S3](oracle-s3-integration.preparing.md)
+ [Menyiapkan akses ke bucket Amazon S3](USER_PostgreSQL.S3Import.AccessPermission.md) (Impor PostgreSQL)
+ [Menyiapkan akses ke bucket Amazon S3](postgresql-s3-export-access-bucket.md) (Ekspor PostgreSQL)

# Autentikasi basis data IAMuntuk MariaDB, MySQL, dan PostgreSQL
<a name="UsingWithRDS.IAMDBAuth"></a>

Anda dapat mengautentikasi ke instans DB Anda menggunakan otentikasi database AWS Identity and Access Management (IAM). Autentikasi basis data IAM berfungsi dengan MariaDB, MySQL, dan PostgreSQL. Dengan metode autentikasi ini, Anda tidak perlu menggunakan kata sandi saat menghubungkan dengan instans basis data. Sebagai gantinya, gunakan token autentikasi.

*Token autentikasi* adalah string karakter unik yang dihasilkan Amazon RDS sesuai permintaan. Token otentikasi dihasilkan menggunakan AWS Signature Version 4. Setiap token memiliki masa pakai 15 menit. Anda tidak perlu menyimpan kredensial pengguna di basis data karena autentikasi dikelola secara eksternal menggunakan IAM. Anda juga masih dapat menggunakan autentikasi basis data standar. Token hanya digunakan untuk autentikasi dan tidak memengaruhi sesi setelah dibuat.

Autentikasi basis data IAM memberikan manfaat berikut:
+ Lalu lintas jaringan ke dan dari basis data dienkripsi menggunakan Lapisan Soket Aman (SSL) atau Keamanan Lapisan Pengangkutan (TLS). Untuk informasi selengkapnya tentang penggunaan SSL/TLS Amazon RDS Aurora, lihat. [](UsingWithRDS.SSL.md)
+ Anda dapat menggunakan IAM untuk mengelola akses ke sumber daya basis data Anda secara terpusat, bukan mengelola akses satu per satu pada setiap instans DB.
+ Untuk aplikasi yang berjalan di Amazon EC2, Anda dapat menggunakan kredensial profil khusus untuk instans EC2 untuk mengakses basis data, bukan menggunakan kata sandi, untuk keamanan yang lebih baik.

Secara umum, pertimbangkan untuk menggunakan autentikasi basis data IAM ketika aplikasi Anda membuat kurang dari 200 koneksi per detik, dan Anda tidak ingin mengelola nama pengguna dan kata sandi secara langsung dalam kode aplikasi Anda.

Driver Amazon Web Services (AWS) JDBC mendukung autentikasi database IAM. Untuk informasi selengkapnya, lihat [Plugin Autentikasi AWS IAM di repositori](https://github.com/aws/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheIamAuthenticationPlugin.md) [Driver Amazon Web Services (AWS) JDBC](https://github.com/aws/aws-advanced-jdbc-wrapper). GitHub 

Driver Python Amazon Web Services (AWS) mendukung otentikasi database IAM. Untuk informasi selengkapnya, lihat [Plugin Autentikasi AWS IAM](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheIamAuthenticationPlugin.md) di repositori [Amazon Web Services ()AWS Python](https://github.com/aws/aws-advanced-python-wrapper) Driver. GitHub

Arahkan topik berikut untuk mempelajari proses menyetel IAM untuk otentikasi DB:
+ [Mengaktifkan dan menonaktifkan autentikasi basis data IAM](UsingWithRDS.IAMDBAuth.Enabling.md)
+ [Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md)
+ [Membuat akun basis data menggunakan autentikasi IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md)
+ [Menghubungkan ke instans DB menggunakan autentikasi IAM](UsingWithRDS.IAMDBAuth.Connecting.md) 

## Ketersediaan wilayah dan versi
<a name="UsingWithRDS.IAMDBAuth.Availability"></a>

Ketersediaan dan dukungan fitur bervariasi di seluruh versi tertentu dari setiap mesin database. Untuk informasi selengkapnya tentang ketersediaan engine, versi, dan Wilayah dengan autentikasi database Amazon RDS dan IAM, lihat. [Daerah yang Didukung dan mesin DB untuk otentikasi database IAM di Amazon RDS](Concepts.RDS_Fea_Regions_DB-eng.Feature.IamDatabaseAuthentication.md)

## Dukungan CLI dan SDK
<a name="UsingWithRDS.IAMDBAuth.cli-sdk"></a>

Autentikasi database IAM tersedia untuk [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/rds/generate-db-auth-token.html)dan untuk bahasa khusus berikut: AWS SDKs
+ [AWS SDK untuk .NET](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/RDS/TRDSAuthTokenGenerator.html)
+ [AWS SDK untuk C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/class_aws_1_1_r_d_s_1_1_r_d_s_client.html#ae134ffffed5d7672f6156d324e7bd392)
+ [AWS SDK untuk Go](https://docs.aws.amazon.com/sdk-for-go/api/service/rds/#pkg-overview)
+ [AWS SDK untuk Java](https://docs.aws.amazon.com/sdk-for-java/latest/reference/software/amazon/awssdk/services/rds/RdsUtilities.html)
+ [AWS SDK untuk JavaScript](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_rds_signer.html)
+ [AWS SDK untuk PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.Rds.AuthTokenGenerator.html)
+ [AWS SDK untuk Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rds.html#RDS.Client.generate_db_auth_token)
+ [AWS SDK untuk Ruby](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/RDS/AuthTokenGenerator.html)

## Batasan untuk autentikasi basis data IAM
<a name="UsingWithRDS.IAMDBAuth.Limitations"></a>

Saat menggunakan autentikasi basis data IAM, batasan berikut berlaku:
+ Saat ini, autentikasi basis data IAM tidak mendukung kunci konteks kondisi global.

  Untuk informasi selengkapnya tentang kunci konteks kondisi global, lihat [Kunci konteks kondisi global AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) dalam *Panduan Pengguna IAM*.
+ Untuk PostgreSQL, jika peran IAM (`rds_iam`) ditambahkan ke pengguna (termasuk pengguna master RDS), autentikasi IAM akan lebih diprioritaskan daripada autentikasi kata sandi, sehingga pengguna harus login sebagai pengguna IAM.
+ Untuk PostgreSQL, Amazon RDS tidak mendukung pengaktifan metode autentikasi IAM dan Kerberos secara bersamaan.
+ Untuk PostgreSQL, Anda tidak dapat menggunakan autentikasi IAM untuk membuat koneksi replikasi.
+ Anda tidak dapat menggunakan data DNS Route 53 kustom sebagai pengganti titik akhir instans DB untuk menghasilkan token autentikasi.
+ CloudWatch dan CloudTrail jangan mencatat otentikasi IAM. Layanan ini tidak melacak panggilan `generate-db-auth-token` API yang mengotorisasi peran IAM untuk mengaktifkan koneksi database.
+  Anda harus memiliki antara 300 dan 1000 MiB memori tambahan pada database Anda untuk konektivitas yang andal. Untuk melihat memori yang dibutuhkan untuk beban kerja Anda, bandingkan kolom RES untuk proses RDS dalam daftar proses Enhanced Monitoring sebelum dan sesudah mengaktifkan autentikasi IAM DB. Lihat [Melihat metrik OS di konsol RDS](USER_Monitoring.OS.Viewing.md).

  Jika Anda menggunakan instance kelas burstable, hindari kehabisan memori dengan mengurangi memori yang digunakan oleh parameter lain seperti buffer dan cache dengan jumlah yang sama.
+ Autentikasi IAM DB tidak didukung untuk RDS di Outposts untuk mesin apa pun.

## Rekomendasi untuk autentikasi basis data IAM
<a name="UsingWithRDS.IAMDBAuth.ConnectionsPerSecond"></a>

Kami merekomendasikan hal berikut saat menggunakan autentikasi basis data IAM:
+ Gunakan autentikasi basis data IAM ketika aplikasi Anda membutuhkan tidak lebih dari 200 koneksi autentikasi basis data IAM per detik.

  Mesin basis data yang berfungsi dengan Amazon RDS tidak memberlakukan batasan apa pun untuk percobaan autentikasi per detik. Namun, ketika Anda menggunakan autentikasi basis data IAM, aplikasi Anda harus membuat token autentikasi. Aplikasi Anda kemudian menggunakan token tersebut untuk terhubung ke instans DB. Jika Anda melebihi batas maksimum untuk koneksi baru per detik, maka overhead tambahan dari autentikasi basis data IAM dapat menyebabkan throttling koneksi. 

  Pertimbangkan untuk menggunakan pooling koneksi di aplikasi Anda untuk mengurangi pembuatan koneksi yang konstan. Cara ini dapat mengurangi overhead dari autentikasi DB IAM dan memungkinkan aplikasi Anda menggunakan kembali koneksi yang ada. Alternatifnya, pertimbangkan untuk menggunakan Proksi RDS untuk kasus penggunaan ini. Proksi RDS memiliki biaya tambahan. Lihat [Harga Proksi RDS](https://aws.amazon.com/rds/proxy/pricing/).
+ Ukuran token autentikasi basis data IAM tergantung pada banyak hal termasuk jumlah tag IAM, kebijakan layanan IAM, panjang ARN, serta properti IAM dan basis data lainnya. Ukuran minimum token ini umumnya sekitar 1 KB tetapi bisa lebih besar. Karena token ini digunakan sebagai kata sandi dalam string koneksi ke database menggunakan otentikasi IAM, Anda harus memastikan bahwa driver database Anda (misalnya, ODBC) alat and/or apa pun tidak membatasi atau memotong token ini karena ukurannya. Token yang terpotong akan menyebabkan kegagalan validasi autentikasi oleh basis data dan IAM.
+ Jika Anda menggunakan kredensial sementara saat membuat token autentikasi basis data IAM, kredensial sementara masih harus valid saat menggunakan token autentikasi basis data IAM untuk membuat permintaan koneksi.

## Kunci konteks kondisi AWS global yang tidak didukung
<a name="UsingWithRDS.IAMDBAuth.GlobalContextKeys"></a>

 Autentikasi database IAM tidak mendukung subset kunci konteks kondisi AWS global berikut. 
+ `aws:Referer`
+ `aws:SourceIp`
+ `aws:SourceVpc`
+ `aws:SourceVpce`
+ `aws:UserAgent`
+ `aws:VpcSourceIp`

Untuk informasi selengkapnya, lihat [Kunci konteks kondisi global AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) dalam *Panduan Pengguna IAM*. 

# Mengaktifkan dan menonaktifkan autentikasi basis data IAM
<a name="UsingWithRDS.IAMDBAuth.Enabling"></a>

Secara default, autentikasi basis data IAM dinonaktifkan di instans DB. Anda dapat mengaktifkan atau menonaktifkan autentikasi database IAM menggunakan Konsol Manajemen AWS, AWS CLI, atau API.

Anda dapat mengaktifkan autentikasi basis data IAM saat Anda melakukan salah satu tindakan berikut:
+ Untuk membuat instans DB yang baru dengan autentikasi basis data IAM diaktifkan, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
+ Untuk memodifikasi instans DB untuk mengaktifkan autentikasi basis data IAM, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).
+ Untuk memulihkan instans DB dari snapshot dengan autentikasi basis data IAM diaktifkan, lihat [Memulihkan ke instans DB](USER_RestoreFromSnapshot.md).
+ Untuk memulihkan instans DB ke titik waktu dengan autentikasi basis data IAM diaktifkan, lihat [Memulihkan instans DB ke waktu yang ditentukan untuk Amazon RDS](USER_PIT.md).

## Konsol
<a name="UsingWithRDS.IAMDBAuth.Enabling.Console"></a>

Setiap alur kerja pembuatan atau modifikasi memiliki bagian **Autentikasi basis data**, tempat Anda dapat mengaktifkan atau menonaktifkan autentikasi basis data IAM. Di bagian tersebut, pilih **Kata sandi dan autentikasi basis data IAM** untuk mengaktifkan autentikasi basis data IAM.

**Untuk mengaktifkan atau menonaktifkan autentikasi basis data IAM untuk instans DB yang ada**

1. Buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Basis data**.

1. Pilih instans DB yang ingin Anda ubah.
**catatan**  
 Pastikan bahwa instans DB kompatibel dengan autentikasi IAM. Periksa persyaratan kompatibilitas dalam [Ketersediaan wilayah dan versi](UsingWithRDS.IAMDBAuth.md#UsingWithRDS.IAMDBAuth.Availability).

1. Pilih **Ubah**.

1. Di bagian **otentikasi database**, pilih **Password dan IAM database autentikasi IAM database autentikasi** untuk mengaktifkan . Pilih **Autentikasi kata sandi** atau **Kata sandi dan autentikasi Kerberos** untuk menonaktifkan autentikasi IAM.

1. Anda juga dapat memilih untuk mengaktifkan penerbitan log otentikasi IAM DB ke CloudWatch Log. Di bawah **Ekspor log**, pilih opsi **iam-db-auth-error log**. Menerbitkan log Anda ke CloudWatch Log menghabiskan penyimpanan dan Anda dikenakan biaya untuk penyimpanan itu. Pastikan untuk menghapus CloudWatch Log apa pun yang tidak lagi Anda butuhkan.

1. Pilih **Lanjutkan**.

1. Untuk segera menerapkan perubahan, pilih **Segera** di bagian **Penjadwalan modifikasi**.

1. Pilih **Modifikasi instans DB** .

## AWS CLI
<a name="UsingWithRDS.IAMDBAuth.Enabling.CLI"></a>

Untuk membuat instans DB baru dengan otentikasi IAM dengan menggunakan AWS CLI, gunakan perintah. [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) Tentukan opsi `--enable-iam-database-authentication`, seperti yang ditunjukkan dalam contoh berikut.

```
aws rds create-db-instance \
    --db-instance-identifier mydbinstance \
    --db-instance-class db.m3.medium \
    --engine MySQL \
    --allocated-storage 20 \
    --master-username masterawsuser \
    --manage-master-user-password \
    --enable-iam-database-authentication
```

Untuk memperbarui instans DB yang ada agar memiliki atau tidak memiliki autentikasi IAM, gunakan perintah AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html). Tentukan opsi `--enable-iam-database-authentication` atau `--no-enable-iam-database-authentication`, sesuai kebutuhan.

**catatan**  
 Pastikan bahwa instans DB kompatibel dengan autentikasi IAM. Periksa persyaratan kompatibilitas dalam [Ketersediaan wilayah dan versi](UsingWithRDS.IAMDBAuth.md#UsingWithRDS.IAMDBAuth.Availability).

Secara default, Amazon RDS melakukan modifikasi selama periode pemeliharaan berikutnya. Jika Anda ingin menggantinya dan mengaktifkan autentikasi DB IAM sesegera mungkin, gunakan parameter `--apply-immediately`. 

Contoh berikut menunjukkan cara untuk segera mengaktifkan autentikasi IAM untuk instans DB yang sudah ada.

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --apply-immediately \
    --enable-iam-database-authentication
```

Jika Anda memulihkan instans DB, gunakan salah satu AWS CLI perintah berikut:
+ `[restore-db-instance-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)`
+ `[restore-db-instance-from-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)`

Pengaturan autentikasi basis data IAM akan ditetapkan secara default ke pengaturan untuk snapshot sumber. Untuk mengubah pengaturan ini, atur opsi `--enable-iam-database-authentication` atau `--no-enable-iam-database-authentication` sebagaimana diperlukan.

## API RDS
<a name="UsingWithRDS.IAMDBAuth.Enabling.API"></a>

Untuk membuat instans DB baru dengan autentikasi IAM dengan menggunakan API, gunakan operasi API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Atur parameter `EnableIAMDatabaseAuthentication` ke `true`.

Untuk memperbarui instans DB yang ada agar memiliki autentikasi IAM, gunakan operasi API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html). Atur parameter `EnableIAMDatabaseAuthentication` ke `true` untuk mengaktifkan autentikasi IAM, atau `false` untuk menonaktifkannya.

**catatan**  
 Pastikan bahwa instans DB kompatibel dengan autentikasi IAM. Periksa persyaratan kompatibilitas dalam [Ketersediaan wilayah dan versi](UsingWithRDS.IAMDBAuth.md#UsingWithRDS.IAMDBAuth.Availability).

Jika Anda memulihkan instans DB, gunakan salah satu operasi API berikut:
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+  [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Pengaturan autentikasi basis data IAM akan ditetapkan secara default ke pengaturan untuk snapshot sumber. Untuk mengubah pengaturan ini, atur parameter `EnableIAMDatabaseAuthentication` ke `true` untuk mengaktifkan autentikasi IAM, atau `false` untuk menonaktifkannya.

# Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM
<a name="UsingWithRDS.IAMDBAuth.IAMPolicy"></a>

Untuk memungkinkan pengguna atau peran terhubung ke instans DB, Anda harus membuat kebijakan IAM. Setelah itu, lampirkan kebijakan tersebut ke set izin atau peran.

**catatan**  
Untuk mempelajari selengkapnya tentang kebijakan IAM, lihat [Manajemen identitas dan akses untuk Amazon RDS](UsingWithRDS.IAM.md).

Contoh kebijakan berikut memungkinkan pengguna terhubung ke instans DB menggunakan autentikasi basis data IAM.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "rds-db:connect"
            ],
            "Resource": [
                "arn:aws:rds-db:us-east-2:111122223333:dbuser:db-ABCDEFGHIJKL01234/db_user"
            ]
        }
    ]
}
```

------

**penting**  
Pengguna dengan izin administrator dapat mengakses instans DB tanpa izin eksplisit dalam kebijakan IAM. Jika Anda ingin membatasi akses administrator ke instans DB, Anda dapat membuat peran IAM yang dengan izin istimewa yang sesuai dan menetapkannya ke administrator.

**catatan**  
Jangan samakan awalan `rds-db:` dengan awalan operasi API RDS lain yang diawali dengan `rds:`. Anda menggunakan awalan `rds-db:` dan tindakan `rds-db:connect` hanya untuk autentikasi basis data IAM. Hal ini tidak berlaku dalam konteks lainnya. 

Contoh kebijakan ini mencakup satu pernyataan dengan elemen berikut:
+ `Effect` – Tentukan `Allow` untuk memberikan akses ke instans DB. Jika Anda tidak secara eksplisit mengizinkan akses, maka akses ditolak secara default.
+ `Action` – Tentukan `rds-db:connect` untuk mengizinkan koneksi ke instans DB.
+ `Resource` – Tentukan Amazon Resource Name (ARN) yang menjelaskan satu akun basis data dalam satu instans DB. Format ARN adalah sebagai berikut.

  ```
  arn:aws:rds-db:region:account-id:dbuser:DbiResourceId/db-user-name
  ```

  Dalam format ini, ganti hal berikut:
  + `region`adalah AWS Region untuk instans DB. Dalam contoh kebijakan, AWS Wilayah adalah`us-east-2`.
  + `account-id`adalah nomor AWS akun untuk instans DB. Dalam contoh kebijakan, nomor akun adalah `1234567890`. Pengguna harus berada di akun yang sama dengan akun untuk instans DB.

    Untuk melakukan akses lintas akun, buat peran IAM dengan kebijakan yang ditunjukkan di atas di akun untuk instans DB dan izinkan akun Anda yang lain untuk mengambil peran tersebut. 
  + `DbiResourceId` adalah pengidentifikasi untuk instans DB. Pengenal ini unik untuk AWS Wilayah dan tidak pernah berubah. Dalam contoh kebijakan, pengidentifikasi adalah `db-ABCDEFGHIJKL01234`.

    Untuk menemukan ID sumber daya instans DB di Amazon Aurora Amazon RDS , pilih cluster DB untuk melihat detailnya. Konsol Manajemen AWS Kemudian, pilih tab **Konfigurasi**. **ID Sumber Daya** ditampilkan di bagian **Konfigurasi**.

    Atau, Anda dapat menggunakan AWS CLI perintah untuk mencantumkan pengenal dan sumber daya IDs untuk semua instans DB Anda di AWS Wilayah saat ini, seperti yang ditunjukkan berikut.

    ```
    aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier,DbiResourceId]"
    ```

    Jika Anda menggunakan Amazon Aurora, tentukan `DbClusterResourceId`, bukan `DbiResourceId`. Untuk informasi selengkapnya, lihat [Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.IAMPolicy.html) dalam *Panduan Pengguna Amazon Aurora*.
**catatan**  
Jika Anda terhubung ke basis data melalui Proksi RDS, tentukan ID sumber daya proksi, seperti `prx-ABCDEFGHIJKL01234`. Untuk informasi tentang menggunakan autentikasi basis data IAM dengan Proksi RDS, lihat [Menghubungkan ke database menggunakan otentikasi IAM](rds-proxy-connecting.md#rds-proxy-connecting-iam).
  + `db-user-name` adalah nama akun basis data untuk dikaitkan dengan autentikasi IAM. Dalam contoh kebijakan, akun basis data adalah `db_user`.

Anda dapat membangun yang lain ARNs untuk mendukung berbagai pola akses. Kebijakan berikut memungkinkan akses ke dua akun basis data yang berbeda dalam instans DB.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
             "rds-db:connect"
         ],
         "Resource": [
             "arn:aws:rds-db:us-east-2:123456789012:dbuser:db-ABCDEFGHIJKL01234/jane_doe",
             "arn:aws:rds-db:us-east-2:123456789012:dbuser:db-ABCDEFGHIJKL01234/mary_roe"
         ]
      }
   ]
}
```

------

Kebijakan berikut menggunakan karakter “\$1” untuk mencocokkan semua instans DB dan akun database untuk AWS akun dan AWS Wilayah tertentu. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "rds-db:connect"
            ],
            "Resource": [
                "arn:aws:rds-db:us-east-2:111122223333:dbuser:*/*"
            ]
        }
    ]
}
```

------

Kebijakan berikut cocok dengan semua instans DB untuk AWS akun dan AWS Wilayah tertentu. Namun, kebijakan ini hanya memberikan akses ke instans DB yang memiliki akun basis data `jane_doe`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
             "rds-db:connect"
         ],
         "Resource": [
             "arn:aws:rds-db:us-east-2:123456789012:dbuser:*/jane_doe"
         ]
      }
   ]
}
```

------

Pengguna atau peran hanya memiliki akses ke basis data yang aksesnya dimiliki oleh pengguna basis data tersebut. Misalnya, anggaplah instans DB Anda memiliki basis data bernama *dev*, dan basis data lain bernama *uji*. Jika pengguna basis data `jane_doe` hanya memiliki akses ke *dev*, setiap pengguna atau peran yang mengakses instans DB tersebut dengan pengguna `jane_doe` juga hanya akan memiliki akses ke *dev*. Pembatasan akses ini juga berlaku untuk objek basis data lain, seperti tabel, tampilan, dan sebagainya.

Administrator harus membuat kebijakan IAM yang memberikan izin pada entitas untuk melakukan operasi API tertentu pada sumber daya yang diperlukan. Administrator kemudian harus melampirkan kebijakan tersebut ke set izin atau peran yang memerlukan izin tersebut. Untuk contoh kebijakan, lihat [Contoh kebijakan berbasis identitas untuk Amazon RDS](security_iam_id-based-policy-examples.md).

## Melampirkan kebijakan IAM ke set izin atau peran
<a name="UsingWithRDS.IAMDBAuth.IAMPolicy.Attaching"></a>

Setelah membuat kebijakan IAM untuk memungkinkan autentikasi basis data, Anda perlu melampirkan kebijakan tersebut ke set izin atau peran. Untuk tutorial tentang topik ini, lihat [Buat dan lampirkan kebijakan yang dikelola pelanggan pertama Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_managed-policies.html) dalam *Panduan Pengguna IAM*.

Saat mengikuti tutorial ini, Anda dapat menggunakan salah satu contoh kebijakan yang ditunjukkan dalam bagian ini sebagai titik awal dan menyesuaikannya dengan kebutuhan Anda. Di akhir tutorial, Anda akan memiliki set izin dengan kebijakan terlampir yang dapat menggunakan tindakan `rds-db:connect`.

**catatan**  
Anda dapat memetakan beberapa set izin atau peran ke akun pengguna basis data yang sama. Misalnya, anggaplah kebijakan IAM Anda telah menentukan ARN sumber daya berikut.  

```
arn:aws:rds-db:us-east-2:123456789012:dbuser:db-12ABC34DEFG5HIJ6KLMNOP78QR/jane_doe
```
Jika Anda melampirkan kebijakan ke *Jane*, *Bob*, dan *Diego*, maka masing-masing pengguna tersebut dapat terhubung ke klaster DB yang telah ditentukan menggunakan akun basis data `jane_doe`.

# Membuat akun basis data menggunakan autentikasi IAM
<a name="UsingWithRDS.IAMDBAuth.DBAccounts"></a>

Dengan autentikasi basis data IAM, Anda tidak perlu menetapkan kata sandi basis data ke akun pengguna yang Anda buat. Jika Anda menghapus pengguna yang dipetakan ke akun basis data, Anda juga harus menghapus akun basis data dengan pernyataan `DROP USER`.

**catatan**  
Nama pengguna yang digunakan untuk autentikasi IAM harus sesuai dengan huruf besar/kecil nama pengguna dalam basis data.

**Topics**
+ [

## Menggunakan autentikasi IAM dengan MariaDB dan MySQL
](#UsingWithRDS.IAMDBAuth.DBAccounts.MySQL)
+ [

## 
](#UsingWithRDS.IAMDBAuth.DBAccounts.PostgreSQL)

## Menggunakan autentikasi IAM dengan MariaDB dan MySQL
<a name="UsingWithRDS.IAMDBAuth.DBAccounts.MySQL"></a>

Dengan MariaDB dan MySQL, otentikasi `AWSAuthenticationPlugin` ditangani AWS oleh —sebuah plugin yang disediakan yang bekerja mulus dengan IAM untuk mengautentikasi pengguna Anda. Hubungkan ke instans DB sebagai pengguna master atau pengguna lain yang dapat membuat pengguna dan memberikan hak akses. Setelah terhubung, berikan pernyataan `CREATE USER`, seperti yang ditunjukkan pada contoh berikut.

```
CREATE USER 'jane_doe' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS'; 
```

Klausa `IDENTIFIED WITH` memungkinkan MariaDB dan MySQL menggunakan `AWSAuthenticationPlugin` untuk mengautentikasi akun basis data (`jane_doe`). Klausa `AS 'RDS'` mengacu pada metode autentikasi. Pastikan nama pengguna basis data yang ditentukan sama dengan sumber daya dalam kebijakan IAM untuk akses basis data IAM. Untuk informasi selengkapnya, lihat [Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md). 

**catatan**  
Jika Anda melihat pesan berikut, itu berarti plugin AWS-provided tidak tersedia untuk instans DB saat ini.  
`ERROR 1524 (HY000): Plugin 'AWSAuthenticationPlugin' is not loaded`  
Untuk mengatasi kesalahan ini, verifikasikan bahwa Anda menggunakan konfigurasi yang didukung dan bahwa Anda telah mengaktifkan autentikasi basis data IAM di instans DB Anda. Untuk informasi lebih lanjut, lihat [Ketersediaan wilayah dan versi](UsingWithRDS.IAMDBAuth.md#UsingWithRDS.IAMDBAuth.Availability) dan [Mengaktifkan dan menonaktifkan autentikasi basis data IAM](UsingWithRDS.IAMDBAuth.Enabling.md).

Setelah membuat akun menggunakan `AWSAuthenticationPlugin`, Anda mengelolanya dengan cara yang sama seperti akun basis data lainnya. Misalnya, Anda dapat memodifikasi hak akses akun dengan pernyataan `GRANT` dan `REVOKE`, atau memodifikasi berbagai atribut akun dengan pernyataan `ALTER USER`. 

Lalu lintas jaringan database dienkripsi menggunakan SSL/TLS saat menggunakan IAM. Untuk mengizinkan koneksi SSL, ubah akun pengguna dengan perintah berikut.

```
ALTER USER 'jane_doe'@'%' REQUIRE SSL;     
```

 

## 
<a name="UsingWithRDS.IAMDBAuth.DBAccounts.PostgreSQL"></a>

Untuk menggunakan autentikasi IAM dengan PostgreSQL, hubungkan ke instans DB sebagai pengguna master atau pengguna lain yang dapat membuat pengguna dan memberikan hak istimewa. Setelah terhubung, buat pengguna basis data lalu berikan peran `rds_iam` kepada pengguna tersebut seperti yang ditunjukkan pada contoh berikut.

```
CREATE USER db_userx; 
GRANT rds_iam TO db_userx;
```

Pastikan nama pengguna basis data yang ditentukan sama dengan sumber daya dalam kebijakan IAM untuk akses basis data IAM. Untuk informasi selengkapnya, lihat [Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md). Anda harus memberikan `rds_iam` peran untuk menggunakan otentikasi IAM. Anda juga dapat menggunakan keanggotaan bersarang atau hibah tidak langsung dari peran tersebut. 

# Menghubungkan ke instans DB menggunakan autentikasi IAM
<a name="UsingWithRDS.IAMDBAuth.Connecting"></a>

Dengan autentikasi basis data IAM, Anda menggunakan token autentikasi ketika Anda terhubung ke instans DB Anda. *Token autentikasi* adalah string karakter yang Anda gunakan sebagai pengganti kata sandi. Setelah Anda membuat token autentikasi, token tersebut berlaku selama 15 menit sebelum kedaluwarsa. Jika Anda mencoba terhubung menggunakan token yang kedaluwarsa, permintaan koneksi ditolak.

Setiap token autentikasi harus disertai dengan tanda tangan yang valid, menggunakan AWS Signature versi 4. (Untuk informasi selengkapnya, lihat [Proses penandatanganan Versi Tanda Tangan 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) di * Referensi Umum AWS.* ) SDK AWS CLI dan AWS SDK, seperti AWS SDK untuk Java or AWS SDK untuk Python (Boto3), dapat secara otomatis menandatangani setiap token yang Anda buat.

Anda dapat menggunakan token otentikasi saat Anda terhubung ke Amazon RDS Amazon dari layanan AWS lain, seperti. AWS Lambda Dengan menggunakan token, Anda tidak perlu menempatkan kata sandi dalam kode Anda. Atau, Anda dapat menggunakan AWS SDK untuk membuat dan menandatangani token otentikasi secara terprogram secara terprogram.

Setelah Anda memiliki token autentikasi IAM yang telah ditandatangani, Anda dapat terhubung ke instans DB Amazon RDS. Berikut ini, Anda dapat mengetahui cara melakukan ini menggunakan alat baris perintah atau AWS SDK, seperti AWS SDK untuk Java atau AWS SDK untuk Python (Boto3).

Untuk informasi selengkapnya, lihat postingan blog berikut ini:
+ [Gunakan autentikasi IAM untuk terhubung dengan SQL Workbench/J ke Aurora MySQL atau Amazon RDS for MySQL](https://aws.amazon.com/blogs/database/use-iam-authentication-to-connect-with-sql-workbenchj-to-amazon-aurora-mysql-or-amazon-rds-for-mysql/)
+ [Menggunakan autentikasi IAM untuk terhubung dengan pgAdmin Amazon Aurora PostgreSQL atau Amazon RDS for PostgreSQL](https://aws.amazon.com/blogs/database/using-iam-authentication-to-connect-with-pgadmin-amazon-aurora-postgresql-or-amazon-rds-for-postgresql/)

**Prasyarat**  
Berikut adalah prasyarat untuk menghubungkan ke instans DB menggunakan autentikasi IAM:
+ [Mengaktifkan dan menonaktifkan autentikasi basis data IAM](UsingWithRDS.IAMDBAuth.Enabling.md)
+ [Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md)
+ [Membuat akun basis data menggunakan autentikasi IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md)

**Topics**
+ [

# Menghubungkan ke instans DB Anda menggunakan autentikasi IAM dengan driver AWS
](IAMDBAuth.Connecting.Drivers.md)
+ [

# Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dari baris perintah: AWS CLI dan klien mysql
](UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.md)
+ [

# Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dari baris perintah: AWS CLI dan klien psql
](UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.PostgreSQL.md)
+ [

# Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dan AWS SDK untuk .NET
](UsingWithRDS.IAMDBAuth.Connecting.NET.md)
+ [

# Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dan AWS SDK untuk Go
](UsingWithRDS.IAMDBAuth.Connecting.Go.md)
+ [

# Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dan AWS SDK untuk Java
](UsingWithRDS.IAMDBAuth.Connecting.Java.md)
+ [

# Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dan AWS SDK untuk Python (Boto3)
](UsingWithRDS.IAMDBAuth.Connecting.Python.md)

# Menghubungkan ke instans DB Anda menggunakan autentikasi IAM dengan driver AWS
<a name="IAMDBAuth.Connecting.Drivers"></a>

 AWS Rangkaian driver telah dirancang untuk memberikan dukungan untuk waktu peralihan dan failover yang lebih cepat, dan otentikasi dengan, AWS Identity and Access Management (IAM) AWS Secrets Manager, dan Federated Identity. AWS Driver mengandalkan pemantauan status instans DB dan menyadari topologi instance untuk menentukan penulis baru. Pendekatan ini mengurangi waktu peralihan dan failover menjadi satu digit detik, dibandingkan dengan puluhan detik untuk driver open-source.

[Untuk informasi selengkapnya tentang AWS driver, lihat driver bahasa yang sesuai untuk RDS Anda untuk [MariaDB, RDS untuk](MariaDB.Connecting.Drivers.md#MariaDB.Connecting.JDBCDriver)[MySQL, atau RDS untuk instans PostgreSQL](MySQL.Connecting.Drivers.md#MySQL.Connecting.JDBCDriver) DB.](PostgreSQL.Connecting.JDBCDriver.md)

**catatan**  
Satu-satunya fitur yang didukung untuk RDS untuk MariaDB adalah otentikasi AWS Secrets Manager dengan, (IAM) AWS Identity and Access Management , dan Federated Identity.

# Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dari baris perintah: AWS CLI dan klien mysql
<a name="UsingWithRDS.IAMDBAuth.Connecting.AWSCLI"></a>

Anda dapat terhubung dari baris perintah ke cluster dengan AWS CLI alat baris perintah `mysql` dan seperti yang dijelaskan berikut.

**Prasyarat**  
Berikut adalah prasyarat untuk menghubungkan ke instans DB menggunakan autentikasi IAM:
+ [Mengaktifkan dan menonaktifkan autentikasi basis data IAM](UsingWithRDS.IAMDBAuth.Enabling.md)
+ [Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md)
+ [Membuat akun basis data menggunakan autentikasi IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md)

**catatan**  
Untuk informasi tentang menghubungkan ke database Anda menggunakan SQL Workbench/J dengan autentikasi IAM, lihat posting blog [Menggunakan otentikasi IAM untuk terhubung dengan SQL ke Workbench/J Aurora MySQL atau Amazon RDS for MySQL](https://aws.amazon.com/blogs/database/use-iam-authentication-to-connect-with-sql-workbenchj-to-amazon-aurora-mysql-or-amazon-rds-for-mysql/).

**Topics**
+ [

## Membuat token autentikasi IAM
](#UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.AuthToken)
+ [

## Menghubungkan ke instans DB
](#UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.Connect)

## Membuat token autentikasi IAM
<a name="UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.AuthToken"></a>

Contoh berikut menunjukkan cara mendapatkan token autentikasi yang ditandatangani menggunakan AWS CLI.

```
aws rds generate-db-auth-token \
   --hostname rdsmysql.123456789012.us-west-2.rds.amazonaws.com \
   --port 3306 \
   --region us-west-2 \
   --username jane_doe
```

Dalam contoh, parameternya adalah sebagai berikut:
+ `--hostname` – Nama host instans DB yang ingin Anda akses
+ `--port` – Nomor port yang digunakan untuk menghubungkan ke instans DB Anda
+ `--region`— AWS Wilayah tempat instans DB berjalan
+ `--username` – Akun basis data yang ingin Anda akses

Beberapa karakter pertama dari token terlihat seperti berikut.

```
rdsmysql.123456789012.us-west-2.rds.amazonaws.com:3306/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900...
```

**catatan**  
Anda tidak dapat menggunakan data DNS Route 53 kustom sebagai pengganti titik akhir instans DB untuk menghasilkan token autentikasi.

## Menghubungkan ke instans DB
<a name="UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.Connect"></a>

Format umum untuk terhubung ditampilkan sebagai berikut.

```
mysql --host=hostName --port=portNumber --ssl-ca=full_path_to_ssl_certificate --enable-cleartext-plugin --user=userName --password=authToken
```

Parameternya adalah sebagai berikut:
+ `--host` – Nama host instans DB yang ingin Anda akses
+ `--port` – Nomor port yang digunakan untuk menghubungkan ke instans DB Anda
+ `--ssl-ca` – Jalur lengkap ke file sertifikat SSL yang berisi kunci publik

  Untuk informasi lebih lanjut tentang SSL/TLS dukungan untuk MariaDB, lihat. [Dukungan SSL/TLS untuk instans MariaDB DB di Amazon RDS](MariaDB.Concepts.SSLSupport.md)

  Untuk informasi selengkapnya tentang SSL/TLS dukungan untuk MySQL, lihat. [Dukungan SSL/TLS untuk instans MySQL DB di Amazon RDS](MySQL.Concepts.SSLSupport.md)

  Untuk mengunduh sertifikat SSL, lihat [](UsingWithRDS.SSL.md).
+ `--enable-cleartext-plugin` – Nilai yang menentukan bahwa `AWSAuthenticationPlugin` harus digunakan untuk koneksi ini

  Jika Anda menggunakan klien MariaDB, opsi `--enable-cleartext-plugin` tidak diperlukan.
+ `--user` – Akun basis data yang ingin Anda akses
+ `--password` – Token autentikasi IAM yang ditandatangani

Token autentikasi terdiri atas beberapa ratus karakter. Hal ini dapat sulit ditangani di baris perintah. Salah satu cara untuk mengatasinya adalah dengan menyimpan token ke variabel lingkungan, lalu menggunakan variabel tersebut saat Anda terhubung. Contoh berikut menunjukkan satu cara untuk melakukan solusi ini. Dalam contoh, */sample\$1dir/* adalah path lengkap ke file sertifikat SSL yang berisi kunci publik.

```
RDSHOST="mysqldb.123456789012.us-east-1.rds.amazonaws.com"
TOKEN="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 3306 --region us-west-2 --username jane_doe )"

mysql --host=$RDSHOST --port=3306 --ssl-ca=/sample_dir/global-bundle.pem --enable-cleartext-plugin --user=jane_doe --password=$TOKEN
```

Saat Anda terhubung menggunakan `AWSAuthenticationPlugin`, koneksi diamankan menggunakan SSL. Untuk memverifikasi hal ini, ketik berikut ini di prompt perintah `mysql>`.

```
show status like 'Ssl%';
```

Baris berikut dalam output menampilkan lebih banyak detail.

```
+---------------+-------------+
| Variable_name | Value                                                                                                                                                                                                                                |
+---------------+-------------+
| ...           | ...
| Ssl_cipher    | AES256-SHA                                                                                                                                                                                                                           |
| ...           | ...
| Ssl_version   | TLSv1.1                                                                                                                                                                                                                              |
| ...           | ...
+-----------------------------+
```

Jika Anda ingin terhubung ke instans DB melalui proksi, lihat [Menghubungkan ke database menggunakan otentikasi IAM](rds-proxy-connecting.md#rds-proxy-connecting-iam).

# Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dari baris perintah: AWS CLI dan klien psql
<a name="UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.PostgreSQL"></a>

Anda dapat terhubung dari baris perintah ke instans DB Amazon RDS for PostgreSQL dengan AWS CLI dan alat baris perintah psql seperti yang dijelaskan berikut.

**Prasyarat**  
Berikut adalah prasyarat untuk menghubungkan ke instans DB menggunakan autentikasi IAM:
+ [Mengaktifkan dan menonaktifkan autentikasi basis data IAM](UsingWithRDS.IAMDBAuth.Enabling.md)
+ [Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md)
+ [Membuat akun basis data menggunakan autentikasi IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md)

**catatan**  
Untuk informasi tentang menghubungkan ke basis data Anda menggunakan pgAdmin dengan autentikasi IAM, lihat postingan blog [Menggunakan autentikasi IAM untuk terhubung dengan pgAdmin Amazon Aurora PostgreSQL atau Amazon RDS for PostgreSQL](https://aws.amazon.com/blogs/database/using-iam-authentication-to-connect-with-pgadmin-amazon-aurora-postgresql-or-amazon-rds-for-postgresql/).

**Topics**
+ [

## Membuat token autentikasi IAM
](#UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.AuthToken.PostgreSQL)
+ [

## Menghubungkan ke instans Amazon RDS PostgreSQL
](#UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.Connect.PostgreSQL)

## Membuat token autentikasi IAM
<a name="UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.AuthToken.PostgreSQL"></a>

Token autentikasi terdiri dari ratusan karakter sehingga kemungkinan menjadi sulit ditangani di baris perintah. Salah satu cara untuk mengatasi ini adalah dengan menyimpan token ke variabel lingkungan, lalu menggunakan variabel tersebut saat Anda terhubung. Contoh berikut menunjukkan bagaimana menggunakan AWS CLI untuk mendapatkan token otentikasi ditandatangani menggunakan `generate-db-auth-token` perintah, dan menyimpannya dalam variabel `PGPASSWORD` lingkungan.

```
export RDSHOST="rdspostgres.123456789012.us-west-2.rds.amazonaws.com"
export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 5432 --region us-west-2 --username jane_doe )"
```

Dalam contoh, parameter untuk perintah `generate-db-auth-token` adalah sebagai berikut:
+ `--hostname` – Nama host instans DB yang ingin Anda akses
+ `--port` – Nomor port yang digunakan untuk menghubungkan ke instans DB Anda
+ `--region`— AWS Wilayah tempat instans DB berjalan
+ `--username` – Akun basis data yang ingin Anda akses

Beberapa karakter pertama dari token yang dihasilkan terlihat seperti berikut.

```
rdspostgres.123456789012.us-west-2.rds.amazonaws.com:5432/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900...
```

**catatan**  
Anda tidak dapat menggunakan data DNS Route 53 kustom sebagai pengganti titik akhir instans DB untuk menghasilkan token autentikasi.

## Menghubungkan ke instans Amazon RDS PostgreSQL
<a name="UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.Connect.PostgreSQL"></a>

Format umum untuk menggunakan psql untuk terhubung ditampilkan sebagai berikut.

```
psql "host=hostName port=portNumber sslmode=verify-full sslrootcert=full_path_to_ssl_certificate dbname=DBName user=userName password=authToken"
```

Parameternya adalah sebagai berikut:
+ `host` – Nama host instans DB yang ingin Anda akses
+ `port` – Nomor port yang digunakan untuk menghubungkan ke instans DB Anda
+ `sslmode` – Mode SSL yang akan digunakan

  Saat Anda menggunakan `sslmode=verify-full`, koneksi SSL memverifikasi titik akhir instans DB di sertifikat SSL.
+ `sslrootcert` – Jalur lengkap ke file sertifikat SSL yang berisi kunci publik

  Untuk informasi selengkapnya, lihat [Menggunakan SSL dengan instans DB PostgreSQL](PostgreSQL.Concepts.General.SSL.md).

  Untuk mengunduh sertifikat SSL, lihat [](UsingWithRDS.SSL.md).
+ `dbname` – Basis data yang ingin Anda akses
+ `user` – Akun basis data yang ingin Anda akses
+ `password` – Token autentikasi IAM yang ditandatangani

**catatan**  
Anda tidak dapat menggunakan data DNS Route 53 kustom sebagai pengganti titik akhir instans DB untuk menghasilkan token autentikasi.

Contoh berikut menunjukkan penggunaan psql untuk terhubung. Dalam contoh, psql menggunakan variabel lingkungan `RDSHOST` untuk host dan variabel lingkungan `PGPASSWORD` untuk token yang dihasilkan. Juga, */sample\$1dir/* adalah jalur lengkap ke file sertifikat SSL yang berisi kunci publik.

```
export RDSHOST="rdspostgres.123456789012.us-west-2.rds.amazonaws.com"
export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 5432 --region us-west-2 --username jane_doe )"
                    
psql "host=$RDSHOST port=5432 sslmode=verify-full sslrootcert=/sample_dir/global-bundle.pem dbname=DBName user=jane_doe password=$PGPASSWORD"
```

Jika Anda ingin terhubung ke instans DB melalui proksi, lihat [Menghubungkan ke database menggunakan otentikasi IAM](rds-proxy-connecting.md#rds-proxy-connecting-iam).

# Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dan AWS SDK untuk .NET
<a name="UsingWithRDS.IAMDBAuth.Connecting.NET"></a>

Anda dapat terhubung ke RDS untuk MariaDB, MySQL, atau PostgreSQL DB PostgreSQL DB cluster dengan seperti yang dijelaskan berikut. AWS SDK untuk .NET 

**Prasyarat**  
Berikut adalah prasyarat untuk menghubungkan ke instans DB menggunakan autentikasi IAM:
+ [Mengaktifkan dan menonaktifkan autentikasi basis data IAM](UsingWithRDS.IAMDBAuth.Enabling.md)
+ [Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md)
+ [Membuat akun basis data menggunakan autentikasi IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md)

**Contoh**  
Contoh kode berikut ini menunjukkan cara membuat token autentikasi, lalu menggunakannya untuk menghubungkan ke instans DB.

Untuk menjalankan contoh kode ini, Anda memerlukan [AWS SDK untuk .NET](https://aws.amazon.com/sdk-for-net/), ditemukan di AWS situs. Paket `AWSSDK.CORE` dan `AWSSDK.RDS` diperlukan. Untuk terhubung ke instans DB, gunakan konektor database.NET untuk mesin DB, seperti untuk MariaDB atau MySQL, atau Npgsql MySqlConnector untuk PostgreSQL.

Kode ini terhubung ke instans DB MariaDB MySQL. Ubah nilai variabel berikut sesuai kebutuhan:
+ `server` – Titik akhir instans DB yang ingin Anda akses
+ `user` – Akun basis data yang ingin Anda akses
+ `database` – Basis data yang ingin Anda akses
+ `port` – Nomor port yang digunakan untuk menghubungkan ke instans DB Anda
+ `SslMode` – Mode SSL yang akan digunakan

  Saat Anda menggunakan `SslMode=Required`, koneksi SSL memverifikasi titik akhir instans DB di sertifikat SSL.
+ `SslCa` – Jalur lengkap ke sertifikat SSL untuk Amazon RDS

  Untuk mengunduh sertifikat, lihat [](UsingWithRDS.SSL.md).

**catatan**  
Anda tidak dapat menggunakan data DNS Route 53 kustom sebagai pengganti titik akhir instans DB untuk menghasilkan token autentikasi.

```
using System;
using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;
using Amazon;

namespace ubuntu
{
  class Program
  {
    static void Main(string[] args)
    {
      var pwd = Amazon.RDS.Util.RDSAuthTokenGenerator.GenerateAuthToken(RegionEndpoint.USEast1, "mysqldb.123456789012.us-east-1.rds.amazonaws.com", 3306, "jane_doe");
      // for debug only Console.Write("{0}\n", pwd);  //this verifies the token is generated

      MySqlConnection conn = new MySqlConnection($"server=mysqldb.123456789012.us-east-1.rds.amazonaws.com;user=jane_doe;database=mydB;port=3306;password={pwd};SslMode=Required;SslCa=full_path_to_ssl_certificate");
      conn.Open();

      // Define a query
      MySqlCommand sampleCommand = new MySqlCommand("SHOW DATABASES;", conn);

      // Execute a query
      MySqlDataReader mysqlDataRdr = sampleCommand.ExecuteReader();

      // Read all rows and output the first column in each row
      while (mysqlDataRdr.Read())
        Console.WriteLine(mysqlDataRdr[0]);

      mysqlDataRdr.Close();
      // Close connection
      conn.Close();
    }
  }
}
```

Kode ini terhubung ke instans DB PostgreSQL.

Ubah nilai variabel berikut sesuai kebutuhan:
+ `Server` – Titik akhir instans DB yang ingin Anda akses
+ `User ID` – Akun basis data yang ingin Anda akses
+ `Database` – Basis data yang ingin Anda akses
+ `Port` – Nomor port yang digunakan untuk menghubungkan ke instans DB Anda
+ `SSL Mode` – Mode SSL yang akan digunakan

  Saat Anda menggunakan `SSL Mode=Required`, koneksi SSL memverifikasi titik akhir instans DB di sertifikat SSL.
+ `Root Certificate` – Jalur lengkap ke sertifikat SSL untuk Amazon RDS

  Untuk mengunduh sertifikat, lihat [](UsingWithRDS.SSL.md).

**catatan**  
Anda tidak dapat menggunakan data DNS Route 53 kustom sebagai pengganti titik akhir instans DB untuk menghasilkan token autentikasi.

```
using System;
using Npgsql;
using Amazon.RDS.Util;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            var pwd = RDSAuthTokenGenerator.GenerateAuthToken("postgresmydb.123456789012.us-east-1.rds.amazonaws.com", 5432, "jane_doe");
// for debug only Console.Write("{0}\n", pwd);  //this verifies the token is generated

            NpgsqlConnection conn = new NpgsqlConnection($"Server=postgresmydb.123456789012.us-east-1.rds.amazonaws.com;User Id=jane_doe;Password={pwd};Database=mydb;SSL Mode=Require;Root Certificate=full_path_to_ssl_certificate");
            conn.Open();

            // Define a query
                   NpgsqlCommand cmd = new NpgsqlCommand("select count(*) FROM pg_user", conn);

            // Execute a query
            NpgsqlDataReader dr = cmd.ExecuteReader();

            // Read all rows and output the first column in each row
            while (dr.Read())
                Console.Write("{0}\n", dr[0]);

            // Close connection
            conn.Close();
        }
    }
}
```

Jika Anda ingin terhubung ke instans DB melalui proksi, lihat [Menghubungkan ke database menggunakan otentikasi IAM](rds-proxy-connecting.md#rds-proxy-connecting-iam).

# Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dan AWS SDK untuk Go
<a name="UsingWithRDS.IAMDBAuth.Connecting.Go"></a>

Anda dapat terhubung ke RDS untuk MariaDB, MySQL, atau PostgreSQL DB PostgreSQL DB cluster dengan seperti yang dijelaskan berikut. AWS SDK untuk Go 

**Prasyarat**  
Berikut adalah prasyarat untuk menghubungkan ke instans DB menggunakan autentikasi IAM:
+ [Mengaktifkan dan menonaktifkan autentikasi basis data IAM](UsingWithRDS.IAMDBAuth.Enabling.md)
+ [Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md)
+ [Membuat akun basis data menggunakan autentikasi IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md)

**Contoh**  
Untuk menjalankan contoh kode ini, Anda memerlukan [AWS SDK untuk Go](https://aws.amazon.com/sdk-for-go/), ditemukan di AWS situs.

Ubah nilai variabel berikut sesuai kebutuhan:
+ `dbName` – Basis data yang ingin Anda akses
+ `dbUser` – Akun basis data yang ingin Anda akses
+ `dbHost` – Titik akhir instans DB yang ingin Anda akses
**catatan**  
Anda tidak dapat menggunakan data DNS Route 53 kustom sebagai pengganti titik akhir instans DB untuk menghasilkan token autentikasi.
+ `dbPort` – Nomor port yang digunakan untuk menghubungkan ke instans DB Anda
+ `region`— AWS Wilayah tempat instans DB berjalan

Selain itu, pastikan pustaka yang diimpor dalam kode sampel ada di sistem Anda.

**penting**  
Contoh dalam bagian ini menggunakan kode berikut untuk menyediakan kredensial yang mengakses basis data dari lingkungan lokal:  
`creds := credentials.NewEnvCredentials()`  
Jika Anda mengakses database dari AWS layanan, seperti Amazon EC2 atau Amazon ECS, Anda dapat mengganti kode dengan kode berikut:  
`sess := session.Must(session.NewSession())`  
`creds := sess.Config.Credentials`  
Jika Anda membuat perubahan ini, pastikan Anda menambahkan impor berikut:  
`"github.com/aws/aws-sdk-go/aws/session"`

**Topics**
+ [

## Menghubungkan menggunakan otentikasi IAM dan V2 AWS SDK untuk Go
](#UsingWithRDS.IAMDBAuth.Connecting.GoV2)
+ [

## Menghubungkan menggunakan otentikasi IAM dan V1. AWS SDK untuk Go
](#UsingWithRDS.IAMDBAuth.Connecting.GoV1)

## Menghubungkan menggunakan otentikasi IAM dan V2 AWS SDK untuk Go
<a name="UsingWithRDS.IAMDBAuth.Connecting.GoV2"></a>

Anda dapat terhubung ke instans DB menggunakan autentikasi IAM dan V2. AWS SDK untuk Go 

Contoh kode berikut ini menunjukkan cara membuat token autentikasi, lalu menggunakannya untuk menghubungkan ke instans DB. 

Kode ini terhubung ke instans DB MariaDB MySQL.

```
package main
                
import (
     "context"
     "database/sql"
     "fmt"

     "github.com/aws/aws-sdk-go-v2/config"
     "github.com/aws/aws-sdk-go-v2/feature/rds/auth"
     _ "github.com/go-sql-driver/mysql"
)

func main() {

     var dbName string = "DatabaseName"
     var dbUser string = "DatabaseUser"
     var dbHost string = "mysqldb.123456789012.us-east-1.rds.amazonaws.com"
     var dbPort int = 3306
     var dbEndpoint string = fmt.Sprintf("%s:%d", dbHost, dbPort)
     var region string = "us-east-1"

    cfg, err := config.LoadDefaultConfig(context.TODO())
    if err != nil {
    	panic("configuration error: " + err.Error())
    }

    authenticationToken, err := auth.BuildAuthToken(
    	context.TODO(), dbEndpoint, region, dbUser, cfg.Credentials)
    if err != nil {
	    panic("failed to create authentication token: " + err.Error())
    }

    dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?tls=true&allowCleartextPasswords=true",
        dbUser, authenticationToken, dbEndpoint, dbName,
    )

    db, err := sql.Open("mysql", dsn)
    if err != nil {
        panic(err)
    }

    err = db.Ping()
    if err != nil {
        panic(err)
    }
}
```

Kode ini terhubung ke instans DB PostgreSQL.

```
package main

import (
     "context"
     "database/sql"
     "fmt"

     "github.com/aws/aws-sdk-go-v2/config"
     "github.com/aws/aws-sdk-go-v2/feature/rds/auth"
     _ "github.com/lib/pq"
)

func main() {

     var dbName string = "DatabaseName"
     var dbUser string = "DatabaseUser"
     var dbHost string = "postgresmydb.123456789012.us-east-1.rds.amazonaws.com"
     var dbPort int = 5432
     var dbEndpoint string = fmt.Sprintf("%s:%d", dbHost, dbPort)
     var region string = "us-east-1"

    cfg, err := config.LoadDefaultConfig(context.TODO())
    if err != nil {
    	panic("configuration error: " + err.Error())
    }

    authenticationToken, err := auth.BuildAuthToken(
    	context.TODO(), dbEndpoint, region, dbUser, cfg.Credentials)
    if err != nil {
	    panic("failed to create authentication token: " + err.Error())
    }

    dsn := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s",
        dbHost, dbPort, dbUser, authenticationToken, dbName,
    )

    db, err := sql.Open("postgres", dsn)
    if err != nil {
        panic(err)
    }

    err = db.Ping()
    if err != nil {
        panic(err)
    }
}
```

Jika Anda ingin terhubung ke instans DB melalui proksi, lihat [Menghubungkan ke database menggunakan otentikasi IAM](rds-proxy-connecting.md#rds-proxy-connecting-iam).

## Menghubungkan menggunakan otentikasi IAM dan V1. AWS SDK untuk Go
<a name="UsingWithRDS.IAMDBAuth.Connecting.GoV1"></a>

Anda dapat terhubung ke instans DB menggunakan otentikasi IAM dan V1 AWS SDK untuk Go 

Contoh kode berikut ini menunjukkan cara membuat token autentikasi, lalu menggunakannya untuk menghubungkan ke instans DB. 

Kode ini terhubung ke instans DB MariaDB MySQL.

```
package main
         
import (
    "database/sql"
    "fmt"
    "log"

    "github.com/aws/aws-sdk-go/aws/credentials"
    "github.com/aws/aws-sdk-go/service/rds/rdsutils"
    _ "github.com/go-sql-driver/mysql"
)

func main() {
    dbName := "app"
    dbUser := "jane_doe"
    dbHost := "mysqldb.123456789012.us-east-1.rds.amazonaws.com"
    dbPort := 3306
    dbEndpoint := fmt.Sprintf("%s:%d", dbHost, dbPort)
    region := "us-east-1"

    creds := credentials.NewEnvCredentials()
    authToken, err := rdsutils.BuildAuthToken(dbEndpoint, region, dbUser, creds)
    if err != nil {
        panic(err)
    }

    dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?tls=true&allowCleartextPasswords=true",
        dbUser, authToken, dbEndpoint, dbName,
    )

    db, err := sql.Open("mysql", dsn)
    if err != nil {
        panic(err)
    }

    err = db.Ping()
    if err != nil {
        panic(err)
    }
}
```

Kode ini terhubung ke instans DB PostgreSQL.

```
package main

import (
	"database/sql"
	"fmt"

	"github.com/aws/aws-sdk-go/aws/credentials"
	"github.com/aws/aws-sdk-go/service/rds/rdsutils"
	_ "github.com/lib/pq"
)

func main() {
    dbName := "app"
    dbUser := "jane_doe"
    dbHost := "postgresmydb.123456789012.us-east-1.rds.amazonaws.com"
    dbPort := 5432
    dbEndpoint := fmt.Sprintf("%s:%d", dbHost, dbPort)
    region := "us-east-1"

    creds := credentials.NewEnvCredentials()
    authToken, err := rdsutils.BuildAuthToken(dbEndpoint, region, dbUser, creds)
    if err != nil {
        panic(err)
    }

    dsn := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s",
        dbHost, dbPort, dbUser, authToken, dbName,
    )

    db, err := sql.Open("postgres", dsn)
    if err != nil {
        panic(err)
    }

    err = db.Ping()
    if err != nil {
        panic(err)
    }
}
```

Jika Anda ingin terhubung ke instans DB melalui proksi, lihat [Menghubungkan ke database menggunakan otentikasi IAM](rds-proxy-connecting.md#rds-proxy-connecting-iam).

# Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dan AWS SDK untuk Java
<a name="UsingWithRDS.IAMDBAuth.Connecting.Java"></a>

Anda dapat terhubung ke RDS untuk MariaDB, MySQL, atau PostgreSQL DB PostgreSQL DB cluster dengan seperti yang dijelaskan berikut. AWS SDK untuk Java 

**Prasyarat**  
Berikut adalah prasyarat untuk menghubungkan ke instans DB menggunakan autentikasi IAM:
+ [Mengaktifkan dan menonaktifkan autentikasi basis data IAM](UsingWithRDS.IAMDBAuth.Enabling.md)
+ [Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md)
+ [Membuat akun basis data menggunakan autentikasi IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md)
+ [Menyiapkan AWS SDK for Java](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-install.html)

Untuk contoh tentang cara menggunakan SDK for Java 2.x, lihat [contoh Amazon RDS menggunakan SDK for Java](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/java_rds_code_examples.html) 2.x. Anda juga dapat menggunakan AWS Advanced JDBC Wrapper, lihat Dokumentasi [AWS Advanced JDBC](https://github.com/aws/aws-advanced-jdbc-wrapper/blob/main/docs/Documentation.md) Wrapper.

**Topics**
+ [

## Membuat token autentikasi IAM
](#UsingWithRDS.IAMDBAuth.Connecting.Java.AuthToken)
+ [

## Membuat token autentikasi IAM secara manual
](#UsingWithRDS.IAMDBAuth.Connecting.Java.AuthToken2)
+ [

## Menghubungkan ke instans DB
](#UsingWithRDS.IAMDBAuth.Connecting.Java.AuthToken.Connect)

## Membuat token autentikasi IAM
<a name="UsingWithRDS.IAMDBAuth.Connecting.Java.AuthToken"></a>

Jika Anda menulis program menggunakan AWS SDK untuk Java, Anda bisa mendapatkan token otentikasi yang ditandatangani menggunakan `RdsIamAuthTokenGenerator` kelas. Menggunakan kelas ini mengharuskan Anda memberikan AWS kredensil. Untuk melakukan ini, Anda membuat instance dari `DefaultAWSCredentialsProviderChain` kelas. `DefaultAWSCredentialsProviderChain`menggunakan kunci AWS akses pertama dan kunci rahasia yang ditemukan di [rantai penyedia kredensi default](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-default). Untuk informasi selengkapnya tentang kunci akses AWS , lihat [Mengelola kunci akses untuk pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html).

**catatan**  
Anda tidak dapat menggunakan data DNS Route 53 kustom sebagai pengganti titik akhir instans DB untuk menghasilkan token autentikasi.

Setelah membuat instans `RdsIamAuthTokenGenerator`, Anda dapat memanggil metode `getAuthToken` untuk mendapatkan token yang ditandatangani. Berikan Wilayah AWS , nama host, nomor port, dan nama pengguna. Contoh kode berikut menunjukkan cara melakukannya.

```
package com.amazonaws.codesamples;

import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
import com.amazonaws.services.rds.auth.GetIamAuthTokenRequest;
import com.amazonaws.services.rds.auth.RdsIamAuthTokenGenerator;

public class GenerateRDSAuthToken {

    public static void main(String[] args) {

	    String region = "us-west-2";
	    String hostname = "rdsmysql.123456789012.us-west-2.rds.amazonaws.com";
	    String port = "3306";
	    String username = "jane_doe";
	
	    System.out.println(generateAuthToken(region, hostname, port, username));
    }

    static String generateAuthToken(String region, String hostName, String port, String username) {

	    RdsIamAuthTokenGenerator generator = RdsIamAuthTokenGenerator.builder()
		    .credentials(new DefaultAWSCredentialsProviderChain())
		    .region(region)
		    .build();

	    String authToken = generator.getAuthToken(
		    GetIamAuthTokenRequest.builder()
		    .hostname(hostName)
		    .port(Integer.parseInt(port))
		    .userName(username)
		    .build());
	    
	    return authToken;
    }

}
```

## Membuat token autentikasi IAM secara manual
<a name="UsingWithRDS.IAMDBAuth.Connecting.Java.AuthToken2"></a>

Di Java, cara termudah untuk menghasilkan token autentikasi adalah dengan menggunakan `RdsIamAuthTokenGenerator`. Kelas ini membuat token otentikasi untuk Anda, dan kemudian menandatanganinya menggunakan AWS tanda tangan versi 4. Untuk informasi selengkapnya, lihat [Proses penandatanganan Signature versi 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) dalam *Referensi Umum AWS.*

Namun, Anda juga dapat membuat dan menandatangani token autentikasi secara manual, seperti ditunjukkan dalam contoh kode berikut.

```
package com.amazonaws.codesamples;

import com.amazonaws.SdkClientException;
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
import com.amazonaws.auth.SigningAlgorithm;
import com.amazonaws.util.BinaryUtils;
import org.apache.commons.lang3.StringUtils;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.Charset;
import java.security.MessageDigest;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.SortedMap;
import java.util.TreeMap;

import static com.amazonaws.auth.internal.SignerConstants.AWS4_TERMINATOR;
import static com.amazonaws.util.StringUtils.UTF8;

public class CreateRDSAuthTokenManually {
    public static String httpMethod = "GET";
    public static String action = "connect";
    public static String canonicalURIParameter = "/";
    public static SortedMap<String, String> canonicalQueryParameters = new TreeMap();
    public static String payload = StringUtils.EMPTY;
    public static String signedHeader = "host";
    public static String algorithm = "AWS4-HMAC-SHA256";
    public static String serviceName = "rds-db";
    public static String requestWithoutSignature;

    public static void main(String[] args) throws Exception {

        String region = "us-west-2";
        String instanceName = "rdsmysql.123456789012.us-west-2.rds.amazonaws.com";
        String port = "3306";
        String username = "jane_doe";
	
        Date now = new Date();
        String date = new SimpleDateFormat("yyyyMMdd").format(now);
        String dateTimeStamp = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'").format(now);
        DefaultAWSCredentialsProviderChain creds = new DefaultAWSCredentialsProviderChain();
	    String awsAccessKey = creds.getCredentials().getAWSAccessKeyId();
	    String awsSecretKey = creds.getCredentials().getAWSSecretKey();
        String expiryMinutes = "900";
        
        System.out.println("Step 1:  Create a canonical request:");
        String canonicalString = createCanonicalString(username, awsAccessKey, date, dateTimeStamp, region, expiryMinutes, instanceName, port);
        System.out.println(canonicalString);
        System.out.println();

        System.out.println("Step 2:  Create a string to sign:");        
        String stringToSign = createStringToSign(dateTimeStamp, canonicalString, awsAccessKey, date, region);
        System.out.println(stringToSign);
        System.out.println();

        System.out.println("Step 3:  Calculate the signature:");        
        String signature = BinaryUtils.toHex(calculateSignature(stringToSign, newSigningKey(awsSecretKey, date, region, serviceName)));
        System.out.println(signature);
        System.out.println();

        System.out.println("Step 4:  Add the signing info to the request");                
        System.out.println(appendSignature(signature));
        System.out.println();
        
    }

    //Step 1: Create a canonical request date should be in format YYYYMMDD and dateTime should be in format YYYYMMDDTHHMMSSZ
    public static String createCanonicalString(String user, String accessKey, String date, String dateTime, String region, String expiryPeriod, String hostName, String port) throws Exception {
        canonicalQueryParameters.put("Action", action);
        canonicalQueryParameters.put("DBUser", user);
        canonicalQueryParameters.put("X-Amz-Algorithm", "AWS4-HMAC-SHA256");
        canonicalQueryParameters.put("X-Amz-Credential", accessKey + "%2F" + date + "%2F" + region + "%2F" + serviceName + "%2Faws4_request");
        canonicalQueryParameters.put("X-Amz-Date", dateTime);
        canonicalQueryParameters.put("X-Amz-Expires", expiryPeriod);
        canonicalQueryParameters.put("X-Amz-SignedHeaders", signedHeader);
        String canonicalQueryString = "";
        while(!canonicalQueryParameters.isEmpty()) {
            String currentQueryParameter = canonicalQueryParameters.firstKey();
            String currentQueryParameterValue = canonicalQueryParameters.remove(currentQueryParameter);
            canonicalQueryString = canonicalQueryString + currentQueryParameter + "=" + currentQueryParameterValue;
            if (!currentQueryParameter.equals("X-Amz-SignedHeaders")) {
                canonicalQueryString += "&";
            }
        }
        String canonicalHeaders = "host:" + hostName + ":" + port + '\n';
        requestWithoutSignature = hostName + ":" + port + "/?" + canonicalQueryString;

        String hashedPayload = BinaryUtils.toHex(hash(payload));
        return httpMethod + '\n' + canonicalURIParameter + '\n' + canonicalQueryString + '\n' + canonicalHeaders + '\n' + signedHeader + '\n' + hashedPayload;

    }

    //Step 2: Create a string to sign using sig v4
    public static String createStringToSign(String dateTime, String canonicalRequest, String accessKey, String date, String region) throws Exception {
        String credentialScope = date + "/" + region + "/" + serviceName + "/aws4_request";
        return algorithm + '\n' + dateTime + '\n' + credentialScope + '\n' + BinaryUtils.toHex(hash(canonicalRequest));

    }

    //Step 3: Calculate signature
    /**
     * Step 3 of the &AWS; Signature version 4 calculation. It involves deriving
     * the signing key and computing the signature. Refer to
     * http://docs.aws.amazon
     * .com/general/latest/gr/sigv4-calculate-signature.html
     */
    public static byte[] calculateSignature(String stringToSign,
                                            byte[] signingKey) {
        return sign(stringToSign.getBytes(Charset.forName("UTF-8")), signingKey,
                SigningAlgorithm.HmacSHA256);
    }

    public static byte[] sign(byte[] data, byte[] key,
                          SigningAlgorithm algorithm) throws SdkClientException {
        try {
            Mac mac = algorithm.getMac();
            mac.init(new SecretKeySpec(key, algorithm.toString()));
            return mac.doFinal(data);
        } catch (Exception e) {
            throw new SdkClientException(
                    "Unable to calculate a request signature: "
                            + e.getMessage(), e);
        }
    }

    public static byte[] newSigningKey(String secretKey,
                                   String dateStamp, String regionName, String serviceName) {
        byte[] kSecret = ("AWS4" + secretKey).getBytes(Charset.forName("UTF-8"));
        byte[] kDate = sign(dateStamp, kSecret, SigningAlgorithm.HmacSHA256);
        byte[] kRegion = sign(regionName, kDate, SigningAlgorithm.HmacSHA256);
        byte[] kService = sign(serviceName, kRegion,
                SigningAlgorithm.HmacSHA256);
        return sign(AWS4_TERMINATOR, kService, SigningAlgorithm.HmacSHA256);
    }

    public static byte[] sign(String stringData, byte[] key,
                       SigningAlgorithm algorithm) throws SdkClientException {
        try {
            byte[] data = stringData.getBytes(UTF8);
            return sign(data, key, algorithm);
        } catch (Exception e) {
            throw new SdkClientException(
                    "Unable to calculate a request signature: "
                            + e.getMessage(), e);
        }
    }

    //Step 4: append the signature
    public static String appendSignature(String signature) {
        return requestWithoutSignature + "&X-Amz-Signature=" + signature;
    }

    public static byte[] hash(String s) throws Exception {
        try {
            MessageDigest md = MessageDigest.getInstance("SHA-256");
            md.update(s.getBytes(UTF8));
            return md.digest();
        } catch (Exception e) {
            throw new SdkClientException(
                    "Unable to compute hash while signing request: "
                            + e.getMessage(), e);
        }
    }
}
```

## Menghubungkan ke instans DB
<a name="UsingWithRDS.IAMDBAuth.Connecting.Java.AuthToken.Connect"></a>

Contoh kode berikut menunjukkan cara membuat token autentikasi, lalu menggunakannya untuk menghubungkan ke instans yang menjalankan MariaDB atau MySQL. 

Untuk menjalankan contoh kode ini, Anda memerlukan [AWS SDK untuk Java](https://aws.amazon.com/sdk-for-java/), ditemukan di AWS situs. Selain itu, Anda memerlukan hal berikut:
+ MySQL Connector/J. Contoh kode ini diuji dengan `mysql-connector-java-5.1.33-bin.jar`.
+ Sertifikat perantara untuk Amazon RDS Aurora yang khusus untuk AWS suatu Wilayah. (Untuk informasi selengkapnya, lihat [](UsingWithRDS.SSL.md).) Saat runtime, pemuat kelas mencari sertifikat di direktori yang sama seperti contoh kode Java ini, sehingga pemuat kelas dapat menemukannya.
+ Ubah nilai variabel berikut sesuai kebutuhan:
  + `RDS_INSTANCE_HOSTNAME` – Nama host instans DB yang ingin Anda akses.
  + `RDS_INSTANCE_PORT` – Nomor port yang digunakan untuk menghubungkan ke instans DB PostgreSQL Anda.
  + `REGION_NAME`— AWS Wilayah tempat instans DB berjalan.
  + `DB_USER` – Akun basis data yang ingin Anda akses.
  + `SSL_CERTIFICATE`— Sertifikat SSL untuk Amazon RDS yang khusus untuk suatu Wilayah. AWS 

    Untuk mengunduh sertifikat untuk Wilayah AWS Anda, lihat [](UsingWithRDS.SSL.md). Tempatkan sertifikat SSL di direktori yang sama dengan file program Java ini, sehingga pemuat kelas dapat menemukan sertifikat saat runtime.

Contoh kode ini memperoleh AWS kredensil dari rantai penyedia [kredensi default](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-default).

**catatan**  
Tentukan kata sandi untuk `DEFAULT_KEY_STORE_PASSWORD` selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

```
package com.amazonaws.samples;

import com.amazonaws.services.rds.auth.RdsIamAuthTokenGenerator;
import com.amazonaws.services.rds.auth.GetIamAuthTokenRequest;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
import com.amazonaws.auth.AWSStaticCredentialsProvider;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.security.KeyStore;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;

import java.net.URL;

public class IAMDatabaseAuthenticationTester {
    //&AWS; Credentials of the IAM user with policy enabling IAM Database Authenticated access to the db by the db user.
    private static final DefaultAWSCredentialsProviderChain creds = new DefaultAWSCredentialsProviderChain();
    private static final String AWS_ACCESS_KEY = creds.getCredentials().getAWSAccessKeyId();
    private static final String AWS_SECRET_KEY = creds.getCredentials().getAWSSecretKey();

    //Configuration parameters for the generation of the IAM Database Authentication token
    private static final String RDS_INSTANCE_HOSTNAME = "rdsmysql.123456789012.us-west-2.rds.amazonaws.com";
    private static final int RDS_INSTANCE_PORT = 3306;
    private static final String REGION_NAME = "us-west-2";
    private static final String DB_USER = "jane_doe";
    private static final String JDBC_URL = "jdbc:mysql://" + RDS_INSTANCE_HOSTNAME + ":" + RDS_INSTANCE_PORT;

    private static final String SSL_CERTIFICATE = "rds-ca-2019-us-west-2.pem";

    private static final String KEY_STORE_TYPE = "JKS";
    private static final String KEY_STORE_PROVIDER = "SUN";
    private static final String KEY_STORE_FILE_PREFIX = "sys-connect-via-ssl-test-cacerts";
    private static final String KEY_STORE_FILE_SUFFIX = ".jks";
    private static final String DEFAULT_KEY_STORE_PASSWORD = "changeit";

    public static void main(String[] args) throws Exception {
        //get the connection
        Connection connection = getDBConnectionUsingIam();

        //verify the connection is successful
        Statement stmt= connection.createStatement();
        ResultSet rs=stmt.executeQuery("SELECT 'Success!' FROM DUAL;");
        while (rs.next()) {
        	    String id = rs.getString(1);
            System.out.println(id); //Should print "Success!"
        }

        //close the connection
        stmt.close();
        connection.close();
        
        clearSslProperties();
        
    }

    /**
     * This method returns a connection to the db instance authenticated using IAM Database Authentication
     * @return
     * @throws Exception
     */
    private static Connection getDBConnectionUsingIam() throws Exception {
        setSslProperties();
        return DriverManager.getConnection(JDBC_URL, setMySqlConnectionProperties());
    }

    /**
     * This method sets the mysql connection properties which includes the IAM Database Authentication token
     * as the password. It also specifies that SSL verification is required.
     * @return
     */
    private static Properties setMySqlConnectionProperties() {
        Properties mysqlConnectionProperties = new Properties();
        mysqlConnectionProperties.setProperty("verifyServerCertificate","true");
        mysqlConnectionProperties.setProperty("useSSL", "true");
        mysqlConnectionProperties.setProperty("user",DB_USER);
        mysqlConnectionProperties.setProperty("password",generateAuthToken());
        return mysqlConnectionProperties;
    }

    /**
     * This method generates the IAM Auth Token.
     * An example IAM Auth Token would look like follows:
     * btusi123---cmz7kenwo2ye---rds---cn-north-1.amazonaws.com.rproxy.goskope.com.cn:3306/?Action=connect&DBUser=iamtestuser&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20171003T010726Z&X-Amz-SignedHeaders=host&X-Amz-Expires=899&X-Amz-Credential=AKIAPFXHGVDI5RNFO4AQ%2F20171003%2Fcn-north-1%2Frds-db%2Faws4_request&X-Amz-Signature=f9f45ef96c1f770cdad11a53e33ffa4c3730bc03fdee820cfdf1322eed15483b
     * @return
     */
    private static String generateAuthToken() {
        BasicAWSCredentials awsCredentials = new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY);

        RdsIamAuthTokenGenerator generator = RdsIamAuthTokenGenerator.builder()
                .credentials(new AWSStaticCredentialsProvider(awsCredentials)).region(REGION_NAME).build();
        return generator.getAuthToken(GetIamAuthTokenRequest.builder()
                .hostname(RDS_INSTANCE_HOSTNAME).port(RDS_INSTANCE_PORT).userName(DB_USER).build());
    }

    /**
     * This method sets the SSL properties which specify the key store file, its type and password:
     * @throws Exception
     */
    private static void setSslProperties() throws Exception {
        System.setProperty("javax.net.ssl.trustStore", createKeyStoreFile());
        System.setProperty("javax.net.ssl.trustStoreType", KEY_STORE_TYPE);
        System.setProperty("javax.net.ssl.trustStorePassword", DEFAULT_KEY_STORE_PASSWORD);
    }

    /**
     * This method returns the path of the Key Store File needed for the SSL verification during the IAM Database Authentication to
     * the db instance.
     * @return
     * @throws Exception
     */
    private static String createKeyStoreFile() throws Exception {
        return createKeyStoreFile(createCertificate()).getPath();
    }

    /**
     *  This method generates the SSL certificate
     * @return
     * @throws Exception
     */
    private static X509Certificate createCertificate() throws Exception {
        CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
        URL url = new File(SSL_CERTIFICATE).toURI().toURL();
        if (url == null) {
            throw new Exception();
        }
        try (InputStream certInputStream = url.openStream()) {
            return (X509Certificate) certFactory.generateCertificate(certInputStream);
        }
    }

    /**
     * This method creates the Key Store File
     * @param rootX509Certificate - the SSL certificate to be stored in the KeyStore
     * @return
     * @throws Exception
     */
    private static File createKeyStoreFile(X509Certificate rootX509Certificate) throws Exception {
        File keyStoreFile = File.createTempFile(KEY_STORE_FILE_PREFIX, KEY_STORE_FILE_SUFFIX);
        try (FileOutputStream fos = new FileOutputStream(keyStoreFile.getPath())) {
            KeyStore ks = KeyStore.getInstance(KEY_STORE_TYPE, KEY_STORE_PROVIDER);
            ks.load(null);
            ks.setCertificateEntry("rootCaCertificate", rootX509Certificate);
            ks.store(fos, DEFAULT_KEY_STORE_PASSWORD.toCharArray());
        }
        return keyStoreFile;
    }
    
    /**
     * This method clears the SSL properties.
     * @throws Exception
     */
    private static void clearSslProperties() throws Exception {
           System.clearProperty("javax.net.ssl.trustStore");
           System.clearProperty("javax.net.ssl.trustStoreType");
           System.clearProperty("javax.net.ssl.trustStorePassword"); 
    }
    
}
```

Jika Anda ingin terhubung ke instans DB melalui proksi, lihat [Menghubungkan ke database menggunakan otentikasi IAM](rds-proxy-connecting.md#rds-proxy-connecting-iam).

# Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dan AWS SDK untuk Python (Boto3)
<a name="UsingWithRDS.IAMDBAuth.Connecting.Python"></a>

Anda dapat terhubung ke RDS untuk MariaDB, MySQL, atau PostgreSQL DB PostgreSQL DB cluster dengan seperti yang dijelaskan berikut. AWS SDK untuk Python (Boto3) 

**Prasyarat**  
Berikut adalah prasyarat untuk menghubungkan ke instans DB menggunakan autentikasi IAM:
+ [Mengaktifkan dan menonaktifkan autentikasi basis data IAM](UsingWithRDS.IAMDBAuth.Enabling.md)
+ [Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md)
+ [Membuat akun basis data menggunakan autentikasi IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md)

Selain itu, pastikan pustaka yang diimpor dalam kode sampel ada di sistem Anda.

**Contoh**  
Contoh kode ini menggunakan profil untuk kredensial bersama. Untuk informasi tentang kredensi yang menentukan, lihat [Kredensial](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html) dalam dokumentasi. AWS SDK untuk Python (Boto3) 

Contoh kode berikut ini menunjukkan cara membuat token autentikasi, lalu menggunakannya untuk menghubungkan ke instans DB. 

Untuk menjalankan contoh kode ini, Anda memerlukan [AWS SDK untuk Python (Boto3)](https://aws.amazon.com/sdk-for-python/), ditemukan di AWS situs.

Ubah nilai variabel berikut sesuai kebutuhan:
+ `ENDPOINT` – Titik akhir instans DB yang ingin Anda akses
+ `PORT` – Nomor port yang digunakan untuk menghubungkan ke instans DB Anda
+ `USER` – Akun basis data yang ingin Anda akses
+ `REGION`— AWS Wilayah tempat instans DB berjalan
+ `DBNAME` – Basis data yang ingin Anda akses
+ `SSLCERTIFICATE` – Jalur lengkap ke sertifikat SSL untuk Amazon RDS

  Untuk `ssl_ca`, tentukan sertifikat SSL. Untuk mengunduh sertifikat SSL, lihat [](UsingWithRDS.SSL.md).

**catatan**  
Anda tidak dapat menggunakan data DNS Route 53 kustom sebagai pengganti titik akhir instans DB untuk menghasilkan token autentikasi.

Kode ini terhubung ke instans DB MariaDB MySQL.

Sebelum menjalankan kode ini, instal driver PyMy SQL dengan mengikuti instruksi dalam Indeks [Paket Python](https://pypi.org/project/PyMySQL/).

```
import pymysql
import sys
import boto3
import os

ENDPOINT="mysqldb.123456789012.us-east-1.rds.amazonaws.com"
PORT="3306"
USER="jane_doe"
REGION="us-east-1"
DBNAME="mydb"
os.environ['LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN'] = '1'

#gets the credentials from .aws/credentials
session = boto3.Session(profile_name='default')
client = session.client('rds')

token = client.generate_db_auth_token(DBHostname=ENDPOINT, Port=PORT, DBUsername=USER, Region=REGION)

try:
    conn =  pymysql.connect(auth_plugin_map={'mysql_clear_password':None},host=ENDPOINT, user=USER, password=token, port=PORT, database=DBNAME, ssl_ca='SSLCERTIFICATE', ssl_verify_identity=True, ssl_verify_cert=True)
    cur = conn.cursor()
    cur.execute("""SELECT now()""")
    query_results = cur.fetchall()
    print(query_results)
except Exception as e:
    print("Database connection failed due to {}".format(e))
```

Kode ini terhubung ke instans DB PostgreSQL.

Sebelum menjalankan kode ini, instal `psycopg2` dengan mengikuti petunjuk dalam [dokumentasi Psycopg](https://pypi.org/project/psycopg2/).

```
import psycopg2
import sys
import boto3
import os

ENDPOINT="postgresmydb.123456789012.us-east-1.rds.amazonaws.com"
PORT="5432"
USER="jane_doe"
REGION="us-east-1"
DBNAME="mydb"

#gets the credentials from .aws/credentials
session = boto3.Session(profile_name='RDSCreds')
client = session.client('rds')

token = client.generate_db_auth_token(DBHostname=ENDPOINT, Port=PORT, DBUsername=USER, Region=REGION)

try:
    conn = psycopg2.connect(host=ENDPOINT, port=PORT, database=DBNAME, user=USER, password=token, sslrootcert="SSLCERTIFICATE")
    cur = conn.cursor()
    cur.execute("""SELECT now()""")
    query_results = cur.fetchall()
    print(query_results)
except Exception as e:
    print("Database connection failed due to {}".format(e))
```

Jika Anda ingin terhubung ke instans DB melalui proksi, lihat [Menghubungkan ke database menggunakan otentikasi IAM](rds-proxy-connecting.md#rds-proxy-connecting-iam).

# Pemecahan masalah untuk otentikasi IAM DB
<a name="UsingWithRDS.IAMDBAuth.Troubleshooting"></a>

Berikut ini, Anda dapat menemukan ide pemecahan masalah untuk beberapa masalah otentikasi IAM DB umum dan informasi tentang CloudWatch log dan metrik untuk otentikasi IAM DB.

## Mengekspor log kesalahan otentikasi IAM DB ke Log CloudWatch
<a name="UsingWithRDS.IAMDBAuth.Troubleshooting.ErrorLogs"></a>

Log kesalahan otentikasi IAM DB disimpan di host database, dan Anda dapat mengekspor log ini ke akun CloudWatch Log Anda. Gunakan log dan metode remediasi di halaman ini untuk memecahkan masalah autentikasi IAM DB.

Anda dapat mengaktifkan ekspor log ke CloudWatch Log dari konsol AWS CLI, dan RDS API. Untuk petunjuk konsol, lihat[Menerbitkan log database ke Amazon CloudWatch Logs](USER_LogAccess.Procedural.UploadtoCloudWatch.md).

Untuk mengekspor log kesalahan autentikasi IAM DB Anda ke CloudWatch Log saat membuat dari AWS CLI, gunakan perintah berikut:

```
aws rds create-db-instance --db-instance-identifier mydbinstance \
--region us-east-1 \
--db-instance-class db.t3.large \
--allocated-storage 50 \
--engine postgres \
--engine-version 16 \
--port 5432 \
--master-username master \
--master-user-password password \
--publicly-accessible \
--enable-iam-database-authentication \
--enable-cloudwatch-logs-exports=iam-db-auth-error
```

Untuk mengekspor log kesalahan autentikasi IAM DB Anda ke CloudWatch Log saat memodifikasi dari AWS CLI, gunakan perintah berikut:

```
aws rds modify-db-instance --db-instance-identifier mydbinstance \
--region us-east-1 \
--cloudwatch-logs-export-configuration '{"EnableLogTypes":["iam-db-auth-error"]}'
```

Untuk memverifikasi apakah Anda mengekspor log otentikasi IAM DB ke CloudWatch Log, periksa apakah `EnabledCloudwatchLogsExports` parameter diatur ke `iam-db-auth-error` dalam output untuk perintah tersebut. `describe-db-instances`

```
aws rds describe-db-instances --region us-east-1 --db-instance-identifier mydbinstance
            ...
            
             "EnabledCloudwatchLogsExports": [
                "iam-db-auth-error"
            ],
            ...
```

## Metrik otentikasi CloudWatch IAM DB
<a name="UsingWithRDS.IAMDBAuth.Troubleshooting.CWMetrics"></a>

Amazon RDS Aurora memberikan metrik waktu nyaris nyata tentang autentikasi IAM DB ke akun Amazon Anda. CloudWatch Tabel berikut mencantumkan metrik autentikasi IAM DB yang tersedia menggunakan: CloudWatch


| Metrik | Deskripsi | 
| --- | --- | 
|  `IamDbAuthConnectionRequests`  |  Jumlah total permintaan koneksi yang dibuat dengan otentikasi IAM DB.  | 
|  `IamDbAuthConnectionSuccess`  |  Jumlah total permintaan otentikasi IAM DB yang berhasil.  | 
|  `IamDbAuthConnectionFailure`  |  Jumlah total permintaan otentikasi IAM DB yang gagal.  | 
|  `IamDbAuthConnectionFailureInvalidToken`  | Jumlah total permintaan otentikasi IAM DB yang gagal karena token tidak valid. | 
|  `IamDbAuthConnectionFailureInsufficientPermissions`  |  Jumlah total permintaan otentikasi IAM DB yang gagal karena kebijakan atau izin yang salah.  | 
|  `IamDbAuthConnectionFailureThrottling`  |  Jumlah total permintaan otentikasi IAM DB yang gagal karena pelambatan otentikasi IAM DB.  | 
|  `IamDbAuthConnectionFailureServerError`  |  Jumlah total permintaan otentikasi IAM DB yang gagal karena kesalahan server internal dalam fitur otentikasi IAM DB.  | 

## Masalah dan solusi umum
<a name="UsingWithRDS.IAMDBAuth.Troubleshooting.IssuesSolutions"></a>

 Anda mungkin mengalami masalah berikut saat menggunakan keaslian IAM DB. Gunakan langkah-langkah remediasi dalam tabel untuk menyelesaikan masalah:


| Kesalahan | Metrik | Penyebab | Solusi | 
| --- | --- | --- | --- | 
|  `[ERROR] Failed to authenticate the connection request for user db_user because the provided token is malformed or otherwise invalid. (Status Code: 400, Error Code: InvalidToken)`  |  `IamDbAuthConnectionFailure` `IamDbAuthConnectionFailureInvalidToken`  |  Token autentiasi IAM DB dalam permintaan koneksi bukan token Sigv4a yang valid, atau tidak diformat dengan benar.  |  Periksa strategi pembuatan token Anda di aplikasi Anda. Dalam beberapa kasus, pastikan Anda meneruskan token dengan format yang valid. Memangkas token (atau pemformatan string yang salah) akan membuat token tidak valid.   | 
|  `[ERROR] Failed to authenticate the connection request for user db_user because the token age is longer than 15 minutes. (Status Code: 400, Error Code:ExpiredToken)`  |  `IamDbAuthConnectionFailure` `IamDbAuthConnectionFailureInvalidToken`  |  Token otentikasi IAM DB telah kedaluwarsa. Token hanya berlaku selama 15 menit.  |  Periksa logika penggunaan kembali token caching and/or token Anda di aplikasi Anda. Anda tidak boleh menggunakan kembali token yang lebih tua dari 15 menit.  | 
|  `[ERROR] Failed to authorize the connection request for user db_user because the IAM policy assumed by the caller 'arn:aws:sts::123456789012:assumed-role/ <RoleName>/ <RoleSession>' is not authorized to perform `rds-db:connect` on the DB instance. (Status Code: 403, Error Code:NotAuthorized)`  |  `IamDbAuthConnectionFailure` `IamDbAuthConnectionFailureInsufficientPermissions`  |  Kesalahan ini mungkin terjadi karena alasan berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.Troubleshooting.html)  |  Verifikasi bahwa and/or kebijakan peran IAM yang Anda asumsikan dalam aplikasi Anda. Pastikan Anda mengasumsikan kebijakan yang sama untuk menghasilkan token untuk terhubung ke DB.   | 
|  `[ERROR] Failed to authorize the connection request for user db_user due to IAM DB authentication throttling. (Status Code: 429, Error Code: ThrottlingException)`  |  `IamDbAuthConnectionFailure` `IamDbAuthConnectionFailureThrottling`  | Anda membuat terlalu banyak permintaan koneksi ke DB Anda dalam waktu singkat. Batas pelambatan otentikasi IAM DB adalah 200 koneksi per detik. |  Kurangi tingkat membangun koneksi baru dengan otentikasi IAM. Pertimbangkan untuk menerapkan penyatuan koneksi menggunakan RDS Proxy untuk menggunakan kembali koneksi yang sudah ada di aplikasi Anda.  | 
|  `[ERROR] Failed to authorize the connection request for user db_user due to an internal IAM DB authentication error. (Status Code: 500, Error Code: InternalError)`  |  `IamDbAuthConnectionFailure` `IamDbAuthConnectionFailureThrottling` |  Ada kesalahan internal saat mengotorisasi koneksi DB dengan otentikasi IAM DB.  |  Jangkau https://aws.amazon.com/premiumsupport/ untuk menyelidiki masalah ini.  | 

# Memecahkan masalah identitas dan akses Amazon RDS
<a name="security_iam_troubleshoot"></a>

Gunakan informasi berikut untuk membantu Anda mendiagnosis dan memperbaiki masalah umum yang mungkin Anda hadapi saat bekerja dengan Amazon RDS dan IAM.

**Topics**
+ [

## Saya tidak diberi otorisasi untuk melakukan tindakan di Amazon RDS
](#security_iam_troubleshoot-no-permissions)
+ [

## Saya tidak berwenang untuk melakukan iam: PassRole
](#security_iam_troubleshoot-passrole)
+ [

## Saya ingin mengizinkan orang di luar AWS akun saya untuk mengakses sumber daya Amazon RDS saya
](#security_iam_troubleshoot-cross-account-access)

## Saya tidak diberi otorisasi untuk melakukan tindakan di Amazon RDS
<a name="security_iam_troubleshoot-no-permissions"></a>

Jika Konsol Manajemen AWS memberitahu Anda bahwa Anda tidak berwenang untuk melakukan tindakan, maka Anda harus menghubungi administrator Anda untuk bantuan. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

Contoh kesalahan berikut terjadi ketika `mateojackson` pengguna mencoba menggunakan konsol untuk melihat detail tentang *widget* tetapi tidak memiliki `rds:GetWidget` izin.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: rds:GetWidget on resource: my-example-widget
```

Dalam hal ini, Mateo meminta administratornya untuk memperbarui kebijakannya untuk mengizinkan dia mengakses sumber daya `my-example-widget` menggunakan tindakan `rds:GetWidget`.

## Saya tidak berwenang untuk melakukan iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Jika Anda menerima kesalahan bahwa Anda tidak diberi otorisasi untuk melakukan tindakan `iam:PassRole`, Anda harus menghubungi administrator untuk mendapatkan bantuan. Administrator Anda adalah orang yang memberi Anda kredensial masuk. Minta orang tersebut untuk memperbarui kebijakan Anda agar Anda dapat meneruskan peran ke Amazon RDS.

Beberapa AWS layanan memungkinkan Anda untuk meneruskan peran yang ada ke layanan tersebut, alih-alih membuat peran layanan baru atau peran terkait layanan. Untuk melakukannya, Anda harus memiliki izin untuk meneruskan peran ke layanan.

Contoh kesalahan berikut terjadi saat pengguna bernama `marymajor` mencoba menggunakan konsol untuk melakukan tindakan di Amazon RDS. Namun, tindakan ini mengharuskan layanan memiliki izin yang diberikan oleh peran layanan. Mary tidak memiliki izin untuk meneruskan peran tersebut ke layanan.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dalam kasus ini, Mary meminta administrator untuk memperbarui kebijakannya agar dia dapat melakukan tindakan `iam:PassRole`.

## Saya ingin mengizinkan orang di luar AWS akun saya untuk mengakses sumber daya Amazon RDS saya
<a name="security_iam_troubleshoot-cross-account-access"></a>

Anda dapat membuat peran yang dapat digunakan pengguna di akun lain atau orang-orang di luar organisasi Anda untuk mengakses sumber daya Anda. Anda dapat menentukan siapa saja yang dipercaya untuk mengambil peran tersebut. Untuk layanan yang mendukung kebijakan berbasis sumber daya atau daftar kontrol akses (ACLs), Anda dapat menggunakan kebijakan tersebut untuk memberi orang akses ke sumber daya Anda.

Untuk mempelajari selengkapnya, periksa hal berikut:
+ Untuk mempelajari apakah Amazon RDS mendukung fitur ini, lihat [Cara kerja Amazon RDS dengan IAM](security_iam_service-with-iam.md).
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda di seluruh AWS akun yang Anda miliki, lihat [Menyediakan akses ke pengguna IAM di AWS akun lain yang Anda miliki](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) di *Panduan Pengguna IAM*.
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda ke AWS akun pihak ketiga, lihat [Menyediakan akses ke AWS akun yang dimiliki oleh pihak ketiga](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) di *Panduan Pengguna IAM*.
+ Untuk mempelajari cara memberikan akses melalui federasi identitas, lihat [Menyediakan akses ke pengguna terautentikasi eksternal (federasi identitas)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dalam *Panduan Pengguna IAM*.
+ Untuk mempelajari perbedaan antara penggunaan kebijakan peran dan kebijakan berbasis sumber daya untuk akses lintas akun, lihat [Bagaimana peran IAM berbeda dari kebijakan berbasis sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html) dalam *Panduan Pengguna IAM*.

# Pencatatan dan pemantauan di Amazon RDS
<a name="Overview.LoggingAndMonitoring"></a>

Pemantauan adalah bagian penting dalam menjaga keandalan, ketersediaan, dan kinerja Amazon RDS  Aurora dan AWS solusi Anda. Anda harus mengumpulkan data pemantauan dari semua bagian AWS solusi Anda sehingga Anda dapat lebih mudah men-debug kegagalan multi-titik jika terjadi. AWS menyediakan beberapa alat untuk memantau sumber daya Amazon RDS Aurora Anda dan menanggapi potensi insiden:

** CloudWatch Alarm Amazon**  
Menggunakan CloudWatch alarm Amazon, Anda menonton satu metrik selama periode waktu yang Anda tentukan. Jika metrik melebihi ambang batas tertentu, pemberitahuan akan dikirim ke topik atau AWS Auto Scaling kebijakan Amazon SNS. CloudWatch alarm tidak memanggil tindakan karena mereka berada dalam keadaan tertentu. Sebaliknya, status harus diubah dan dipelihara selama jangka waktu tertentu.

**AWS CloudTrail Log**  
CloudTrail menyediakan catatan tindakan yang diambil oleh pengguna, peran, atau AWS layanan di Amazon RDS  Aurora. CloudTrail menangkap semua panggilan API untuk Amazon RDS Amazon sebagai peristiwa, termasuk panggilan dari konsol dan dari panggilan kode ke operasi Amazon RDS API. Dengan menggunakan informasi yang dikumpulkan oleh CloudTrail, Anda dapat menentukan permintaan yang dibuat untuk Amazon RDS Aurora, alamat IP dari mana permintaan dibuat, siapa yang membuat permintaan, kapan dibuat, dan detail tambahan. Untuk informasi selengkapnya, lihat [Memantau API AWS CloudTrail](logging-using-cloudtrail.md).

**Pemantauan yang Ditingkatkan**  
 Amazon RDS Aurora menyediakan metrik secara real time untuk sistem operasi (OS) tempat cluster DB Anda berjalan. Anda dapat melihat metrik untuk instans DB menggunakan konsol, atau menggunakan output JSON Pemantauan yang Ditingkatkan dari Amazon CloudWatch Logs dalam sistem pemantauan pilihan Anda. Untuk informasi selengkapnya, lihat [Memantau metrik OS dengan Pemantauan yang Ditingkatkan](USER_Monitoring.OS.md).

**Wawasan Performa Amazon RDS**  
Performance Insights memperluas fitur pemantauan Amazon  RDS yang ada untuk menggambarkan kinerja database Anda dan membantu Anda menganalisis masalah apa pun yang mempengaruhinya. Dengan dasbor Wawasan Performa, Anda dapat memvisualisasikan beban basis data dan memfilter beban berdasarkan waktu tunggu, pernyataan SQL, host, atau pengguna. Untuk informasi selengkapnya, lihat [Memantau muatan DB dengan Wawasan Performa di Amazon RDS](USER_PerfInsights.md).

**Log Basis Data**  
Anda dapat melihat, mengunduh, dan menonton log database menggunakan Konsol Manajemen AWS, AWS CLI, atau RDS API. Untuk informasi selengkapnya, lihat [Memantau file RDS Amazon](USER_LogAccess.md).

** Rekomendasi Amazon RDS Aurora**  
 Amazon RDS Aurora memberikan rekomendasi otomatis untuk sumber daya basis data. Rekomendasi ini memberikan panduan praktik terbaik dengan menganalisis konfigurasi instans DB, penggunaan, dan data kinerja. Untuk informasi selengkapnya, lihat [Rekomendasi dari RDS](monitoring-recommendations.md).

** Pemberitahuan Acara Amazon RDS Aurora**  
 Amazon RDS Pemberitahuan ini dapat dalam bentuk pemberitahuan apa pun yang didukung oleh Amazon SNS untuk suatu AWS Wilayah, seperti email, pesan teks, atau panggilan ke titik akhir HTTP. Untuk informasi selengkapnya, lihat [Bekerja dengan pemberitahuan RDS acara Amazon](USER_Events.md).

**AWS Trusted Advisor**  
Trusted Advisor mengacu pada praktik terbaik yang dipelajari dari melayani ratusan ribu AWS pelanggan. Trusted Advisor memeriksa AWS lingkungan Anda dan kemudian membuat rekomendasi ketika ada peluang untuk menghemat uang, meningkatkan ketersediaan dan kinerja sistem, atau membantu menutup kesenjangan keamanan. Semua AWS pelanggan memiliki akses ke lima Trusted Advisor cek. Pelanggan dengan paket dukungan Bisnis atau Perusahaan dapat melihat semua Trusted Advisor pemeriksaan.   
Trusted Advisor memiliki pemeriksaan terkait Amazon RDS Aurora berikut:  
+  Amazon RDS Aurora Instans DB Menganggur
+  Amazon RDS Aurora Security Group Risiko Akses
+  Cadangan Amazon RDS Aurora
+  Amazon RDS Aurora Multi-AZ
Untuk informasi selengkapnya tentang pemeriksaan ini, lihat [Praktik terbaik Trusted Advisor (pemeriksaan)](https://aws.amazon.com/premiumsupport/trustedadvisor/best-practices/). 

Untuk informasi selengkapnya tentang pemantauan Amazon RDS Aurora, lihat. [Memantau metrik dalam instans Amazon RDS](CHAP_Monitoring.md)

# Validasi kepatuhan untuk Amazon RDS
<a name="RDS-compliance"></a>

Auditor pihak ketiga menilai keamanan dan kepatuhan Amazon RDS sebagai bagian dari beberapa program kepatuhan AWS. Program ini mencakup SOC, PCI, FedRAMP, HIPAA, dan lainnya. 

Untuk daftar AWS layanan dalam lingkup program kepatuhan tertentu, lihat [AWSlayanan dalam lingkup oleh program kepatuhan](https://aws.amazon.com/compliance/services-in-scope/). Untuk informasi umum, lihat [Program kepatuhan AWS](https://aws.amazon.com/compliance/programs/).

Anda dapat mengunduh laporan audit pihak ketiga menggunakanAWS Artifact. Untuk informasi selengkapnya, lihat [Mengunduh laporan di AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html). 

Tanggung jawab kepatuhan Anda saat menggunakan Amazon RDS Aurora ditentukan oleh sensitivitas data Anda, tujuan kepatuhan organisasi Anda, serta hukum dan peraturan yang berlaku. AWSmenyediakan sumber daya berikut untuk membantu kepatuhan: 
+ [Panduan memulai cepat keamanan dan kepatuhan — Panduan](https://aws.amazon.com/quickstart/?awsf.quickstart-homepage-filter=categories%23security-identity-compliance) penerapan ini membahas pertimbangan arsitektur dan memberikan langkah-langkah untuk menerapkan lingkungan dasar yang berfokus pada keamanan dan kepatuhan. AWS
+ [Arsitektur untuk Keamanan dan Kepatuhan HIPAA di Amazon Web Services](https://docs.aws.amazon.com/pdfs/whitepapers/latest/architecting-hipaa-security-and-compliance-on-aws/architecting-hipaa-security-and-compliance-on-aws.pdf) — Whitepaper ini menjelaskan bagaimana perusahaan dapat menggunakan AWS untuk membuat aplikasi yang sesuai dengan HIPAA.
+ [AWSsumber daya kepatuhan](https://aws.amazon.com/compliance/resources/) - Kumpulan buku kerja dan panduan ini yang mungkin berlaku untuk industri dan lokasi Anda.
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)AWSLayanan ini menilai seberapa baik konfigurasi sumber daya Anda mematuhi praktik internal, pedoman industri, dan peraturan.
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)— Ini Layanan AWS memberikan pandangan komprehensif tentang keadaan keamanan Anda di dalamnyaAWS. Security Hub CSPM menggunakan kontrol keamanan untuk mengevaluasi AWS sumber daya Anda dan untuk memeriksa kepatuhan Anda terhadap standar industri keamanan dan praktik terbaik. Untuk mengetahui daftar layanan dan kontrol yang didukung, lihat Referensi kontrol [CSPM Security Hub](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-controls-reference.html).

# Ketangguhan di Amazon RDS
<a name="disaster-recovery-resiliency"></a>

Infrastruktur global AWS dibangun di seputar Kawasan dan Zona Ketersediaan AWS. AWS Kawasan menyediakan beberapa Zona Ketersediaan yang terpisah dan terisolasi secara fisik, yang tersambung dengan jejaring jaringan latensi rendah, throughput tinggi, dan sangat redundan. Dengan Zona Ketersediaan, Anda dapat merancang dan mengoperasikan aplikasi dan basis data yang melakukan secara otomatis pinda saat gagal/failover di antara zona-zona tanpa terputus. Zona Ketersediaan lebih sangat tersedia, lebih toleran kesalahan, dan lebih dapat diskalakan daripadai infrastruktur pusat data tunggal atau multi tradisional. 

Lihat informasi yang lebih lengkap tentang Kawasan dan Zona Ketersediaan AWSdi [infrastruktur global AWS](https://aws.amazon.com/about-aws/global-infrastructure/).

Selain infrastruktur global AWS, Amazon RDS menawarkan beberapa fitur untuk membantu mendukung kebutuhan ketangguhan dan pencadangan data Anda.

## Pencadangan dan pemulihan
<a name="disaster-recovery-resiliency.backup-restore"></a>

Amazon RDS membuat dan menyimpan cadangan otomatis instans basis data Anda. Amazon RDS membuat cuplikan volume penyimpanan instans basis data Anda, sehingga mencadangkan seluruh instans basis data dan bukan hanya masing-masing basis data.

Amazon RDS membuat cadangan otomatis instans basis data Anda selama jendela pencadangan instans basis data itu. Amazon RDS menyimpan cadangan otomatis instans basis data Anda sesuai dengan periode retensi cadangan yang Anda tentukan. Jika perlu, Anda dapat memulihkan basis data Anda ke sebarang titik waktu selama periode retensi cadangan. Anda juga dapat mencadangkan instans basis data Anda secara manual, dengan membuat secara manual sebuah cuplikan basis data.

Anda dapat membuat instans basis data dengan memulihkan dari cuplikan basis data ini sebagai solusi pemulihan bencana jika instans basis data sumber gagal.

Lihat informasi yang lebih lengkap di [Mencadangkan, memulihkan, dan mengekspor data](CHAP_CommonTasks.BackupRestore.md).

## Replikasi
<a name="disaster-recovery-resiliency.replication"></a>

Amazon RDS menggunakan fungsionalitas replikasi bawaan mesin basis data MariaDB, MySQL, Oracle, dan PostgreSQL untuk membuat jenis khusus instans basis data yang disebut dengan replika baca dari instans basis data sumber. Pembaruan yang dibuat terhadap instans basis data sumber disalin secara asinkron ke replika baca. Anda dapat mengurangi beban pada instans basis data sumber dengan mengarahkan kueri baca dari aplikasi Anda ke replika baca. Dengan replika baca, Anda dapat menskalakan ke luar dengan lentur melebihi batas kapasitas instans basis data tunggal untuk beban kerja basis data yang intensif baca. Anda dapat mempromosikan replika baca menjadi instans mandiri sebagai solusi pemulihan bencana jika instans basis data sumber gagal. Untuk beberapa mesin basis data, Amazon RDS juga mendukung opsi-opsi replikasi lain.

Lihat informasi yang lebih lengkap di [Menggunakan replika baca instans DB](USER_ReadRepl.md).

## Pindah saat gagal/failover
<a name="disaster-recovery-resiliency.failover"></a>

Amazon RDS memberikan ketersediaan tinggi dan dukungan pindah saat gagal/failover untuk instans basis data dengan menggunakan deployment multi-AZ Multi-AZ. Amazon RDS menggunakan beberapa teknologi untuk memberikan dukungan pindah saat gagal/failover ini. Deployment Multi-AZ untuk instans basis data Oracle, PostgreSQL, MySQL, dan MariaDB menggunakan teknologi pindah saat gagal/failover Amazon. Instans basis data SQL Server menggunakan Database Mirroring (DBM) SQL Server.

Lihat informasi yang lebih lengkap di [Mengonfigurasi dan mengelola penyebaran Multi-AZ untuk Amazon RDS](Concepts.MultiAZ.md).

# Keamanan infrastruktur di Amazon RDS
<a name="infrastructure-security"></a>

Sebagai layanan terkelola, Amazon Relational Database Service dilindungi AWS oleh keamanan jaringan global. Untuk informasi tentang layanan AWS keamanan dan cara AWS melindungi infrastruktur, lihat [Keamanan AWS Cloud](https://aws.amazon.com/security/). Untuk mendesain AWS lingkungan Anda menggunakan praktik terbaik untuk keamanan infrastruktur, lihat [Perlindungan Infrastruktur dalam Kerangka Kerja](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) yang * AWS Diarsiteksikan dengan Baik Pilar Keamanan*.

Anda menggunakan panggilan API yang AWS dipublikasikan untuk mengakses Amazon RDS melalui jaringan. Klien harus mendukung hal-hal berikut:
+ Keamanan Lapisan Pengangkutan (TLS). Kami mensyaratkan TLS 1.2 dan menganjurkan TLS 1.3.
+ Sandi cocok dengan sistem kerahasiaan maju sempurna (perfect forward secrecy, PFS) seperti DHE (Ephemeral Diffie-Hellman) atau ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). Sebagian besar sistem modern seperti Java 7 dan versi lebih baru mendukung mode-mode ini.

Selain itu, Amazon RDS menawarkan fitur-fitur untuk membantu mendukung pemeliharaan infrastruktur keamanan.

## Grup keamanan
<a name="infrastructure-security.security-groups"></a>

Grup keamanan mengendalikan akses yang dimiliki oleh lalu lintas masuk dan keluar dari instans basis data. Secara default, akses jaringan ke instans basis data dinonaktifkan. Anda dapat menentukan aturan dalam grup keamanan yang memungkinkan akses dari rentang alamat IP, port, atau grup keamanan. Setelah aturan masuk dikonfigurasikan, aturan yang sama berlaku untuk semua instans basis data yang dikaitkan dengan grup keamanan itu.

Untuk informasi selengkapnya, lihat [Mengontrol akses dengan grup keamanan](Overview.RDSSecurityGroups.md).

## Aksesibilitas publik
<a name="infrastructure-security.publicly-accessible"></a>

Saat Anda meluncurkan instans basis data di dalam Cloud Privat Virtual (VPC) berbasis layanan Amazon VPC, Anda dapat mengaktifkan atau menonaktifkan akses publik untuk instans itu. Untuk menentukan apakah instans basis data yang Anda buat memiliki nama DNS yang terselesaikan ke alamat IP publik, Anda menggunakan parameter *Aksesibilitas publik*. Dengan menggunakan parameter ini, Anda dapat menetapkan apakah ada akses publik ke instans basis data. Anda dapat mengubah instans basis data untuk mengaktifkan atau menonaktifkan aksesibilitas publik dengan mengubah parameter *Aksesibilitas publik*.

Untuk informasi selengkapnya, lihat [Menyembunyikan instans DB dalam VPC dari internet](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Hiding).

**catatan**  
Jika instans DB Anda berada dalam VPC tetapi tidak dapat diakses publik, Anda juga dapat menggunakan koneksi AWS Site-to-Site VPN atau Direct Connect koneksi untuk mengaksesnya dari jaringan pribadi. Lihat informasi yang lebih lengkap di [Privasi lalu lintas antarjaringan](inter-network-traffic-privacy.md).

# API Amazon RDS dan titik akhir VPC antarmuka (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

Anda dapat membuat koneksi privat antara titik akhir VPC dan API Amazon RDS dengan membuat *titik akhir VPC antarmuka*. Titik akhir antarmuka didukung oleh [AWS PrivateLink](https://aws.amazon.com/privatelink). 

AWS PrivateLink memungkinkan Anda mengakses operasi Amazon RDS API secara pribadi tanpa gateway internet, perangkat NAT, koneksi VPN, atau koneksi. Direct Connect Instans DB dalam VPC Anda tidak memerlukan alamat IP publik untuk berkomunikasi dengan titik akhir API Amazon RDS untuk meluncurkan, memodifikasi, atau menghentikan instans DB . Instans DB Anda juga tidak memerlukan alamat IP publik untuk menggunakan salah satu dari operasi API RDS yang tersedia. Lalu lintas antara VPC Anda dan Amazon RDS tidak keluar dari jaringan Amazon. 

Setiap titik akhir antarmuka direpresentasikan oleh satu atau beberapa antarmuka jaringan elastis di subnet Anda. Untuk informasi selengkapnya tentang antarmuka jaringan elastis, lihat [Antarmuka jaringan elastis](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) dalam *Panduan Pengguna Amazon EC2*. 

*Untuk informasi selengkapnya tentang titik akhir VPC, lihat Titik akhir [VPC Antarmuka () di AWS PrivateLink Panduan](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html) Pengguna Amazon VPC.* Untuk informasi selengkapnya tentang operasi API RDS, lihat [Referensi API Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/).

Anda tidak memerlukan titik akhir VPC antarmuka untuk terhubung ke instans DB. Untuk informasi selengkapnya, lihat [Skenario untuk mengakses instans DB di VPC](USER_VPC.Scenarios.md).

## Pertimbangan untuk titik akhir VPC
<a name="vpc-endpoint-considerations"></a>

Sebelum Anda menyiapkan titik akhir VPC antarmuka untuk titik akhir API Amazon RDS, pastikan Anda meninjau [Properti dan batasan titik akhir antarmuka](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-interface-limitations) dalam *Panduan Pengguna Amazon VPC*. 

Semua operasi API RDS yang relevan dengan pengelolaan sumber daya Amazon RDS tersedia dari VPC Anda menggunakan AWS PrivateLink.

Kebijakan titik akhir VPC didukung untuk titik akhir API RDS. Secara default, akses penuh ke operasi API RDS diizinkan melalui titik akhir. Untuk informasi selengkapnya, lihat [Mengontrol akses ke layanan dengan titik akhir VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) dalam *Panduan Pengguna Amazon VPC*.

## Ketersediaan
<a name="rds-and-vpc-interface-endpoints-availability"></a>

Amazon RDS API saat ini mendukung titik akhir VPC di Wilayah berikut: AWS 
+ AS Timur (Ohio)
+ AS Timur (Virginia Utara)
+ AS Barat (California Utara)
+ AS Barat (Oregon)
+ Afrika (Cape Town)
+ Asia Pasifik (Hong Kong)
+ Asia Pasifik (Mumbai)
+ Asia Pasifik (Selandia Baru)
+ Asia Pasifik (Osaka)
+ Asia Pasifik (Seoul)
+ Asia Pasifik (Singapura)
+ Asia Pasifik (Sydney)
+ Asia Pasifik (Taipei)
+ Asia Pasifik (Thailand)
+ Asia Pasifik (Tokyo)
+ (Canada (Central)
+ Kanada Barat (Calgary)
+ China (Beijing)
+ Tiongkok (Ningxia)
+ Eropa (Frankfurt)
+ Europe (Zurich)
+ Eropa (Irlandia)
+ Eropa (London)
+ Eropa (Paris)
+ Eropa (Stockholm)
+ Eropa (Milan)
+ Israel (Tel Aviv)
+ Meksiko (Tengah)
+ Timur Tengah (Bahrain)
+ Amerika Selatan (Sao Paulo)
+ AWS GovCloud (AS-Timur)
+ AWS GovCloud (AS-Barat)

## Membuat titik akhir VPC antarmuka untuk API Amazon RDS
<a name="vpc-endpoint-create"></a>

Anda dapat membuat titik akhir VPC untuk Amazon RDS API menggunakan konsol VPC Amazon atau (). AWS Command Line Interface AWS CLI Untuk informasi selengkapnya, lihat [Membuat titik akhir antarmuka](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) dalam *Panduan Pengguna Amazon VPC*.

Buat titik akhir VPC untuk API Amazon RDS menggunakan nama layanan `com.amazonaws.region.rds`.

Tidak termasuk AWS Wilayah di Tiongkok, jika Anda mengaktifkan DNS pribadi untuk titik akhir, Anda dapat membuat permintaan API ke Amazon RDS dengan titik akhir VPC menggunakan nama DNS default untuk Wilayah, misalnya. AWS `rds.us-east-1.amazonaws.com` Untuk Wilayah Tiongkok (Beijing) dan Tiongkok (Ningxia AWS ), Anda dapat membuat permintaan API dengan titik akhir `rds-api---cn-north-1.amazonaws.com.rproxy.goskope.com.cn` VPC menggunakan dan, masing-masing. `rds-api---cn-northwest-1.amazonaws.com.rproxy.goskope.com.cn` 

Untuk informasi selengkapnya, lihat [Mengakses layanan melalui titik akhir antarmuka](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#access-service-though-endpoint) dalam *Panduan Pengguna Amazon VPC*.

## Membuat kebijakan titik akhir VPC untuk API Amazon RDS
<a name="vpc-endpoint-policy"></a>

Anda dapat menyisipkan kebijakan titik akhir ke titik akhir VPC yang mengontrol akses ke API Amazon RDS. Kebijakan titik akhir menentukan informasi berikut:
+ Prinsipal yang dapat melakukan tindakan.
+ Tindakan yang dapat dilakukan.
+ Sumber daya yang menjadi target tindakan.

Untuk informasi selengkapnya, lihat [Mengontrol akses ke layanan dengan titik akhir VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) dalam *Panduan Pengguna Amazon VPC*. 

**Contoh: Kebijakan titik akhir VPC untuk tindakan API Amazon RDS**  
Berikut ini adalah contoh kebijakan titik akhir untuk API Amazon RDS. Jika dilampirkan ke sebuah titik akhir, kebijakan ini memberikan akses ke tindakan API Amazon RDS untuk semua prinsipal di semua sumber daya.

```
{
   "Statement":[
      {
         "Principal":"*",
         "Effect":"Allow",
         "Action":[
            "rds:CreateDBInstance",
            "rds:ModifyDBInstance",
            "rds:CreateDBSnapshot"
         ],
         "Resource":"*"
      }
   ]
}
```

**Contoh: Kebijakan titik akhir VPC yang menolak semua akses dari akun tertentu AWS**  
Kebijakan titik akhir VPC berikut menolak `123456789012` semua akses AWS akun ke sumber daya menggunakan titik akhir. Kebijakan ini mengizinkan semua tindakan dari akun lainnya.

```
{
  "Statement": [
    {
      "Action": "*",
      "Effect": "Allow",
      "Resource": "*",
      "Principal": "*"
    },
    {
      "Action": "*",
      "Effect": "Deny",
      "Resource": "*",
      "Principal": { "AWS": [ "123456789012" ] }
     }
   ]
}
```

# Praktik terbaik keamanan untuk Amazon RDS Aurora
<a name="CHAP_BestPractices.Security"></a>

 Sumber daya tersebut termasuk instans DB, grup keamanan, dan grup parameter.  
+ Buat pengguna individual untuk setiap orang yang mengelola sumber daya Amazon RDS Aurora, termasuk Anda sendiri. 
+ Beri setiap pengguna set izin minimum yang diperlukan untuk melakukan tugas-tugasnya.
+ Gunakan grup IAM untuk mengelola izin secara efektif bagi beberapa pengguna.
+ Putar kredensial IAM Anda secara rutin.
+ Konfigurasikan AWS Secrets Manager untuk memutar rahasia Amazon RDS  Aurora secara otomatis. Untuk informasi selengkapnya, lihat [Memutar rahasia AWS Secrets Manager Anda](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) di *Panduan Pengguna AWS Secrets Manager *. Anda juga dapat mengambil kredensialnya dari AWS Secrets Manager pemrograman. Untuk informasi selengkapnya, lihat [Mengambil nilai rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_retrieve-secret.html) di *Panduan Pengguna AWS Secrets Manager *. 

Untuk informasi selengkapnya tentang keamanan Amazon RDS Aurora, lihat. [Keamanan di Amazon RDS Aurora](UsingWithRDS.md) Untuk informasi selengkapnya tentang IAM, lihat [AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/Welcome.html). Untuk informasi tentang praktik terbaik IAM, lihat [Praktik terbaik IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPractices.html). 

AWS Security Hub CSPM menggunakan kontrol keamanan untuk mengevaluasi konfigurasi sumber daya dan standar keamanan untuk membantu Anda mematuhi berbagai kerangka kerja kepatuhan. Untuk informasi selengkapnya tentang penggunaan CSPM Security Hub untuk mengevaluasi sumber daya RDS, lihat kontrol [Layanan Amazon Relational Database Service](https://docs.aws.amazon.com/securityhub/latest/userguide/rds-controls.html) di Panduan Pengguna. AWS Security Hub 

Anda dapat memantau penggunaan RDS yang berkaitan dengan praktik terbaik keamanan dengan menggunakan Security Hub CSPM. Untuk informasi lebih lanjut, lihat [Apa itu AWS Security Hub CSPM?](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html) . 

Gunakan Konsol Manajemen AWS, API AWS CLI, atau RDS untuk mengubah kata sandi untuk pengguna utama Anda. Jika Anda menggunakan alat lain, seperti klien SQL, untuk mengubah kata sandi pengguna utama, hak istimewa pengguna kemungkinan dapat terhapus secara tidak sengaja.

# Mengontrol akses dengan grup keamanan
<a name="Overview.RDSSecurityGroups"></a>

 Secara default, akses jaringan dimatikan untuk instans DB. Anda dapat menentukan aturan dalam grup keamanan yang mengizinkan akses dari rentang alamat IP, port, atau grup keamanan. Setelah aturan ingress dikonfigurasi, aturan yang sama berlaku untuk semua instans DB yang terkait dengan grup keamanan tersebut. Anda dapat menentukan hingga 20 aturan dalam satu grup keamanan.

## Ikhtisar grup keamanan VPC
<a name="Overview.RDSSecurityGroups.VPCSec"></a>

Setiap aturan grup keamanan VPC memungkinkan sumber tertentu untuk mengakses instans DB di VPC yang terkait dengan grup keamanan VPC tersebut. Sumbernya dapat berupa rentang alamat (misalnya, 203.0.113.0/24), atau grup keamanan VPC lain. Dengan menentukan grup keamanan VPC sebagai sumber, Anda mengizinkan lalu lintas masuk dari semua instans (biasanya server aplikasi) yang menggunakan grup keamanan VPC sumber. Grup keamanan VPC dapat memiliki aturan yang mengatur lalu lintas masuk dan keluar. Aturan lalu lintas keluar hanya berlaku jika instans DB bertindak sebagai klien. Misalnya, aturan lalu lintas keluar berlaku untuk instans DB Oracle dengan tautan basis data keluar. Anda harus menggunakan opsi [API Amazon EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.html) atau **Grup Keamanan** pada konsol VPC untuk membuat grup keamanan VPC. 

Saat membuat aturan untuk grup keamanan VPC yang mengizinkan akses ke VPC, Anda harus menentukan port untuk setiap rentang alamat yang diizinkan oleh aturan tersebut. Misalnya, jika Anda ingin mengaktifkan akses Secure Shell (SSH) untuk instans di VPC, buat aturan yang mengizinkan akses ke port 22 TCP untuk rentang alamat tertentu.

Anda dapat mengonfigurasi beberapa grup keamanan VPC yang mengizinkan akses ke port yang berbeda untuk instans yang berbeda di VPC Anda. Misalnya, Anda dapat membuat grup keamanan VPC yang memungkinkan akses ke port 80 TCP untuk server web di VPC Anda. 

Untuk informasi selengkapnya tentang grup keamanan VPC, lihat [Grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) di *Panduan Pengguna Amazon Virtual Private Cloud*. 

**catatan**  
Jika instans DB Anda berada dalam VPC tetapi tidak dapat diakses publik, Anda juga dapat menggunakan koneksi AWS Site-to-Site VPN atau Direct Connect koneksi untuk mengaksesnya dari jaringan pribadi. Untuk informasi selengkapnya, lihat [Privasi lalu lintas antarjaringan](inter-network-traffic-privacy.md).

## Skenario grup keamanan
<a name="Overview.RDSSecurityGroups.Scenarios"></a>

Penggunaan umum instans DB di VPC adalah untuk berbagi data dengan server aplikasi yang berjalan di instans Amazon EC2 di VPC yang sama, yang diakses oleh aplikasi klien di luar VPC. Untuk skenario ini, Anda menggunakan halaman RDS dan VPC pada Konsol Manajemen AWS atau operasi RDS dan EC2 API untuk membuat instans dan grup keamanan yang diperlukan: 

1. Buat grup keamanan VPC (misalnya, `sg-0123ec2example`) dan tentukan aturan masuk yang menggunakan alamat IP aplikasi klien sebagai sumber. Grup keamanan ini memungkinkan aplikasi klien Anda untuk terhubung ke instans EC2 dalam VPC yang menggunakan grup keamanan ini.

1. Buat instans EC2 untuk aplikasi dan tambahkan instans EC2 ke grup keamanan VPC (`sg-0123ec2example`) yang Anda buat pada langkah sebelumnya.

1. Buat grup keamanan VPC kedua (misalnya, `sg-6789rdsexample`) dan buat aturan baru dengan menentukan grup keamanan VPC yang Anda buat di langkah 1 (`sg-0123ec2example`) sebagai sumbernya.

1. Buat instans DB baru dan tambahkan instans DB ke grup keamanan VPC (`sg-6789rdsexample`) yang Anda buat di langkah sebelumnya. Saat Anda membuat instans DB, gunakan nomor port yang sama dengan yang ditentukan untuk aturan grup keamanan VPC (`sg-6789rdsexample`) yang Anda buat di langkah 3.

Diagram berikut menunjukkan skenario ini.

![\[instans DB dan instans EC2 dalam VPC\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/con-VPC-sec-grp.png)


Untuk petunjuk terperinci tentang mengonfigurasi VPC untuk skenario ini, lihat. [Tutorial: Buat VPC untuk digunakan dengan ) IPv4](CHAP_Tutorials.WebServerDB.CreateVPC.md) Untuk informasi selengkapnya tentang menggunakan VPC, lihat. [Amazon VPC dan RDSAmazon ](USER_VPC.md)

## Membuat grup keamanan VPC
<a name="Overview.RDSSecurityGroups.Create"></a>

Anda dapat membuat grup keamanan VPC untuk instans DB menggunakan konsol VPC. Untuk informasi tentang pembuatan grup keamanan, lihat [Memberikan akses ke instans DB di VPC Anda dengan membuat grup keamanan](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup) dan [Grup Keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) dalam *Panduan Pengguna Amazon Virtual Private Cloud*. 

## Mengaitkan grup keamanan dengan instans DB
<a name="Overview.RDSSecurityGroups.Associate"></a>

Anda dapat mengaitkan grup keamanan dengan instans DB menggunakan **Modify** di konsol RDS, `ModifyDBInstance` Amazon RDS API, atau perintah. `modify-db-instance` AWS CLI 

Contoh CLI berikut mengaitkan grup keamanan VPC tertentu dan menghapus grup keamanan DB dari instans DB

```
aws rds modify-db-instance --db-instance-identifier dbName --vpc-security-group-ids sg-ID
```

 Untuk informasi tentang memodifikasi instans DB, lihat[Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). Untuk pertimbangan grup keamanan saat memulihkan instans DB dari snapshot DB, lihat. [Pertimbangan grup keamanan](USER_RestoreFromSnapshot.md#USER_RestoreFromSnapshot.Security)

**catatan**  
Konsol RDS menampilkan nama aturan grup keamanan yang berbeda untuk basis data Anda jika nilai Port dikonfigurasi ke nilai non-default.

Untuk RDS untuk instans Oracle DB, grup keamanan tambahan dapat dikaitkan dengan mengisi pengaturan opsi grup keamanan untuk Oracle Enterprise Manager Database Express (OEM), Oracle Management Agent for Enterprise Manager Cloud Control (Agen OEM) dan opsi Oracle Secure Sockets Layer. Dalam hal ini, kedua grup keamanan yang terkait dengan instans DB dan pengaturan opsi berlaku untuk instans DB. Untuk informasi selengkapnya tentang grup opsi ini, lihat[Oracle Enterprise Manager](Oracle.Options.OEM.md),[Oracle Management Agent untuk Kontrol Cloud Enterprise Manager](Oracle.Options.OEMAgent.md), dan[Lapisan Soket Aman Oracle](Appendix.Oracle.Options.SSL.md).

# Hak akses akun pengguna master
<a name="UsingWithRDS.MasterAccounts"></a>

Saat Anda membuat instans DB baru, pengguna master default yang Anda gunakan mendapatkan hak istimewa tertentu untuk instans DB tersebut. Anda tidak dapat mengubah nama pengguna master setelah instans DB dibuat.

**penting**  
Kami sangat menyarankan agar Anda tidak menggunakan pengguna master secara langsung di aplikasi Anda. Sebagai gantinya, ikuti praktik terbaik menggunakan pengguna basis data yang dibuat dengan hak akses paling rendah yang diperlukan untuk aplikasi Anda.

**catatan**  
Jika Anda secara tidak sengaja menghapus izin untuk pengguna master, Anda dapat memulihkannya dengan memodifikasi instans DB dan menyetel kata sandi pengguna master baru. Untuk informasi selengkapnya tentang memodifikasi instans DB, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). 

Tabel berikut menunjukkan hak akses dan peran basis data yang diperoleh pengguna master untuk masing-masing mesin basis data. 


|  Mesin basis data  |  Hak akses sistem  |  Peran basis data  | 
| --- | --- | --- | 
|  RDS for Db2  |  Pengguna master ditetapkan ke grup `masterdba` dan menetapkan `master_user_role`.   `SYSMON`, `DBADM` dengan `DATAACCESS` DAN`ACCCESSCTRL`,`BINDADD`,`CONNECT`,`CREATETAB`,`CREATE_SECURE_OBJECT`,`EXPLAIN`,`IMPLICIT_SCHEMA`,`LOAD`,`SQLADM`, `WLMADM`   |   `DBA`,`DBA_RESTRICTED`, `DEVELOPER`,`ROLE_NULLID_PACKAGES`, `ROLE_PROCEDURES`,`ROLE_TABLESPACES`  Untuk informasi selengkapnya, lihat [Amazon RDS untuk peran default Db2](db2-default-roles.md).  | 
|  RDS for MariaDB  |   `SELECT`,`INSERT`,`UPDATE`,`DELETE`, `CREATE`,`DROP`,`RELOAD`, `PROCESS`,`REFERENCES`,`INDEX`, `ALTER`,`SHOW DATABASES`,`CREATE TEMPORARY TABLES`,`LOCK TABLES`, `EXECUTE`,`REPLICATION CLIENT`,`CREATE VIEW`,`SHOW VIEW`,`CREATE ROUTINE`, `ALTER ROUTINE`,`CREATE USER`, `EVENT`,`TRIGGER`,`REPLICATION SLAVE`  Dimulai dengan RDS untuk MariaDB versi 11.4, pengguna master juga mendapatkan hak istimewa. `SHOW CREATE ROUTINE`  |  —  | 
|  RDS untuk MySQL 8.0.36 dan lebih tinggi  |   `SELECT`,`INSERT`,`UPDATE`, `DELETE`,`CREATE`,`DROP`, `RELOAD`,`PROCESS`, `REFERENCES`,`INDEX`,`ALTER`, `SHOW DATABASES`,`CREATE TEMPORARY TABLES`,`LOCK TABLES`,`EXECUTE`, `REPLICATION SLAVE`,`REPLICATION CLIENT`, `CREATE VIEW`,`SHOW VIEW`,`CREATE ROUTINE`,`ALTER ROUTINE`,`CREATE USER`,`EVENT`,`TRIGGER`, `CREATE ROLE`,`DROP ROLE`, `APPLICATION_PASSWORD_ADMIN`, `ROLE_ADMIN`,`SET_USER_ID`, `XA_RECOVER_ADMIN`   |   `rds_superuser_role`  Untuk informasi lebih lanjut tentang`rds_superuser_role`, lihat[Model hak istimewa berbasis peran untuk My RDS SQL](Appendix.MySQL.CommonDBATasks.privilege-model.md).  | 
|  RDS untuk versi MySQL lebih rendah dari 8.0.36  |   `SELECT`,`INSERT`,`UPDATE`, `DELETE`,`CREATE`,`DROP`, `RELOAD`,`PROCESS`, `REFERENCES`,`INDEX`,`ALTER`, `SHOW DATABASES`,`CREATE TEMPORARY TABLES`,`LOCK TABLES`,`EXECUTE`, `REPLICATION CLIENT`,`CREATE VIEW`, `SHOW VIEW`,`CREATE ROUTINE`,`ALTER ROUTINE`,`CREATE USER`,`EVENT`, `TRIGGER`,`REPLICATION SLAVE`   |  —  | 
|  RDS for PostgreSQL  |   `CREATE ROLE`,`CREATE DB`, `PASSWORD VALID UNTIL INFINITY`,`CREATE EXTENSION`,`ALTER EXTENSION`,`DROP EXTENSION`,`CREATE TABLESPACE`,`ALTER <OBJECT> OWNER`,`CHECKPOINT`, `PG_CANCEL_BACKEND()`, `PG_TERMINATE_BACKEND()`,`SELECT PG_STAT_REPLICATION`,`EXECUTE PG_STAT_STATEMENTS_RESET()`,`OWN POSTGRES_FDW_HANDLER()`,`OWN POSTGRES_FDW_VALIDATOR()`,`OWN POSTGRES_FDW`, `EXECUTE PG_BUFFERCACHE_PAGES()`,`SELECT PG_BUFFERCACHE`   |   `RDS_SUPERUSER`  Untuk informasi selengkapnya tentang RDS\$1SUPERUSER, lihat. [Memahami peran dan izin PostgreSQL](Appendix.PostgreSQL.CommonDBATasks.Roles.md)   | 
|  RDS for Oracle  |   `ADMINISTER DATABASE TRIGGER`,`ALTER DATABASE LINK`,`ALTER PUBLIC DATABASE LINK`, `AUDIT SYSTEM`,`CHANGE NOTIFICATION`, `DROP ANY DIRECTORY`,`EXEMPT ACCESS POLICY`,`EXEMPT IDENTITY POLICY`,`EXEMPT REDACTION POLICY`,`FLASHBACK ANY TABLE`, `GRANT ANY OBJECT PRIVILEGE`,`RESTRICTED SESSION`,`SELECT ANY TABLE`,`UNLIMITED TABLESPACE`   |   `DBA`   `DBA`Peran ini dibebaskan dari hak istimewa berikut:  `ALTER DATABASE`,`ALTER SYSTEM`, `CREATE ANY DIRECTORY`,`CREATE EXTERNAL JOB`,`CREATE PLUGGABLE DATABASE`, `GRANT ANY PRIVILEGE`,`GRANT ANY ROLE`,`READ ANY FILE GROUP`    | 
|  Amazon RDS for Microsoft SQL Server  |   `ADMINISTER BULK OPERATIONS`,`ALTER ANY CONNECTION`,`ALTER ANY CREDENTIAL`, `ALTER ANY EVENT SESSION`,`ALTER ANY LINKED SERVER`,`ALTER ANY LOGIN`,`ALTER ANY SERVER AUDIT`,`ALTER ANY SERVER ROLE`, `ALTER SERVER STATE`,`ALTER TRACE`, `CONNECT SQL`,`CREATE ANY DATABASE`, `VIEW ANY DATABASE`,`VIEW ANY DEFINITION`,`VIEW SERVER STATE`,`ALTER ON ROLE SQLAgentOperatorRole`   |   `DB_OWNER`(peran tingkat database), (peran tingkat server), `PROCESSADMIN` (peran tingkat server), `SETUPADMIN` (peran tingkat database), (peran tingkat basis data), dan `SQLAgentUserRole` (peran tingkat database) `SQLAgentReaderRole` `SQLAgentOperatorRole`  | 

# Menggunakan peran terkait layanan untuk Amazon RDS
<a name="UsingWithRDS.IAM.ServiceLinkedRoles"></a>

Amazon RDS [ Aurora AWS Identity and Access Management menggunakan peran terkait layanan (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Peran yang terkait layanan adalah jenis peran IAM unik yang ditautkan langsung ke Amazon RDS. Peran terkait layanan telah ditentukan sebelumnya oleh Amazon RDS Amazon dan menyertakan semua izin yang diperlukan layanan untuk memanggil layanan lain atas nama Anda. AWS 

Peran terkait layanan memudahkan penggunaan Amazon RDS karena Anda tidak perlu menambahkan izin yang diperlukan secara manual. Amazon RDS menentukan izin peran terkait layanannya, dan kecuali jika ditentukan lain, hanya Amazon RDS yang dapat mengambil perannya. Izin yang ditentukan mencakup kebijakan kepercayaan dan kebijakan izin, serta bahwa kebijakan izin tidak dapat dilampirkan ke entitas IAM lainnya.

Anda dapat menghapus peran hanya setelah terlebih dahulu menghapus sumber daya terkaitnya. Cara ini akan melindungi sumber daya Amazon RDS karena Anda tidak dapat menghapus izin untuk mengakses sumber daya tersebut secara tidak sengaja.

Untuk informasi tentang layanan lain yang mendukung peran terkait layanan, lihat [Layanan AWS yang berfungsi dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) lalu cari layanan yang menampilkan **Ya** pada kolom **Peran Terkait Layanan**. Pilih **Ya** dengan sebuah tautan untuk melihat dokumentasi peran terkait layanan untuk layanan tersebut.

## Izin peran terkait layanan untuk Amazon RDS
<a name="service-linked-role-permissions"></a>

Amazon RDS 

Peran terkait layanan AWSService RoleFor RDS mempercayai layanan berikut untuk mengambil peran:
+ `rds.amazonaws.com`

Peran terkait layanan ini memiliki kebijakan izin yang menyertainya bernama `AmazonRDSServiceRolePolicy` yang memberikannya izin untuk beroperasi di akun Anda.

Untuk informasi selengkapnya tentang kebijakan ini, termasuk dokumen kebijakan JSON, lihat [Amazon RDSService RolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSServiceRolePolicy.html) di *Panduan Referensi Kebijakan AWS Terkelola*.

**catatan**  
Anda harus mengonfigurasi izin agar entitas IAM (seperti pengguna, grup, atau peran) dapat membuat, mengedit, atau menghapus peran terkait layanan. Jika Anda menemukan pesan kesalahan berikut:  
**Tidak dapat membuat sumber daya. Verifikasi bahwa Anda memiliki izin untuk membuat peran terkait layanan. Jika tidak, tunggu dan coba lagi nanti.**  
 Pastikan Anda telah mengaktifkan izin berikut:   

```
{
    "Action": "iam:CreateServiceLinkedRole",
    "Effect": "Allow",
    "Resource": "arn:aws:iam::*:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName":"rds.amazonaws.com"
        }
    }
}
```
 Untuk informasi selengkapnya, lihat [Izin peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dalam *Panduan Pengguna IAM*.

### Membuat peran terkait layanan untuk Amazon RDS
<a name="create-service-linked-role"></a>

Anda tidak perlu membuat peran terkait layanan secara manual. Saat Anda membuat instans DB, Amazon RDS membuat peran terkait layanan untuk Anda. 

**penting**  
Jika Anda menggunakan layanan Amazon RDS Aurora sebelum 1 Desember 2017, ketika mulai mendukung peran terkait layanan, maka Amazon RDS Amazon Aurora membuat peran RDS Anda. AWSService RoleFor Untuk mempelajari lebih lanjut, lihat [Peran baru muncul di AWS akun saya](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared).

Jika Anda menghapus peran terkait layanan ini, dan ingin membuatnya lagi, Anda dapat mengulangi proses yang sama untuk membuat kembali peran tersebut di akun Anda. Saat Anda membuat instans DB, Amazon RDS membuat peran terkait layanan untuk Anda.

### Mengedit peran terkait layanan untuk Amazon RDS
<a name="edit-service-linked-role"></a>

Amazon RDS Aurora tidak memungkinkan Anda mengedit AWSService RoleFor peran terkait layanan RDS. Setelah membuat peran terkait layanan, Anda tidak dapat mengubah nama peran karena berbagai entitas mungkin merujuk peran tersebut. Namun, Anda dapat mengedit penjelasan peran menggunakan IAM. Untuk informasi selengkapnya, lihat [Mengedit peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dalam *Panduan Pengguna IAM*.

### Menghapus peran terkait layanan untuk Amazon RDS
<a name="delete-service-linked-role"></a>

Jika Anda tidak perlu lagi menggunakan fitur atau layanan yang memerlukan peran terkait layanan, kami merekomendasikan Anda menghapus peran tersebut. Dengan begitu, Anda tidak memiliki entitas yang tidak digunakan yang tidak dipantau atau dipelihara secara aktif. Namun, Anda harus menghapus semua instans DB Anda sebelum Anda dapat menghapus peran terkait layanan.

#### Membersihkan peran terkait layanan
<a name="service-linked-role-review-before-delete"></a>

Sebelum dapat menggunakan IAM untuk menghapus peran tertaut layanan, Anda harus mengonfirmasi terlebih dahulu bahwa peran tersebut tidak memiliki sesi aktif dan menghapus sumber daya yang digunakan oleh peran tersebut.

**Untuk memeriksa apakah peran terkait layanan memiliki sesi aktif di konsol IAM**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi konsol IAM, pilih **Peran**. Kemudian pilih nama (bukan kotak centang) dari peran AWSService RoleFor RDS.

1. Pada halaman **Ringkasan** untuk peran yang dipilih, pilih tab **Terakhir Diakses**.

1. Pada tab **Terakhir Diakses**, tinjau aktivitas terbaru untuk peran terkait layanan.
**catatan**  
Jika Anda tidak yakin apakah Amazon RDS Aurora menggunakan peran RDS, Anda dapat mencoba menghapus peran AWSService RoleFor tersebut. Jika layanan ini menggunakan peran tersebut, peran tidak dapat dihapus dan Anda dapat melihat Wilayah AWS tempat peran tersebut digunakan. Jika peran tersebut sedang digunakan, Anda harus menunggu hingga sesi ini berakhir sebelum dapat menghapus peran tersebut. Anda tidak dapat mencabut sesi untuk peran terkait layanan. 



##### Menghapus semua instans
<a name="delete-service-linked-role.delete-rds-instances"></a>

Gunakan salah satu dari prosedur ini untuk menghapus setiap instans Anda.

**Untuk menghapus sebuah instans (konsol)**

1. Buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Basis data**.

1. Pilih instans yang ingin Anda hapus.

1. Untuk **Tindakan**, pilih **Hapus**.

1. Jika Anda diminta untuk **Buat Snapshot akhir?**, pilih **Ya** atau **Tidak**.

1. Jika Anda memilih **Ya** pada langkah sebelumnya, untuk **Nama snapshot akhir** masukkan nama snapshot akhir Anda.

1. Pilih **Hapus**.

**Untuk menghapus sebuah instans (CLI)**  
Lihat `[delete-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-instance.html)` dalam *Referensi Perintah AWS CLI *.

**Untuk menghapus sebuah instans (API)**  
Lihat `[DeleteDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBInstance.html)` dalam *Referensi API Amazon RDS*.

Anda dapat menggunakan konsol IAM, IAM CLI, atau IAM API untuk menghapus peran terkait layanan RDS. AWSService RoleFor Untuk informasi selengkapnya, lihat [Menghapus peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) dalam *Panduan Pengguna IAM*.

## Izin peran terkait layanan untuk Amazon RDS Custom
<a name="slr-permissions-custom"></a>

Amazon RDS Custom menggunakan peran terkait layanan yang diberi nama `AWSServiceRoleForRDSCustom` untuk memungkinkan RDS Custom memanggil AWS layanan atas nama sumber daya RDS DB Anda.

Peran AWSService RoleFor RDSCustom terkait layanan mempercayai layanan berikut untuk mengambil peran:
+ `custom.rds.amazonaws.com`

Peran terkait layanan ini memiliki kebijakan izin yang menyertainya bernama `AmazonRDSCustomServiceRolePolicy` yang memberikannya izin untuk beroperasi di akun Anda.

Membuat, mengedit, atau menghapus peran terkait layanan untuk RDS Custom berfungsi sama seperti untuk Amazon RDS. Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola: Amazon RDSCustom ServiceRolePolicy](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSCustomServiceRolePolicy).

**catatan**  
Anda harus mengonfigurasi izin agar entitas IAM (seperti pengguna, grup, atau peran) dapat membuat, mengedit, atau menghapus peran terkait layanan. Jika Anda menemukan pesan kesalahan berikut:  
**Tidak dapat membuat sumber daya. Verifikasi bahwa Anda memiliki izin untuk membuat peran terkait layanan. Jika tidak, tunggu dan coba lagi nanti.**  
 Pastikan Anda telah mengaktifkan izin berikut:   

```
{
    "Action": "iam:CreateServiceLinkedRole",
    "Effect": "Allow",
    "Resource": "arn:aws:iam::*:role/aws-service-role/custom.rds.amazonaws.com/AmazonRDSCustomServiceRolePolicy",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName":"custom.rds.amazonaws.com"
        }
    }
}
```
 Untuk informasi selengkapnya, lihat [Izin peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dalam *Panduan Pengguna IAM*.

## Izin peran terkait layanan untuk Amazon RDS Beta
<a name="slr-permissions-rdsbeta"></a>

Amazon RDS Aurora menggunakan peran terkait layanan bernama `AWSServiceRoleForRDSBeta` untuk memungkinkan Amazon RDS Amazon RDS DB Anda.

Peran AWSService RoleFor RDSBeta terkait layanan mempercayai layanan berikut untuk mengambil peran:
+ `rds.amazonaws.com`

Peran terkait layanan ini memiliki kebijakan izin yang menyertainya bernama `AmazonRDSBetaServiceRolePolicy` yang memberikannya izin untuk beroperasi di akun Anda. Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola: Amazon RDSBeta ServiceRolePolicy](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSBetaServiceRolePolicy).

**catatan**  
Anda harus mengonfigurasi izin agar entitas IAM (seperti pengguna, grup, atau peran) dapat membuat, mengedit, atau menghapus peran terkait layanan. Jika Anda menemukan pesan kesalahan berikut:  
**Tidak dapat membuat sumber daya. Verifikasi bahwa Anda memiliki izin untuk membuat peran terkait layanan. Jika tidak, tunggu dan coba lagi nanti.**  
 Pastikan Anda telah mengaktifkan izin berikut:   

```
{
    "Action": "iam:CreateServiceLinkedRole",
    "Effect": "Allow",
    "Resource": "arn:aws:iam::*:role/aws-service-role/custom.rds.amazonaws.com/AmazonRDSBetaServiceRolePolicy",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName":"custom.rds.amazonaws.com"
        }
    }
}
```
 Untuk informasi selengkapnya, lihat [Izin peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dalam *Panduan Pengguna IAM*.

## Peran terkait layanan untuk Amazon RDS Preview
<a name="slr-permissions-rdspreview"></a>

Amazon RDS Aurora menggunakan peran terkait layanan bernama `AWSServiceRoleForRDSPreview` untuk memungkinkan Amazon RDS Amazon RDS DB Anda.

Peran AWSService RoleFor RDSPreview terkait layanan mempercayai layanan berikut untuk mengambil peran:
+ `rds.amazonaws.com`

Peran terkait layanan ini memiliki kebijakan izin yang menyertainya bernama `AmazonRDSPreviewServiceRolePolicy` yang memberikannya izin untuk beroperasi di akun Anda. Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola: Amazon RDSPreview ServiceRolePolicy](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSPreviewServiceRolePolicy).

**catatan**  
Anda harus mengonfigurasi izin agar entitas IAM (seperti pengguna, grup, atau peran) dapat membuat, mengedit, atau menghapus peran terkait layanan. Jika Anda menemukan pesan kesalahan berikut:  
**Tidak dapat membuat sumber daya. Verifikasi bahwa Anda memiliki izin untuk membuat peran terkait layanan. Jika tidak, tunggu dan coba lagi nanti.**  
 Pastikan Anda telah mengaktifkan izin berikut:   

```
{
    "Action": "iam:CreateServiceLinkedRole",
    "Effect": "Allow",
    "Resource": "arn:aws:iam::*:role/aws-service-role/custom.rds.amazonaws.com/AmazonRDSPreviewServiceRolePolicy",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName":"custom.rds.amazonaws.com"
        }
    }
}
```
 Untuk informasi selengkapnya, lihat [Izin peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dalam *Panduan Pengguna IAM*.

# Amazon VPC dan RDSAmazon
<a name="USER_VPC"></a>

Amazon Virtual Private Cloud (AmazonVPC) memungkinkan Anda untuk meluncurkan AWS sumber daya, seperti instans Amazon RDS DB, ke cloud pribadi virtual (VPC). 

Ketika Anda menggunakanVPC, Anda memiliki kendali atas lingkungan jaringan virtual Anda. Anda dapat memilih rentang alamat IP Anda sendiri, membuat subnet, serta mengonfigurasi perutean dan daftar kontrol akses. Tidak ada biaya tambahan untuk menjalankan instans DB Anda di fileVPC. 

Akun memiliki defaultVPC. Semua instans DB baru dibuat secara default VPC kecuali Anda menentukan sebaliknya.

**Topics**
+ [

# Menggunakan instans DB di VPC
](USER_VPC.WorkingWithRDSInstanceinaVPC.md)
+ [

# Memperbarui VPC untuk instance DB
](USER_VPC.VPC2VPC.md)
+ [

# Skenario untuk mengakses instans DB di VPC
](USER_VPC.Scenarios.md)
+ [

# Tutorial: Buat VPC untuk digunakan dengan ) IPv4
](CHAP_Tutorials.WebServerDB.CreateVPC.md)
+ [

# Tutorial: Membuat VPC untuk digunakan dengan instans DB (mode tumpukan ganda)
](CHAP_Tutorials.CreateVPCDualStack.md)
+ [

# Memindahkan instans DB yang tidak berada dalam VPC ke VPC
](USER_VPC.Non-VPC2VPC.md)

Berikut ini, Anda dapat menemukan diskusi tentang VPC fungsionalitas yang relevan dengan Amazon RDS DB instans DB cluster. Untuk informasi selengkapnya tentang AmazonVPC, lihat Panduan [VPCMemulai Amazon dan Panduan VPC](https://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/) [Pengguna Amazon](https://docs.aws.amazon.com/vpc/latest/userguide/).

# Menggunakan instans DB di VPC
<a name="USER_VPC.WorkingWithRDSInstanceinaVPC"></a>

Instans DB Anda berada di cloud privat virtual (VPC). VPC adalah jaringan virtual yang secara logis terisolasi dari jaringan virtual lain di Cloud. AWS Amazon VPC memungkinkan Anda meluncurkan AWS sumber daya, seperti cluster instans Amazon Aurora Amazon Aurora atau instans EC2, ke dalam VPC. VPC dapat berupa VPC default dari akun Anda atau VPC yang Anda buat. Semua VPCs terkait dengan AWS akun Anda. 

VPC default memiliki tiga subnet yang dapat digunakan untuk mengisolasi sumber daya di dalam VPC. VPC default juga memiliki gateway internet yang dapat digunakan untuk memberikan akses ke sumber daya di dalam VPC dari luar VPC. 

Untuk daftar skenario yang melibatkan Amazon RDS  Aurora DB cluster di VPC dan di luar VPC, lihat. [Skenario untuk mengakses instans DB di VPC](USER_VPC.Scenarios.md) 

**Topics**
+ [

## Bekerja dengan instans DB dalam VPC
](#Overview.RDSVPC.Create)
+ [

## Kontrol enkripsi VPC
](#USER_VPC.EncryptionControl)
+ [

## Menggunakan grup subnet DB
](#USER_VPC.Subnets)
+ [

## Subnet bersama
](#USER_VPC.Shared_subnets)
+ [

## Penentuan alamat IP Amazon RDS
](#USER_VPC.IP_addressing)
+ [

## Menyembunyikan instans DB dalam VPC dari internet
](#USER_VPC.Hiding)
+ [

## Membuat instans DB dalam VPC
](#USER_VPC.InstanceInVPC)

Dalam tutorial berikut, Anda dapat mempelajari cara membuat VPC yang dapat Anda gunakan untuk skenario Amazon RDS yang umum:
+ [Tutorial: Buat VPC untuk digunakan dengan ) IPv4](CHAP_Tutorials.WebServerDB.CreateVPC.md)
+ [Tutorial: Membuat VPC untuk digunakan dengan instans DB (mode tumpukan ganda)](CHAP_Tutorials.CreateVPCDualStack.md)

## Bekerja dengan instans DB dalam VPC
<a name="Overview.RDSVPC.Create"></a>

Berikut ini beberapa tips untuk menggunakan instans DB di VPC:
+ VPC Anda harus memiliki setidaknya dua subnet. *Subnet* adalah segmen dari rentang alamat IP VPC yang dapat Anda tentukan dan gunakan untuk mengelompokkan instans DB berdasarkan kebutuhan keamanan dan operasional Anda. 

  Untuk penerapan multi-AZ, mendefinisikan subnet untuk dua atau lebih Availability Zone dalam memungkinkan Wilayah AWS Amazon RDS membuat siaga baru di Availability Zone lain sesuai kebutuhan. Pastikan untuk melakukan hal ini bahkan untuk deployment AZ Tunggal, jika nantinya Anda ingin mengonversinya ke deployment Multi-AZ.
**catatan**  
Grup subnet DB untuk Zona Lokal hanya dapat memiliki satu subnet.
+ Jika ingin instans DB dalam VPC dapat diakses publik, pastikan untuk mengaktifkan *nama host DNS* dan *resolusi DNS* pada atribut VPC. 
+ VPC Anda harus memiliki grup subnet DB yang Anda buat. Anda membuat grup subnet DB dengan menentukan subnet yang Anda buat. Amazon RDS memilih subnet dan alamat IP dalam grup subnet tersebut untuk dikaitkan dengan instans DB Anda. Instans DB menggunakan Zona Ketersediaan yang berisi subnet tersebut.
+ VPC Anda harus memiliki grup keamanan VPC yang memungkinkan akses ke instans DB.

  Untuk informasi selengkapnya, lihat [Skenario untuk mengakses instans DB di VPC](USER_VPC.Scenarios.md).
+ Blok CIDR di setiap subnet Anda harus cukup besar untuk mengakomodasi alamat IP cadangan untuk Amazon RDS untuk digunakan selama aktivitas pemeliharaan, termasuk failover dan penskalaan komputasi. Misalnya, rentang seperti 10.0.0.0/24 dan 10.0.1.0/24 biasanya memiliki kapasitas cukup besar.
+ VPC dapat memiliki atribut *penghunian instans*, baik yang bersifat *default* atau *khusus*. Semua default VPCs memiliki atribut penyewaan instance yang disetel ke default, dan VPC default dapat mendukung kelas instans DB apa pun.

  Jika Anda memilih untuk menempatkan instans DB dalam VPC khusus tempat atribut penghunian instans ditetapkan ke khusus, maka kelas instans DB untuk instans DB Anda harus merupakan salah satu jenis instans khusus Amazon EC2 yang disetujui. Misalnya, instans khusus EC2 r5.large sesuai dengan kelas instans DB db.r5.large. Untuk informasi tentang penghunian instans dalam VPC, lihat [Instans khusus](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html) dalam *Panduan Pengguna Amazon Elastic Compute Cloud*.

  Untuk informasi selengkapnya tentang jenis instans yang dapat berada dalam instans khusus, lihat [instans khusus Amazon EC2](https://aws.amazon.com/ec2/purchasing-options/dedicated-instances/) di halaman harga Amazon EC2. 
**catatan**  
Jika Anda menetapkan atribut penghunian instans ke khusus untuk instans DB, hal tersebut tidak menjamin bahwa instans DB akan berjalan di host khusus.
+ Saat grup opsi ditetapkan ke instans DB, grup opsi tersebut dikaitkan dengan VPC instans DB. Pengaitan ini berarti Anda tidak dapat menggunakan grup opsi yang ditetapkan ke instans DB jika Anda mencoba memulihkan instans DB ke VPC yang berbeda.
+ Jika Anda memulihkan instans DB ke VPC yang berbeda, pastikan untuk menetapkan grup opsi default ke instans DB, menetapkan grup opsi yang ditautkan ke VPC tersebut, atau membuat grup opsi baru dan menetapkannya ke instans DB. Dengan opsi yang persisten atau permanen, seperti TDE Oracle, Anda harus membuat grup opsi baru yang mencakup opsi persisten atau permanen saat memulihkan instans DB ke VPC yang berbeda.

## Kontrol enkripsi VPC
<a name="USER_VPC.EncryptionControl"></a>

Kontrol enkripsi VPC memungkinkan Anda menegakkan encryption-in-transit semua lalu lintas jaringan di dalam Anda. VPCs Gunakan kontrol enkripsi untuk memenuhi persyaratan kepatuhan peraturan dengan memastikan bahwa hanya perangkat keras berbasis Nitro berkemampuan enkripsi yang dapat disediakan di tempat yang ditentukan. VPCs Kontrol enkripsi juga menangkap masalah kompatibilitas pada waktu permintaan API daripada selama penyediaan. Beban kerja Anda yang ada terus beroperasi dan hanya permintaan baru yang tidak kompatibel yang diblokir.

Setel kontrol enkripsi VPC Anda dengan menyetel mode kontrol VPC ke:
+ *dinonaktifkan* (default)
+ *memonitor*
+ *ditegakkan*

Untuk memeriksa mode kontrol saat ini untuk VPC Anda, gunakan perintah atau Konsol Manajemen AWS [DescribeVpcs](https://docs.aws.amazon.com//AWSEC2/latest/APIReference/API_DescribeVpcs.html)CLI atau API.

Jika VPC Anda memberlakukan enkripsi, Anda hanya dapat menyediakan instans berbasis Nitro yang mendukung enkripsi saat transit di VPC tersebut. Untuk informasi selengkapnya, lihat [Jenis kelas instans DB](Concepts.DBInstanceClass.Types.md). *Untuk informasi tentang instans Nitro, lihat [Instans yang dibangun di Sistem AWS Nitro di Panduan Pengguna](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) Amazon EC2.*

**catatan**  
 `VpcEncryptionControlViolationException`

## Menggunakan grup subnet DB
<a name="USER_VPC.Subnets"></a>

*Subnet* adalah segmen dari rentang alamat IP VPC yang Anda tetapkan untuk mengelompokkan sumber daya Anda berdasarkan kebutuhan keamanan dan operasional. *Grup subnet DB* adalah kumpulan subnet (biasanya privat) yang Anda buat dalam VPC lalu Anda tetapkan untuk instans DB Anda. Dengan menggunakan grup subnet DB, Anda dapat menentukan VPC tertentu saat membuat cluster DB menggunakan AWS CLI API atau RDS. Jika menggunakan konsol, Anda dapat memilih VPC dan grup subnet yang ingin Anda gunakan.

Setiap subnet DB harus memiliki subnet di setidaknya dua Zona Ketersediaan dalam satu Wilayah AWS tertentu. Saat membuat instans DB di VPC, Anda perlu memilih grup subnet DB untuknya. Dari grup subnet DB, Amazon RDS memilih subnet dan alamat IP dalam subnet tersebut untuk dikaitkan dengan instans DB . DB menggunakan Zona Ketersediaan yang berisi subnet tersebut. RDS selalu memberikan alamat IP dari subnet yang memiliki ruang alamat IP gratis.

Jika instans DB primer dari deployment Multi-AZ mengalami kegagalan, Amazon RDS dapat mempromosikan replika siaga terkait lalu membuat replika siaga baru menggunakan alamat IP dari subnet di salah satu Zona Ketersediaan lainnya.

Subnet dalam grup subnet DB bersifat publik atau privat. Subnet bersifat publik atau pribadi, tergantung pada konfigurasi yang Anda tetapkan untuk daftar kontrol akses jaringan (jaringan ACLs) dan tabel perutean mereka. Agar instans DB dapat diakses publik, semua subnet dalam grup subnet DB-nya harus bersifat publik. Jika subnet yang terkait dengan instans DB yang dapat diakses publik berubah dari publik menjadi privat, hal tersebut dapat memengaruhi ketersediaan instans DB.

Untuk membuat grup subnet DB yang mendukung mode dual-stack, pastikan bahwa setiap subnet yang Anda tambahkan ke grup subnet DB memiliki blok CIDR Internet Protocol versi 6 (IPv6) yang terkait dengannya. Untuk informasi selengkapnya, lihat [Penentuan alamat IP Amazon RDS](#USER_VPC.IP_addressing) dan [Memigrasi ke IPv6](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) dalam Panduan *Pengguna Amazon VPC*.

**catatan**  
Grup subnet DB untuk Zona Lokal hanya dapat memiliki satu subnet.

Saat Amazon RDS membuat instans DB dalam VPC, antarmuka jaringan ditetapkan ke instans DB dengan menggunakan alamat IP dari grup subnet DB. Namun, kami sangat menyarankan agar Anda menggunakan nama Sistem Nama Domain (DNS) untuk terhubung ke instans DB. Kami merekomendasikan hal ini karena alamat IP pokok berubah selama failover. 

**catatan**  
Untuk setiap instans DB yang Anda jalankan dalam VPC, pastikan untuk mencadangkan minimal satu alamat di setiap subnet dalam grup subnet DB agar dapat digunakan oleh Amazon RDS untuk tindakan pemulihan. 

## Subnet bersama
<a name="USER_VPC.Shared_subnets"></a>

Anda dapat membuat instans DB dalam VPC bersama.

Beberapa pertimbangan yang perlu diingat saat menggunakan shared VPCs:
+ Anda dapat memindahkan instans DB dari subnet VPC bersama ke subnet VPC privat dan sebaliknya.
+ Peserta dalam VPC bersama harus membuat grup keamanan dalam VPC agar dapat membuat instans DB.
+ Pemilik dan peserta dalam VPC bersama dapat mengakses basis data dengan menggunakan kueri SQL. Namun, hanya pembuat sumber daya yang dapat melakukan panggilan API apa pun pada sumber daya.



## Penentuan alamat IP Amazon RDS
<a name="USER_VPC.IP_addressing"></a>

Penentuan alamat IP memungkinkan sumber daya dalam VPC Anda berkomunikasi satu sama lain, dan dengan sumber daya melalui internet. Amazon RDS Aurora mendukung protokol pengalamatan IPv6 dan IPv4 keduanya. Secara default, Amazon RDS VPC menggunakan protokol pengalamatan. IPv4 Anda tidak dapat menonaktifkan perilaku ini. Saat Anda membuat VPC, pastikan untuk menentukan blok IPv4 CIDR (berbagai alamat pribadi IPv4 ). 

Support untuk IPv6 protokol memperluas jumlah alamat IP yang didukung. Dengan menggunakan IPv6 protokol, Anda memastikan bahwa Anda memiliki alamat yang cukup tersedia untuk pertumbuhan internet di masa depan. Sumber daya RDS baru dan yang sudah ada dapat digunakan IPv4 dan IPv6 alamat dalam VPC Anda. Mengonfigurasi, mengamankan, dan menerjemahkan lalu lintas jaringan di antara dua protokol yang digunakan di berbagai bagian aplikasi dapat menimbulkan overhead operasional. Anda dapat melakukan standarisasi pada IPv6 protokol untuk sumber daya Amazon RDS untuk menyederhanakan konfigurasi jaringan Anda.

**Topics**
+ [

### IPv4 alamat
](#USER_VPC.IP_addressing.IPv4)
+ [

### IPv6 alamat
](#USER_VPC.IP_addressing.IPv6)
+ [

### Mode tumpukan ganda
](#USER_VPC.IP_addressing.dual-stack-mode)

### IPv4 alamat
<a name="USER_VPC.IP_addressing.IPv4"></a>

Saat Anda membuat VPC, Anda harus menentukan rentang IPv4 alamat untuk VPC dalam bentuk blok CIDR, seperti. `10.0.0.0/16` *Grup subnet DB* mendefinisikan rentang alamat IP di blok CIDR ini yang dapat digunakan oleh instans DB. Alamat IP ini bisa bersifat privat atau publik.

 IPv4 Alamat pribadi adalah alamat IP yang tidak dapat dijangkau melalui internet. Anda dapat menggunakan IPv4 alamat pribadi untuk komunikasi antara instans DB dan sumber daya lainnya, seperti instans Amazon EC2, di VPC yang sama. Setiap instans DB memiliki alamat IP privat untuk komunikasi dalam VPC.

Alamat IP publik adalah IPv4 alamat yang dapat dijangkau dari internet. Anda dapat menggunakan alamat publik untuk komunikasi antara instans DB dan sumber daya di internet, seperti klien SQL. Anda mengontrol apakah instans DB Anda menerima alamat IP publik.

Amazon RDS menggunakan alamat Public Elastic IPv4 dari kumpulan IPv4 alamat publik EC2 untuk instans database yang dapat diakses publik. Alamat IP ini terlihat di AWS akun Anda saat menggunakan `describe-addresses` CLI, API, atau melihat bagian Elastic IPs (EIP) di bagian. Konsol Manajemen AWS Setiap alamat IP yang dikelola RDS ditandai dengan `service_managed` atribut yang disetel ke. `"rds"`

Meskipun ini IPs terlihat di akun Anda, mereka tetap dikelola sepenuhnya oleh Amazon RDS dan tidak dapat dimodifikasi atau dirilis. Amazon RDS dirilis IPs kembali ke kumpulan IPv4 alamat publik saat tidak lagi digunakan.

CloudTrail log panggilan API yang terkait dengan EIP RDS, seperti file. `AllocateAddress` Panggilan API ini dipanggil oleh `rds.amazonaws.com` Principal Layanan.

**catatan**  
IPs dialokasikan oleh Amazon RDS tidak dihitung terhadap batas EIP akun Anda.

Untuk tutorial yang menunjukkan cara membuat VPC hanya dengan IPv4 alamat pribadi yang dapat Anda gunakan untuk skenario Amazon  RDS umum, lihat. [Tutorial: Buat VPC untuk digunakan dengan ) IPv4](CHAP_Tutorials.WebServerDB.CreateVPC.md) 

### IPv6 alamat
<a name="USER_VPC.IP_addressing.IPv6"></a>

Anda dapat secara opsional mengaitkan blok IPv6 CIDR dengan VPC dan subnet Anda, dan menetapkan IPv6 alamat dari blok itu ke sumber daya di VPC Anda. Setiap IPv6 alamat unik secara global. 

Blok IPv6 CIDR untuk VPC Anda secara otomatis ditetapkan dari kumpulan IPv6 alamat Amazon. Anda tidak dapat memilih sendiri rentang tersebut.

Saat menghubungkan ke IPv6 alamat, pastikan bahwa kondisi berikut terpenuhi:
+ Klien dikonfigurasi sehingga lalu lintas klien ke database IPv6 diizinkan.
+ Grup keamanan RDS yang digunakan oleh instans DB dikonfigurasi dengan benar sehingga lalu lintas klien ke database IPv6 diizinkan.
+ Tumpukan sistem operasi klien memungkinkan lalu lintas pada IPv6 alamat, dan driver dan pustaka sistem operasi dikonfigurasi untuk memilih titik akhir instans DB default yang benar (baik IPv4 atau IPv6).

Untuk informasi selengkapnya IPv6, lihat [Pengalamatan IP](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html) di Panduan *Pengguna Amazon VPC*.

### Mode tumpukan ganda
<a name="USER_VPC.IP_addressing.dual-stack-mode"></a>

 instans DB berjalan dalam mode dual-stack ketika dapat berkomunikasi melalui keduanya IPv4 dan protokol IPv6 pengalamatan. Sumber daya kemudian dapat berkomunikasi dengan instans DB menggunakan salah satu IPv4 IPv6,, atau kedua protokol. Instans DB mode dual-stack pribadi memiliki IPv6 titik akhir yang dibatasi RDS hanya untuk akses VPC, memastikan titik akhir Anda tetap pribadi. IPv6 Instans DB mode dual-stack publik menyediakan keduanya IPv4 dan IPv6 titik akhir yang dapat Anda akses dari internet.

**Topics**
+ [

#### Mode tumpukan ganda dan grup subnet DB
](#USER_VPC.IP_addressing.dual-stack-db-subnet-groups)
+ [

#### Menggunakan instans DB mode tumpukan ganda
](#USER_VPC.IP_addressing.dual-stack-working-with)
+ [

#### Memodifikasi instans DB IPv4 -only untuk menggunakan mode dual-stack
](#USER_VPC.IP_addressing.dual-stack-modifying-ipv4)
+ [

#### Ketersediaan wilayah dan versi
](#USER_VPC.IP_addressing.RegionVersionAvailability)
+ [

#### Batasan untuk instans DB jaringan tumpukan ganda
](#USER_VPC.IP_addressing.dual-stack-limitations)

Untuk tutorial yang menunjukkan cara membuat VPC dengan keduanya IPv4 dan IPv6 alamat yang dapat Anda gunakan untuk skenario Amazon  RDS yang umum, lihat. [Tutorial: Membuat VPC untuk digunakan dengan instans DB (mode tumpukan ganda)](CHAP_Tutorials.CreateVPCDualStack.md) 

#### Mode tumpukan ganda dan grup subnet DB
<a name="USER_VPC.IP_addressing.dual-stack-db-subnet-groups"></a>

Untuk menggunakan mode dual-stack, pastikan bahwa setiap subnet dalam grup subnet DB yang Anda kaitkan dengan instans DB memiliki blok IPv6 CIDR yang terkait dengannya. Anda dapat membuat grup subnet DB baru atau memodifikasi grup subnet DB yang ada untuk memenuhi persyaratan ini. Setelah instans DB berada dalam mode tumpukan ganda, klien dapat terhubung secara normal. Pastikan firewall keamanan klien dan grup keamanan instans RDS DB dikonfigurasi secara akurat untuk memungkinkan lalu lintas berakhir. IPv6 Untuk terhubung, klien menggunakan titik akhir instans DB. Aplikasi klien dapat menentukan protokol mana yang lebih disukai saat terhubung ke basis data. Dalam mode dual-stack, instans DB mendeteksi protokol jaringan pilihan klien, baik IPv4 atau IPv6, dan menggunakan protokol itu untuk koneksi.

Jika grup subnet DB berhenti mendukung mode tumpukan ganda karena penghapusan subnet atau pembatalan pengaitan CIDR, ada risiko status jaringan menjadi tidak kompatibel untuk instans DB yang terkait dengan grup subnet DB. Selain itu, Anda tidak dapat menggunakan grup subnet DB saat membuat instans DB mode tumpukan ganda baru.

Untuk menentukan apakah grup subnet DB mendukung mode dual-stack dengan menggunakan Konsol Manajemen AWS, lihat **tipe Jaringan** pada halaman detail grup subnet DB. Untuk menentukan apakah grup subnet DB mendukung mode dual-stack dengan menggunakan AWS CLI, jalankan [describe-db-subnet-groups](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-subnet-groups.html)perintah dan lihat `SupportedNetworkTypes` di output.

Replika baca dianggap sebagai instans DB independen dan dapat memiliki jenis jaringan yang berbeda dengan instans DB primer. Jika Anda mengubah jenis jaringan instans DB primer replika baca, replika baca ini tidak akan terpengaruh. Saat memulihkan instans DB, Anda dapat memulihkannya ke jenis jaringan apa pun yang didukung.

#### Menggunakan instans DB mode tumpukan ganda
<a name="USER_VPC.IP_addressing.dual-stack-working-with"></a>

Saat membuat atau memodifikasi instans DB, Anda dapat menentukan mode dual-stack untuk memungkinkan sumber daya Anda berkomunikasi dengan instans DB Anda melalui IPv4, IPv6, atau keduanya.

Bila Anda menggunakan Konsol Manajemen AWS untuk membuat atau memodifikasi instans DB, Anda dapat menentukan mode dual-stack di bagian **Jenis jaringan**. Gambar berikut menampilkan bagian **Jenis jaringan** di konsol.

![\[Bagian tipe jaringan di konsol dengan mode Dual-stack dipilih.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/dual-stack-mode.png)


Saat Anda menggunakan AWS CLI untuk membuat atau memodifikasi instans DB, atur `--network-type` opsi `DUAL` untuk menggunakan mode dual-stack. Saat Anda menggunakan API RDS untuk membuat atau memodifikasi instans DB, atur parameter `NetworkType` ke `DUAL` untuk menggunakan mode tumpukan ganda. Saat Anda memodifikasi jenis jaringan instans DB, waktu henti mungkin akan terjadi. Jika mode tumpukan ganda tidak didukung oleh versi mesin DB yang ditentukan atau grup subnet DB, kesalahan `NetworkTypeNotSupported` akan ditampilkan.

Untuk informasi selengkapnya tentang cara membuat instans DB, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md). Untuk informasi selengkapnya tentang cara mengubah instans DB, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

Untuk menentukan apakah instans DB berada dalam mode tumpukan ganda dengan menggunakan konsol, lihat **Jenis jaringan** pada tab **Konektivitas & keamanan** untuk instans DB.

#### Memodifikasi instans DB IPv4 -only untuk menggunakan mode dual-stack
<a name="USER_VPC.IP_addressing.dual-stack-modifying-ipv4"></a>

Anda dapat memodifikasi instans DB IPv4 -only untuk menggunakan mode dual-stack. Untuk melakukannya, ubah jenis jaringan instans DB. Modifikasi dapat mengakibatkan waktu henti.

Sebaiknya Anda mengubah jenis jaringan instans DB Amazon RDS selama periode pemeliharaan. Saat ini, pengaturan jenis jaringan instans baru ke mode tumpukan ganda tidak didukung. Anda dapat mengatur jenis jaringan secara manual dengan menggunakan perintah `modify-db-instance` . 

Sebelum memodifikasi instans DB untuk menggunakan mode tumpukan ganda, pastikan grup subnet DB-nya mendukung mode tumpukan ganda. Jika grup subnet DB yang terkait dengan instans DB tidak mendukung mode tumpukan ganda, tentukan grup subnet DB yang berbeda yang mendukungnya saat Anda memodifikasi instans DB. Modifikasi terhadap grup subnet DB dari instans DB dapat menyebabkan waktu henti.

Jika Anda memodifikasi grup subnet DB dari instans DB sebelum mengubah instans DB untuk menggunakan mode tumpukan ganda, pastikan grup subnet DB tersebut valid untuk instans DB sebelum dan sesudah perubahan. 

Untuk RDS untuk PostgreSQL, RDS untuk MySQL, RDS untuk Oracle, dan RDS untuk instance Single-AZ MariaDB, sebaiknya Anda menjalankan perintah hanya dengan parameter yang disetel untuk mengubah jaringan ke mode dual-stack. [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)`--network-type``DUAL` Penambahan parameter lain bersama dengan parameter `--network-type` dalam panggilan API yang sama dapat mengakibatkan waktu henti. Untuk memodifikasi beberapa parameter, pastikan modifikasi jenis jaringan berhasil diselesaikan sebelum mengirim permintaan `modify-db-instance` lainnya dengan parameter lain. 

Modifikasi tipe jaringan untuk RDS untuk PostgreSQL, RDS untuk MySQL, RDS untuk Oracle, dan RDS untuk instance DB Multi-AZ MariaDB menyebabkan downtime singkat dan memicu failover jika Anda hanya menggunakan parameter atau jika Anda menggabungkan parameter dalam perintah. `--network-type` modify-db-instance 

Modifikasi jenis jaringan pada instans DB Multi-AZ atau AZ Tunggal RDS for SQL Server menyebabkan waktu henti jika Anda hanya menggunakan parameter `--network-type` atau jika Anda menggabungkan parameter dalam perintah `modify-db-instance`. Modifikasi jenis jaringan menyebabkan failover dalam instans Multi-AZ SQL Server.

Jika Anda tidak dapat terhubung ke instans DB setelah perubahan, pastikan firewall keamanan klien dan database serta tabel rute dikonfigurasi secara akurat untuk memungkinkan lalu lintas ke database pada jaringan yang dipilih (baik IPv4 atau IPv6). Anda mungkin juga perlu memodifikasi parameter sistem operasi, pustaka, atau driver untuk terhubung menggunakan IPv6 alamat.

Saat Anda memodifikasi instans DB untuk menggunakan mode tumpukan ganda, tidak akan ada perubahan tertunda dari deployment AZ Tunggal ke deployment Multi-AZ, atau dari deployment Multi-AZ ke deployment AZ Tunggal.

**Untuk memodifikasi instans DB IPv4 -only agar menggunakan mode dual-stack**

1. Ubah grup subnet DB untuk mendukung mode tumpukan ganda, atau buat grup subnet DB yang mendukung mode tumpukan ganda:

   1. Kaitkan blok IPv6 CIDR dengan VPC Anda.

      Untuk petunjuknya, lihat [Menambahkan blok IPv6 CIDR ke VPC Anda](https://docs.aws.amazon.com/vpc/latest/userguide/modify-vpcs.html#vpc-associate-ipv6-cidr) di Panduan Pengguna *Amazon VPC*.

   1. Pasang blok IPv6 CIDR ke semua subnet di grup subnet DB Anda.

      Untuk petunjuk, lihat [Menambahkan blok IPv6 CIDR ke subnet Anda di Panduan](https://docs.aws.amazon.com/vpc/latest/userguide/modify-subnets.html#subnet-associate-ipv6-cidr) Pengguna Amazon *VPC*.

   1. Konfirmasikan bahwa grup subnet DB mendukung mode tumpukan ganda.

      Jika Anda menggunakan Konsol Manajemen AWS, pilih grup subnet DB, dan pastikan bahwa nilai **tipe jaringan yang didukung** adalah **Dual, IPv4**.

      Jika Anda menggunakan AWS CLI, jalankan [describe-db-subnet-groups](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-subnet-groups.html)perintah, dan pastikan bahwa `SupportedNetworkType` nilai untuk instans DB adalah`Dual, IPv4`.

1. Ubah grup keamanan yang terkait dengan instans DB untuk memungkinkan IPv6 koneksi ke database, atau buat grup keamanan baru yang memungkinkan IPv6 koneksi.

   Untuk mendapatkan petunjuk, lihat [Aturan grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html) dalam *Panduan Pengguna Amazon VPC*.

1. Modifikasi instans DB untuk mendukung mode tumpukan ganda. Untuk melakukannya, tetapkan **Jenis jaringan** ke **Mode tumpukan ganda**.

   Jika Anda menggunakan konsol, pastikan bahwa pengaturan berikut sudah benar:
   + **Jenis jaringan** – **Mode tumpukan ganda**  
![\[Bagian tipe jaringan di konsol dengan mode Dual-stack dipilih.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/dual-stack-mode.png)
   + **Grup subnet DB** – Grup subnet DB yang telah Anda konfigurasikan pada langkah sebelumnya
   + **Grup keamanan** — Grup keamanan yang telah Anda konfigurasikan pada langkah sebelumnya

   Jika Anda menggunakan AWS CLI, pastikan bahwa pengaturan berikut sudah benar:
   + `--network-type` – `dual`
   + `--db-subnet-group-name` – Grup subnet DB yang Anda konfigurasikan pada langkah sebelumnya
   + `--vpc-security-group-ids` – Grup keamanan VPC yang Anda konfigurasikan pada langkah sebelumnya

   Sebagai contoh: 

   ```
   aws rds modify-db-instance --db-instance-identifier my-instance --network-type "DUAL"
   ```

1. Konfirmasikan bahwa instans DB mendukung mode tumpukan ganda.

   Jika Anda menggunakan konsol, pilih tab **Konektivitas & keamanan** untuk instans DB. Pada tab tersebut, pastikan nilai **Jenis jaringan** adalah **Mode tumpukan ganda**.

   Jika Anda menggunakan AWS CLI, jalankan [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)perintah, dan pastikan bahwa `NetworkType` nilai untuk instans DB adalah`dual`.

   Jalankan `dig` perintah pada titik akhir instance DB untuk mengidentifikasi IPv6 alamat yang terkait dengannya.

   ```
   dig db-instance-endpoint AAAA
   ```

   Gunakan titik akhir instans DB , bukan IPv6 alamatnya, untuk terhubung ke instans DB.

#### Ketersediaan wilayah dan versi
<a name="USER_VPC.IP_addressing.RegionVersionAvailability"></a>

Ketersediaan dan dukungan fitur bervariasi di seluruh versi spesifik dari setiap mesin basis data, dan di seluruh Wilayah AWS. Untuk informasi selengkapnya tentang ketersediaan versi dan Wilayah dengan mode tumpukan ganda, lihat [Daerah yang Didukung dan engine DB untuk mode dual-stack di Amazon RDS](Concepts.RDS_Fea_Regions_DB-eng.Feature.DualStackMode.md). 

#### Batasan untuk instans DB jaringan tumpukan ganda
<a name="USER_VPC.IP_addressing.dual-stack-limitations"></a>

Batasan berikut berlaku untuk instans DB jaringan tumpukan ganda:
+  instans DB tidak dapat menggunakan IPv6 protokol secara eksklusif. Mereka dapat menggunakan IPv4 secara eksklusif, atau mereka dapat menggunakan IPv6 protokol IPv4 and (mode dual-stack).
+ Amazon RDS tidak mendukung IPv6 subnet asli.
+ Untuk RDS untuk SQL Server, instance DB mode dual-stack yang menggunakan titik akhir pendengar grup AGs ketersediaan Selalu Aktif hanya menampilkan alamat. IPv4
+ Anda tidak dapat menggunakan Proksi RDS dengan instans DB mode tumpukan ganda.
+ Anda tidak dapat menggunakan mode dual-stack dengan RDS pada AWS Outposts instans DB.
+ Anda tidak dapat menggunakan mode tumpukan ganda dengan instans DB di Zona Lokal.

## Menyembunyikan instans DB dalam VPC dari internet
<a name="USER_VPC.Hiding"></a>

Salah satu skenario Amazon RDS Aurora yang umum adalah memiliki VPC di mana Anda memiliki instans Amazon EC2 dengan aplikasi web yang menghadap publik dan cluster DB dengan database yang tidak dapat diakses publik. Misalnya, Anda dapat membuat VPC yang memiliki subnet publik dan subnet privat. Instans EC2 yang berfungsi sebagai server web dapat digunakan di subnet publik. Instans DB di-deploy di subnet privat. Dalam deployment tersebut, hanya server web yang memiliki akses ke instans DB. Untuk ilustrasi skenario ini, lihat [ instans DB di VPC yang diakses oleh instans Amazon EC2 di VPC yang sama](USER_VPC.Scenarios.md#USER_VPC.Scenario1). 

Saat Anda meluncurkan instans DB di dalam VPC, instans DB memiliki alamat IP privat untuk lalu lintas di dalam VPC. Alamat IP privat ini tidak dapat diakses publik. Anda dapat menggunakan opsi **Akses publik** untuk menetapkan apakah instans DB juga memiliki alamat IP publik selain alamat IP privat. Jika instans DB ditetapkan sebagai dapat diakses publik, titik akhir DNS-nya akan diresolusi ke alamat IP privat dari dalam VPC. Titik akhir tersebut akan diresolusi ke alamat IP publik dari luar VPC. Akses ke instans DB pada dasarnya dikendalikan oleh grup keamanan yang menggunakannya. Akses publik tersebut tidak diizinkan jika grup keamanan yang ditetapkan ke instans DB tidak menyertakan aturan masuk yang mengizinkannya. Selain itu, agar instans DB dapat diakses publik, subnet dalam grup subnet DB-nya harus memiliki gateway internet. Untuk informasi selengkapnya, lihat [Tidak dapat terhubung ke instans DB Amazon RDS](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting)

Anda dapat memodifikasi instans DB untuk mengaktifkan atau menonaktifkan aksesibilitas publik dengan memodifikasi opsi **Akses publik**. Ilustrasi berikut ini menunjukkan opsi **Akses publik** di bagian **Konfigurasi konektivitas tambahan**. Untuk mengatur opsi, buka bagian **Konfigurasi konektivitas tambahan** di bagian **Konektivitas**. 

![\[Tetapkan opsi akses publik database Anda di bagian Konfigurasi konektivitas tambahan ke No.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/VPC-example4.png)


Untuk informasi tentang cara memodifikasi instans DB untuk menetapkan opsi **Akses publik**, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

## Membuat instans DB dalam VPC
<a name="USER_VPC.InstanceInVPC"></a>

Prosedur berikut membantu Anda membuat instans DB dalam VPC. Untuk menggunakan VPC default, Anda dapat memulai dengan langkah 2, dan menggunakan VPC dan grup subnet DB yang sudah dibuat untuk Anda. Jika Anda ingin membuat VPC tambahan, Anda dapat membuat VPC baru. 

**catatan**  
Jika Anda ingin instans DB dalam VPC dapat diakses publik, Anda harus memperbarui informasi DNS untuk VPC dengan mengaktifkan *nama host DNS* dan *resolusi DNS* atribut VPC. Untuk informasi tentang cara memperbarui informasi DNS untuk instans VPC, lihat [Memperbarui dukungan DNS untuk VPC Anda](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html). 

Ikuti langkah-langkah ini untuk membuat instans DB dalam VPC:
+ [Langkah 1: Buat VPC](#USER_VPC.CreatingVPC) 
+  [Langkah 2: Buat grup subnet DB](#USER_VPC.CreateDBSubnetGroup)
+  [Langkah 3: Buat grup keamanan VPC](#USER_VPC.CreateVPCSecurityGroup)
+  [Langkah 4: Buat instans DB dalam VPC](#USER_VPC.CreateDBInstanceInVPC) 

### Langkah 1: Buat VPC
<a name="USER_VPC.CreatingVPC"></a>

Buat VPC dengan subnet di setidaknya dua Zona Ketersediaan. Anda menggunakan subnet ini ketika membuat grup subnet DB. Jika Anda memiliki VPC default, subnet secara otomatis dibuat untuk Anda dalam setiap Zona Ketersediaan di Wilayah AWS.

Untuk informasi selengkapnya, lihat [Membuat VPC dengan subnet publik dan privat](CHAP_Tutorials.WebServerDB.CreateVPC.md#CHAP_Tutorials.WebServerDB.CreateVPC.VPCAndSubnets), atau lihat [Membuat VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC) dalam *Panduan Pengguna Amazon VPC*. 

### Langkah 2: Buat grup subnet DB
<a name="USER_VPC.CreateDBSubnetGroup"></a>

Grup subnet DB adalah kumpulan subnet (biasanya privat) yang Anda buat untuk VPC lalu ditetapkan untuk instans DB Anda. Grup subnet DB memungkinkan Anda menentukan VPC tertentu saat Anda membuat cluster DB menggunakan AWS CLI API atau RDS. Jika menggunakan konsol, Anda dapat memilih VPC dan subnet yang ingin Anda gunakan. Setiap subnet DB harus memiliki setidaknya satu subnet di setidaknya dua Zona Ketersediaan dalam Wilayah AWS. Sebagai praktik terbaik, setiap grup subnet DB harus memiliki minimal satu subnet untuk setiap Zona Ketersediaan di Wilayah AWS.

Untuk penerapan multi-AZ, mendefinisikan subnet untuk semua Availability Zone dalam sebuah memungkinkan Wilayah AWS Amazon RDS untuk membuat replika siaga baru di Availability Zone lain jika perlu. Anda dapat mengikuti praktik terbaik ini bahkan untuk deployment AZ Tunggal karena Anda mungkin mengonversinya ke deployment Multi-AZ di masa mendatang.

Agar instans DB dapat diakses publik, subnet dalam grup subnet DB harus memiliki gateway internet. Untuk informasi selengkapnya tentang gateway internet untuk subnet, lihat [Terhubung ke internet menggunakan gateway internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) dalam *Panduan Pengguna Amazon VPC*. 

**catatan**  
Grup subnet DB untuk Zona Lokal hanya dapat memiliki satu subnet.

Saat Anda membuat instans DB dalam VPC, Anda dapat memilih grup subnet DB. Amazon RDS memilih subnet dan alamat IP dalam subnet tersebut untuk dikaitkan dengan instans DB Anda. Jika tidak ada grup subnet DB, Amazon RDS membuat grup subnet default saat Anda membuat instans DB. Amazon RDS membuat dan mengaitkan Antarmuka Jaringan Elastis ke instans DB Anda dengan alamat IP tersebut. Instans DB menggunakan Zona Ketersediaan yang berisi subnet.

Untuk penerapan multi-AZ, mendefinisikan subnet untuk dua atau lebih Availability Zone dalam memungkinkan Wilayah AWS Amazon RDS untuk membuat siaga baru di Availability Zone lain jika diperlukan. Anda harus melakukan hal ini bahkan untuk deployment AZ Tunggal, jika nantinya Anda ingin mengonversinya ke deployment Multi-AZ.

Pada langkah ini, Anda membuat grup subnet DB dan menambahkan subnet yang Anda buat untuk VPC Anda.

**Untuk membuat grup subnet DB**

1. Buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup subnet**.

1. Pilih **Buat Grup Subnet DB**.

1. Untuk **Nama**, ketik nama grup subnet DB Anda.

1. Untuk **Deskripsi**, ketik deskripsi untuk grup subnet DB Anda. 

1. Untuk **VPC**, pilih VPC default atau VPC yang Anda buat.

1. Di bagian **Tambahkan subnet**, pilih Zona Ketersediaan yang mencakup subnet dari **Zona Ketersediaan**, lalu pilih subnet dari **Subnet**.  
![\[Buat grup subnet DB.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/RDSVPC101.png)
**catatan**  
Jika telah mengaktifkan Zona Lokal, Anda dapat memilih grup Zona Ketersediaan di halaman **Buat grup subnet DB**. Dalam kasus ini, pilih **Grup Zona Ketersediaan**, **Zona Ketersediaan**, dan **Subnet**.

1. Pilih **Buat**. 

   Grup subnet DB baru Anda muncul dalam daftar grup subnet DB di konsol RDS. Anda dapat memilih grup subnet DB untuk melihat detail, termasuk semua subnet yang dikaitkan dengan grup, dalam panel detail di bagian bawah jendela. 

### Langkah 3: Buat grup keamanan VPC
<a name="USER_VPC.CreateVPCSecurityGroup"></a>

Sebelum membuat instans DB, Anda dapat membuat grup keamanan VPC untuk dikaitkan dengan instans DB. Jika Anda tidak membuat grup keamanan VPC, Anda dapat menggunakan grup keamanan default saat membuat instans DB. Untuk petunjuk cara membuat grup keamanan untuk instans DB, lihat [Membuat grup keamanan VPC untuk instans DB privat](CHAP_Tutorials.WebServerDB.CreateVPC.md#CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupDB), atau lihat [Mengontrol lalu lintas ke sumber daya menggunakan grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) dalam *Panduan Pengguna Amazon VPC*. 

### Langkah 4: Buat instans DB dalam VPC
<a name="USER_VPC.CreateDBInstanceInVPC"></a>

Pada langkah ini, Anda membuat instans DB dan menggunakan nama VPC, grup subnet DB, dan grup keamanan VPC yang telah Anda buat pada langkah sebelumnya.

**catatan**  
Jika ingin instans DB dalam VPC dapat diakses publik, Anda harus mengaktifkan *Nama host DNS* dan *Resolusi DNS* atribut VPC. Untuk informasi selengkapnya, lihat [Atribut DNS untuk VPC Anda](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html) dalam *Panduan Pengguna Amazon VPC*.

Untuk detail tentang cara membuat instans DB, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).

Saat diminta di bagian **Konektivitas**, masukkan nama VPC, grup subnet DB, dan grup keamanan VPC.

# Memperbarui VPC untuk instance DB
<a name="USER_VPC.VPC2VPC"></a>

Anda dapat menggunakan Konsol Manajemen AWS untuk memindahkan instans DB Anda ke yang berbedaVPC.

Untuk informasi tentang mengubah instans DB, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). Pada bagian **Konektivitas** di halaman modifikasi yang ditampilkan berikut ini, masukkan grup subnet DB baru untuk **Grup subnet DB**. Grup subnet baru harus berupa grup subnet di grup baru. VPC

![\[Ubah grup subnet instans DB.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/EC2-VPC.png)


Anda tidak dapat mengubah VPC instans DB jika kondisi berikut berlaku:
+ Instans DB ada di beberapa Zona Ketersediaan. Anda dapat mengonversi instans DB ke Availability Zone tunggal, memindahkannya ke yang baruVPC, lalu mengubahnya kembali ke instans DB multi-AZ. Untuk informasi selengkapnya, lihat [Mengonfigurasi dan mengelola penyebaran Multi-AZ untuk Amazon RDS](Concepts.MultiAZ.md).
+ Instans DB memiliki satu atau beberapa replika baca. Anda dapat menghapus replika baca, memindahkan instans DB ke yang baruVPC, dan kemudian menambahkan replika baca lagi. Untuk informasi selengkapnya, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md).
+ Instans DB adalah replika baca. Anda dapat mempromosikan replika baca, dan kemudian memindahkan instans DB mandiri ke yang baru. VPC Untuk informasi selengkapnya, lihat [Mempromosikan replika baca menjadi instans DB mandiri](USER_ReadRepl.Promote.md).
+ Grup subnet dalam target VPC tidak memiliki subnet di instans DB di Availability Zone. Anda dapat menambahkan subnet di Availability Zone instans DB ke grup subnet DB, dan kemudian memindahkan instans DB ke yang baru. VPC Untuk informasi selengkapnya, lihat [Menggunakan grup subnet DB](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets).

# Skenario untuk mengakses instans DB di VPC
<a name="USER_VPC.Scenarios"></a>

Amazon RDS Aurora mendukung skenario berikut untuk mengakses instans DB di VPC:
+ [Instans Amazon EC2 dalam VPC yang sama](#USER_VPC.Scenario1)
+ [Instans EC2 dalam VPC yang berbeda](#USER_VPC.Scenario3)
+ [Aplikasi klien melalui internet](#USER_VPC.Scenario4)
+ [Jaringan privat](#USER_VPC.NotPublic)

## instans DB di VPC yang diakses oleh instans Amazon EC2 di VPC yang sama
<a name="USER_VPC.Scenario1"></a>

Penggunaan umum instans DB di VPC adalah untuk berbagi data dengan server aplikasi yang berjalan di instans Amazon EC2 di VPC yang sama.

Diagram berikut menunjukkan skenario ini.

![\[Skenario VPC dengan server web publik dan database pribadi.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/con-VPC-sec-grp.png)


Cara paling sederhana untuk mengelola akses antara instans EC2 dan instans DB di VPC yang sama adalah dengan melakukan tindakan berikut:
+ Buat grup keamanan VPC untuk klaster DB Anda. Grup keamanan ini dapat digunakan untuk membatasi akses ke instans DB. Misalnya, Anda dapat membuat aturan kustom untuk grup keamanan ini. Hal ini dapat mengizinkan akses TCP menggunakan port yang Anda tetapkan ke instans DB saat Anda membuatnya dan alamat IP yang Anda gunakan untuk mengakses instans DB untuk pengembangan atau tujuan lainnya.
+ Buat grup keamanan VPC untuk memasukkan instans EC2 (server web dan klien) Anda. Grup keamanan ini dapat, jika diperlukan, mengizinkan akses ke instans EC2 dari internet dengan menggunakan tabel perutean VPC. Sebagai contoh, Anda dapat menetapkan aturan pada grup keamanan ini untuk mengizinkan akses TCP ke instans EC2 melalui port 22.
+ Buat aturan kustom di grup keamanan untuk klaster DB Anda yang memungkinkan koneksi dari grup keamanan yang Anda buat untuk instans EC2. Aturan ini dapat memungkinkan anggota grup keamanan untuk mengakses klaster DB.

Ada subnet publik dan privat tambahan di Zona Ketersediaan terpisah. Grup subnet DB RDS membutuhkan subnet dalam setidaknya dua Zona Ketersediaan. Subnet tambahan memudahkan Anda untuk beralih ke deployment instans DB Multi-AZ di masa mendatang.

Untuk tutorial yang menunjukkan cara membuat VPC dengan subnet publik dan privat untuk skenario ini, lihat [Tutorial: Buat VPC untuk digunakan dengan ) IPv4](CHAP_Tutorials.WebServerDB.CreateVPC.md). 

**Tip**  
Anda dapat menyiapkan konektivitas jaringan antara instans Amazon EC2 dan instans DB secara otomatis saat membuat instans DB. Untuk informasi selengkapnya, lihat [Konfigurasikan konektivitas jaringan otomatis dengan instans EC2](USER_CreateDBInstance.md#USER_CreateDBInstance.Prerequisites.VPC.Automatic).

**Untuk membuat aturan dalam grup keamanan VPC yang memungkinkan koneksi dari grup keamanan lain, lakukan hal berikut:**

1.  [Masuk ke Konsol Manajemen AWS dan buka konsol VPC Amazon di https://console.aws.amazon.com /vpc.](https://console.aws.amazon.com/vpc)

1.  Pada panel navigasi, pilih **Grup keamanan**.

1. Pilih atau buat grup keamanan yang ingin Anda berikan aksesnya ke anggota grup keamanan lain. Dalam skenario sebelumnya, ini adalah grup keamanan yang Anda gunakan untuk instans DB Anda. Pilih tab **Aturan masuk**, lalu pilih **Edit aturan masuk**.

1. Di halaman **Edit aturan masuk**, pilih **Tambahkan aturan**.

1. Untuk **Jenis**, pilih entri yang sesuai dengan port yang Anda gunakan saat membuat instans DB Anda, seperti **MySQL/Aurora**.

1. Di kotak **Sumber**, mulai ketikkan ID dari grup keamanan, sehingga akan menampilkan daftar grup keamanan yang sesuai. Pilih grup keamanan dengan anggota yang ingin diberi akses ke sumber daya yang dilindungi oleh grup keamanan ini. Dalam skenario sebelumnya, ini adalah grup keamanan yang Anda gunakan untuk instans EC2 Anda.

1. Jika perlu, ulangi langkah-langkah untuk protokol TCP dengan membuat aturan **Semua TCP** sebagai **Jenis** dan grup keamanan Anda di kotak **Sumber**. Jika Anda ingin menggunakan protokol UDP, buat aturan dengan **Semua UDP** sebagai **Jenis** dan grup keamanan Anda di **Sumber**.

1. Pilih **Simpan aturan**.

Layar berikut menunjukkan aturan masuk dengan grup keamanan sebagai sumbernya.

![\[Menambahkan grup keamanan ke aturan grup keamanan lain.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/con-vpc-add-sg-rule.png)


Untuk informasi selengkapnya tentang menghubungkan ke klaster DB dari instans EC2 Anda, lihat [Menghubungkan ke instans DB Amazon RDS](CHAP_CommonTasks.Connect.md) .

## Instans DB dalam VPC yang diakses oleh instans EC2 dalam VPC yang sama
<a name="USER_VPC.Scenario3"></a>

Jika instans DB Anda ada dalam VPC yang berbeda dari instans EC2 yang Anda gunakan untuk mengaksesnya, Anda dapat menggunakan peering VPC untuk mengakses instans DB.

Diagram berikut menunjukkan skenario ini. 

![\[Instans DB dalam VPC yang diakses oleh instans Amazon EC2 di VPC yang berbeda.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/RDSVPC2EC2VPC.png)


Koneksi peering VPC adalah koneksi jaringan antara dua VPCs yang memungkinkan Anda untuk merutekan lalu lintas di antara mereka menggunakan alamat IP pribadi. Sumber daya dalam VPC mana pun dapat berkomunikasi satu sama lain seolah-olahnya ada di jaringan yang sama. Anda dapat membuat koneksi peering VPC antara Anda sendiri VPCs, dengan VPC di AWS akun lain, atau dengan VPC di akun lain. Wilayah AWS Untuk mempelajari selengkapnya tentang peering VPC, lihat [Peering VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-peering.html) dalam *Panduan Pengguna Amazon Virtual Private Cloud*.

## Instans DB dalam VPC yang diakses oleh aplikasi klien melalui internet
<a name="USER_VPC.Scenario4"></a>

Untuk mengakses instans DB di VPC dari aplikasi klien melalui internet, Anda dapat mengonfigurasi VPC dengan subnet publik tunggal, dan gateway internet untuk memungkinkan komunikasi melalui internet.

Diagram berikut menunjukkan skenario ini.

![\[Sebuah instans DB dalam VPC diakses oleh aplikasi klien melalui internet.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/GS-VPC-network.png)


Kami merekomendasikan konfigurasi berikut:

 
+ VPC ukuran /16 (misalnya CIDR: 10.0.0.0/16). Ukuran ini menyediakan 65.536 alamat IP privat.
+ Subnet dengan ukuran /24 (misalnya CIDR: 10.0.0.0/24). Ukuran ini menyediakan 256 alamat IP privat.
+ Instans DB Amazon RDS yang dikaitkan dengan VPC dan subnet. Amazon RDS menetapkan alamat IP dalam subnet ke instans DB Anda.
+ Gateway internet yang menghubungkan VPC ke internet dan ke produk AWS lainnya.
+ Grup keamanan yang terkait dengan instans DB. Aturan masuk grup keamanan memungkinkan aplikasi klien Anda mengakses instans DB Anda.

Untuk informasi tentang cara membuat instans DB di VPC, lihat [Membuat instans DB dalam VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.InstanceInVPC).

## Instans DB dalam VPC yang diakses oleh jaringan privat
<a name="USER_VPC.NotPublic"></a>

Jika instans DB Anda tidak dapat diakses secara publik, Anda memiliki opsi berikut untuk mengaksesnya dari jaringan privat:
+ Koneksi AWS Site-to-Site VPN. Untuk informasi selengkapnya, lihat [Apa itu AWS Site-to-Site VPN?](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
+  Direct Connect Koneksi. Untuk informasi lebih lanjut, lihat [Apa itu Direct Connect?](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)
+  AWS Client VPN Koneksi. Untuk informasi selengkapnya, lihat [Apa itu AWS Client VPN?](https://docs.aws.amazon.com//vpn/latest/clientvpn-admin/what-is.html)

Diagram berikut menunjukkan skenario dengan koneksi AWS Site-to-Site VPN. 

![\[Instans DB dalam VPC yang diakses oleh jaringan pribadi.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/site-to-site-vpn-connection.png)


Lihat informasi yang lebih lengkap di [Privasi lalu lintas antarjaringan](inter-network-traffic-privacy.md).

# Tutorial: Buat VPC untuk digunakan dengan ) IPv4
<a name="CHAP_Tutorials.WebServerDB.CreateVPC"></a>

Skenario umum mencakup instans DB cloud privat virtual (VPC) berdasarkan layanan Amazon VPC. VPC ini berbagi data dengan server web yang berjalan di VPC yang sama. Dalam tutorial ini, Anda membuat VPC untuk skenario ini.

Diagram berikut menunjukkan skenario ini. Untuk informasi tentang skenario lain, lihat [Skenario untuk mengakses instans DB di VPC](USER_VPC.Scenarios.md). 

![\[Skenario VPC Tunggal\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/con-VPC-sec-grp.png)


Instans DB Anda harus tersedia hanya untuk server web Anda, dan bukan untuk internet publik. Dengan demikian, Anda membuat VPC dengan subnet publik maupun privat. Server web di-host di subnet publik, sehingga dapat menjangkau internet publik. Instans DB di-host di subnet privat. Server web dapat terhubung ke instans DB karena di-host dalam VPC yang sama. Tetapi instans DB tidak tersedia untuk internet publik, sehingga memberikan keamanan yang lebih baik.

Tutorial ini mengonfigurasi subnet publik dan privat tambahan di Zona Ketersediaan terpisah. Subnet ini tidak digunakan oleh tutorial. Grup subnet DB RDS membutuhkan subnet, setidaknya di dua Zona Ketersediaan. Subnet tambahan memudahkan untuk beralih ke deployment instans DB Multi-AZ di masa mendatang. 

Tutorial ini menjelaskan konfigurasi VPC untuk instans DB Amazon RDS. Untuk tutorial yang menunjukkan cara membuat server web untuk skenario VPC ini, lihat [Tutorial: Membuat server web dan instans DB Amazon RDS](TUT_WebAppWithRDS.md). Untuk informasi selengkapnya tentang Amazon VPC, lihat [Panduan Memulai Amazon VPC](https://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/) dan [Panduan Pengguna Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/). 

**Tip**  
Anda dapat mengatur konektivitas jaringan antara instans Amazon EC2 dan instans DB secara otomatis saat membuat instans DB. Konfigurasi jaringan mirip dengan yang dijelaskan dalam tutorial ini. Untuk informasi selengkapnya, lihat [Konfigurasikan konektivitas jaringan otomatis dengan instans EC2](USER_CreateDBInstance.md#USER_CreateDBInstance.Prerequisites.VPC.Automatic). 

## Membuat VPC dengan subnet publik dan privat
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.VPCAndSubnets"></a>

Gunakan prosedur berikut untuk membuat VPC dengan subnet publik maupun privat. 

**Untuk membuat VPC dan subnet**

1. Buka konsol Amazon VPC di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Di pojok kanan atas Konsol Manajemen AWS, pilih Wilayah untuk membuat VPC Anda. Contoh ini menggunakan Wilayah AS Barat (Oregon).

1. Di sudut kiri atas, pilih **Dasbor VPC **. Untuk mulai membuat VPC, pilih **Buat VPC**.

1. Agar **Sumber daya dapat dibuat** di bagian **pengaturan VPC**, pilih **VPC dan lainnya**.

1. Untuk **pengaturan VPC**, atur nilai-nilai ini:
   + **Pembuatan otomatis tag nama** – **tutorial**
   + **IPv4 Blok CIDR** — **10.0.0.0/16**
   + IPv6 Blok **CIDR - Tidak ada blok IPv6 ** **CIDR**
   + **Penghunian** – **Default**
   + **Jumlah Availability Zone (AZs)** — **2**
   + **Kustomisasi AZs** - Pertahankan nilai default.
   + **Jumlah subnet publik** – **2**
   + **Jumlah subnet privat** – **2**
   + **Sesuaikan subnet blok CIDR** – Pertahankan nilai default.
   + **Gateway NAT (\$1)** – **Tidak ada**
   + **Titik akhir VPC** – **Tidak ada**
   + **Opsi DNS** – Pertahankan nilai default.
**catatan**  
Amazon RDS membutuhkan setidaknya dua subnet di dua Zona Ketersediaan yang berbeda untuk mendukung deployment instans DB Multi-AZ. Tutorial ini membuat deployment AZ Tunggal, tetapi persyaratannya memudahkan konversi ke deployment instans DB Multi-AZ di masa mendatang.

1. Pilih **Buat VPC**.

## Buat grup keamanan VPC untuk server web publik
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupEC2"></a>

Berikutnya, Anda membuat grup keamanan untuk akses publik. Untuk terhubung ke instans EC2 publik di VPC Anda, tambahkan aturan masuk ke grup keamanan VPC Anda. Ini memungkinkan lalu lintas untuk terhubung dari internet.

**Untuk membuat grup keamanan VPC**

1. Buka konsol Amazon VPC di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Pilih **Dasbor VPC**, pilih **Grup Keamanan**, lalu pilih **Buat grup keamanan**. 

1. Di halaman **Buat grup keamanan**, atur nilai ini: 
   + **Nama grup keamanan:** **tutorial-securitygroup**
   + **Deskripsi:** **Tutorial Security Group**
   + **VPC:** Pilih VPC yang Anda buat sebelumnya, misalnya: vpc- (**tutorial-vpc**) *identifier* 

1. Tambahkan aturan masuk ke grup keamanan.

   1. Tentukan alamat IP yang akan digunakan untuk terhubung ke instans EC2 di VPC Anda menggunakan Secure Shell (SSH). Untuk menentukan alamat IP publik Anda, di jendela atau tab browser yang berbeda, Anda dapat menggunakan layanan di [https://checkip.amazonaws.com](https://checkip.amazonaws.com). Contoh alamat IP adalah `203.0.113.25/32`.

      Dalam banyak kasus, Anda dapat menghubungkan melalui penyedia layanan Internet (ISP) atau dari belakang firewall Anda tanpa alamat IP statis. Jika demikian, temukan rentang alamat IP yang digunakan oleh komputer klien.
**Awas**  
Jika Anda menggunakan `0.0.0.0/0` untuk akses SSH, Anda memungkinkan semua alamat IP untuk mengakses instans publik Anda menggunakan SSH. Hal ini dapat diterima untuk waktu yang singkat di lingkungan pengujian, tetapi tidak aman untuk lingkungan produksi. Dalam produksi, Anda hanya dapat memberikan otorisasi pada alamat IP atau rentang alamat tertentu saja untuk mengakses instans-instans Anda menggunakan SSH.

   1. Di bagian **Aturan masuk**, pilih **Tambahkan aturan**.

   1. Atur nilai berikut untuk aturan masuk baru Anda yang akan mengizinkan akses SSH ke instans Amazon EC2 Anda. Tindakan ini memungkinkan Anda terhubung ke instans Amazon EC2 Anda untuk menginstal server web dan utilitas lainnya. Anda juga terhubung ke instans EC2 Anda untuk mengunggah konten untuk server web Anda. 
      + **Jenis:** **SSH**
      + **Sumber:** Rentang atau alamat IP dari Langkah a, misalnya: **203.0.113.25/32**.

   1. Pilih **Tambahkan aturan**.

   1. Atur nilai berikut untuk aturan masuk baru yang akan mengizinkan akses HTTP ke server web Anda.
      + **Jenis**: **HTTP**
      + **Sumber:** **0.0.0.0/0**

1. Untuk membuat grup keamanan, pilih **Buat grup keamanan**.

   Catat ID grup keamanan karena Anda membutuhkannya nanti dalam tutorial ini.

## Membuat grup keamanan VPC untuk instans DB privat
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupDB"></a>

Agar instans DB tetap privat, buat grup keamanan kedua untuk akses privat. Untuk terhubung ke instans DB pribadi di VPC Anda, Anda menambahkan aturan masuk ke grup keamanan VPC Anda yang mengizinkan lalu lintas dari server web Anda saja.

**Untuk membuat grup keamanan VPC**

1. Buka konsol Amazon VPC di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Pilih **Dasbor VPC**, pilih **Grup Keamanan**, lalu pilih **Buat grup keamanan**.

1. Di halaman **Buat grup keamanan**, atur nilai ini:
   + **Nama grup keamanan:** **tutorial-db-securitygroup**
   + **Deskripsi:** **Tutorial DB Instance Security Group**
   + **VPC:** Pilih VPC yang Anda buat sebelumnya, misalnya: vpc- (**tutorial-vpc**) *identifier*

1. Tambahkan aturan masuk ke grup keamanan.

   1. Di bagian **Aturan masuk**, pilih **Tambahkan aturan**.

   1. Atur nilai berikut untuk aturan masuk baru Anda yang akan mengizinkan lalu lintas MySQL di port 3306 dari instans Amazon EC2 Anda. Tindakan ini memungkinkan Anda terhubung dari server web Anda ke instans DB Anda. Dengan demikian, Anda dapat menyimpan dan mengambil data dari aplikasi web Anda ke basis data Anda. 
      + **Jenis**: **MySQL/Aurora**
      + **Sumber:** Pengidentifikasi grup keamanan**tutorial-securitygroup** yang Anda buat sebelumnya dalam tutorial ini, misalnya: **sg-9edd5cfb**.

1. Untuk membuat grup keamanan, pilih **Buat grup keamanan**.

## Membuat grup subnet DB
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.DBSubnetGroup"></a>

*Grup subnet DB* adalah kumpulan subnet yang Anda buat dalam VPC dan yang Anda tetapkan untuk instans DB. Grup subnet DB memungkinkan Anda untuk menentukan VPC tertentu saat membuat instans DB.

**Untuk membuat grup subnet DB**

1. Identifikasi subnet privat untuk basis data Anda di VPC.

   1. Buka konsol Amazon VPC di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

   1. Pilih **Dasbor VPC**, lalu pilih **Subnet**.

   1. **Perhatikan subnet dari subnet bernama IDs **tutorial-subnet-private1-us-west-2a dan 2-us-west-2b**. tutorial-subnet-private**

      Anda memerlukan subnet IDs saat Anda membuat grup subnet DB Anda.

1. Buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

   Pastikan Anda terhubung ke konsol Amazon RDS, bukan konsol Amazon VPC.

1. Di panel navigasi, pilih **Grup subnet**.

1. Pilih **Buat grup subnet DB**.

1. Di halaman **Buat kelompok subnet DB**, atur nilai ini di **Detail grup subnet**:
   + **Nama:** **tutorial-db-subnet-group**
   + **Deskripsi:** **Tutorial DB Subnet Group**
   + **VPC: tutorial-vpc** **(vpc** -) *identifier* 

1. Di bagian **Tambahkan subnet**, pilih **Zona Ketersediaan** dan **Subnet**.

   Untuk tutorial ini, pilih **us-west-2a** dan **us-west-2b** untuk **Zona Ketersediaan**. Untuk **Subnet**, pilih subnet privat yang Anda identifikasi pada langkah sebelumnya.

1. Pilih **Buat**. 

   Grup subnet DB baru Anda muncul dalam daftar grup subnet DB di konsol RDS. Anda dapat memilih grup subnet DB untuk melihat detail di panel detail di bagian bawah jendela. Detail ini mencakup semua subnet yang terkait dengan grup.

**catatan**  
Jika Anda membuat VPC ini untuk menyelesaikan [Tutorial: Membuat server web dan instans DB Amazon RDS](TUT_WebAppWithRDS.md), buat instans DB dengan mengikuti petunjuk di [Membuat instans DB Amazon RDS](CHAP_Tutorials.WebServerDB.CreateDBInstance.md).

## Menghapus VPC
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.Delete"></a>

Setelah membuat VPC dan sumber daya lainnya untuk tutorial ini, Anda dapat menghapusnya jika tidak dibutuhkan lagi.

**catatan**  
Jika Anda menambahkan sumber daya di VPC yang Anda buat untuk tutorial ini, Anda mungkin perlu menghapusnya sebelum menghapus VPC. Misalnya, sumber daya ini mungkin menyertakan instans Amazon EC2 atau instansDB Amazon RDS. Untuk informasi selengkapnya, lihat [Menghapus VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#VPC_Deleting) di *Panduan Pengguna Amazon VPC*.

**Untuk menghapus VPC dan sumber daya terkait**

1. Hapus grup subnet DB.

   1. Buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

   1. Di panel navigasi, pilih **Grup Subnet**.

   1. Pilih grup subnet DB yang ingin Anda hapus, seperti **tutorial-db-subnet-group**.

   1. Pilih **Hapus**, lalu pilih **Hapus** di jendela konfirmasi.

1. Catat ID VPC.

   1. Buka konsol Amazon VPC di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

   1. Pilih **Dasbor VPC**, lalu pilih. **VPCs**

   1. Dalam daftar, identifikasi VPC yang Anda buat, seperti **tutorial-vpc**.

   1. Catat **ID VPC** dari VPC yang Anda buat. ID VPC diperlukan di langkah berikutnya.

1. Hapus grup keamanan.

   1. Buka konsol Amazon VPC di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

   1. Pilih **Dasbor VPC**, lalu pilih **Grup Keamanan**.

   1. Pilih grup keamanan untuk instans Amazon RDS DB, seperti **tutorial-db-securitygroup**.

   1. Untuk **Tindakan**, pilih **Hapus grup keamanan**, lalu pilih **Hapus** di halaman konfirmasi.

   1. Di halaman **Grup Keamanan**, pilih grup keamanan untuk instans Amazon EC2, seperti **tutorial-securitygroup**.

   1. Untuk **Tindakan**, pilih **Hapus grup keamanan**, lalu pilih **Hapus** di halaman konfirmasi.

1. Hapus VPC.

   1. Buka konsol Amazon VPC di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

   1. Pilih **Dasbor VPC**, lalu pilih. **VPCs**

   1. Pilih VPC yang ingin Anda hapus, seperti **tutorial-vpc**.

   1. Untuk **Tindakan**, pilih **Hapus VPC**.

      Halaman konfirmasi menunjukkan sumber daya lain yang terkait dengan VPC yang juga akan dihapus, termasuk subnet yang terkait dengannya.

   1. Di halaman konfirmasi, masukkan **delete**, lalu pilih **Hapus**.

# Tutorial: Membuat VPC untuk digunakan dengan instans DB (mode tumpukan ganda)
<a name="CHAP_Tutorials.CreateVPCDualStack"></a>

Skenario umum mencakup instans DB cloud privat virtual (VPC) berdasarkan layanan Amazon VPC. VPC ini membagikan data dengan instans Amazon EC2 publik yang dijalankan di VPC yang sama.

Dalam tutorial ini, Anda akan membuat VPC untuk skenario ini yang berfungsi dengan basis data yang berjalan dalam mode tumpukan ganda. Mode dual-stack untuk mengaktifkan koneksi melalui protokol IPv6 pengalamatan. Untuk informasi selengkapnya tentang penentuan alamat IP, lihat [Penentuan alamat IP Amazon RDS](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.IP_addressing).

Instans jaringan tumpukan ganda didukung di sebagian besar wilayah. Untuk informasi selengkapnya, lihat [Ketersediaan wilayah dan versi](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.IP_addressing.RegionVersionAvailability). Untuk melihat batasan mode tumpukan ganda, lihat [Batasan untuk instans DB jaringan tumpukan ganda](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.IP_addressing.dual-stack-limitations).

Diagram berikut menunjukkan skenario ini.

 

![\[Skenario VPC untuk mode tumpukan ganda\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/con-VPC-sec-grp-dual-stack.png)


Untuk informasi tentang skenario lain, lihat [Skenario untuk mengakses instans DB di VPC](USER_VPC.Scenarios.md).

Instans DB Anda harus tersedia hanya untuk instans Amazon EC2 Anda, dan bukan untuk internet publik. Dengan demikian, Anda membuat VPC dengan subnet publik maupun privat. Instans Amazon EC2 di-hosting di subnet publik agar dapat menjangkau internet publik. Instans DB di-host di subnet privat. Instans Amazon EC2 dapat terhubung ke instans DB karena di-hosting dalam VPC yang sama. Namun, instans DB tidak tersedia untuk internet publik, sehingga memberikan keamanan yang lebih besar.

Tutorial ini mengonfigurasi subnet publik dan privat tambahan di Zona Ketersediaan terpisah. Subnet ini tidak digunakan oleh tutorial. Grup subnet DB RDS membutuhkan subnet, setidaknya di dua Zona Ketersediaan. Subnet tambahan memudahkan untuk beralih ke deployment instans DB Multi-AZ di masa mendatang. 

Untuk membuat instans DB yang menggunakan mode tumpukan ganda, tetapkan **Mode tumpukan ganda** untuk pengaturan **Jenis jaringan**. Anda juga dapat mengubah instans DB dengan pengaturan yang sama. Untuk informasi selengkapnya, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md) dan [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

Tutorial ini menjelaskan konfigurasi VPC untuk instans DB Amazon RDS. Untuk informasi selengkapnya tentang Amazon VPC, lihat [Panduan Pengguna Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/). 

## Membuat VPC dengan subnet publik dan privat
<a name="CHAP_Tutorials.CreateVPCDualStack.VPCAndSubnets"></a>

Gunakan prosedur berikut untuk membuat VPC dengan subnet publik maupun privat. 

**Untuk membuat VPC dan subnet**

1. Buka konsol VPC Amazon di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Di sudut kanan atas Konsol Manajemen AWS, pilih Wilayah untuk membuat VPC Anda. Contoh ini menggunakan Wilayah US East (Ohio).

1. Di sudut kiri atas, pilih **Dasbor VPC **. Untuk mulai membuat VPC, pilih **Buat VPC**.

1. Agar **Sumber daya dapat dibuat** di bagian **pengaturan VPC**, pilih **VPC dan lainnya**.

1. Untuk **Pengaturan VPC** lainnya, atur nilai-nilai ini:
   + **Pembuatan otomatis tag nama** – **tutorial-dual-stack**
   + **IPv4 Blok CIDR** — **10.0.0.0/16**
   + IPv6 Blok **CIDR - Blok** CIDR yang **disediakan Amazon IPv6 **
   + **Penghunian** – **Default**
   + **Jumlah Availability Zone (AZs)** — **2**
   + **Kustomisasi AZs** - Pertahankan nilai default.
   + **Jumlah subnet publik** – **2**
   + **Jumlah subnet privat** – **2**
   + **Sesuaikan subnet blok CIDR** – Pertahankan nilai default.
   + **Gateway NAT (\$1)** – **Tidak ada**
   + **Gateway internet khusus egress** – **Tidak**
   + **Titik akhir VPC** – **Tidak ada**
   + **Opsi DNS** – Pertahankan nilai default.
**catatan**  
Amazon RDS membutuhkan setidaknya dua subnet di dua Zona Ketersediaan yang berbeda untuk mendukung deployment instans DB Multi-AZ. Tutorial ini membuat deployment AZ Tunggal, tetapi persyaratannya memudahkan konversi ke deployment instans DB Multi-AZ di masa mendatang.

1. Pilih **Buat VPC**.

## Membuat grup keamanan VPC untuk instans Amazon EC2 publik
<a name="CHAP_Tutorials.CreateVPCDualStack.SecurityGroupEC2"></a>

Berikutnya, Anda membuat grup keamanan untuk akses publik. Untuk terhubung ke instans EC2 publik di VPC Anda, tambahkan aturan masuk ke grup keamanan VPC Anda yang mengizinkan lalu lintas untuk terhubung dari internet.

**Untuk membuat grup keamanan VPC**

1. Buka konsol VPC Amazon di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Pilih **Dasbor VPC**, pilih **Grup Keamanan**, lalu pilih **Buat grup keamanan**. 

1. Di halaman **Buat grup keamanan**, atur nilai ini:
   + **Nama grup keamanan:** **tutorial-dual-stack-securitygroup**
   + **Deskripsi:** **Tutorial Dual-Stack Security Group**
   + **VPC:** **Pilih VPC yang Anda buat sebelumnya, misalnya: vpc- () *identifier* tutorial-dual-stack-vpc** 

1. Tambahkan aturan masuk ke grup keamanan.

   1. Tentukan alamat IP yang akan digunakan untuk terhubung ke instans EC2 di VPC Anda menggunakan Secure Shell (SSH).

      Contoh alamat Internet Protocol versi 4 (IPv4) adalah`203.0.113.25/32`. Contoh rentang alamat Internet Protocol versi 6 (IPv6) adalah`2001:db8:1234:1a00::/64`.

      Dalam banyak kasus, Anda dapat menghubungkan melalui penyedia layanan Internet (ISP) atau dari belakang firewall Anda tanpa alamat IP statis. Jika demikian, temukan rentang alamat IP yang digunakan oleh komputer klien.
**Awas**  
Jika Anda menggunakan `0.0.0.0/0` untuk IPv4 atau `::0` untuk IPv6, Anda memungkinkan semua alamat IP untuk mengakses instans publik Anda menggunakan SSH. Pendekatan ini dapat diterima untuk waktu yang singkat di lingkungan pengujian, tetapi tidak aman untuk lingkungan produksi. Dalam produksi, Anda hanya dapat memberikan otorisasi pada alamat IP atau rentang alamat tertentu saja untuk mengakses instans-instans Anda.

   1. Di bagian **Aturan masuk**, pilih **Tambahkan aturan**.

   1. Atur nilai berikut untuk aturan masuk baru Anda yang akan mengizinkan akses Secure Shell (SSH) ke instans Amazon EC2 Anda. Jika Anda melakukan ini, Anda dapat terhubung ke instans EC2 Anda untuk menginstal klien SQL dan aplikasi lainnya. Tentukan alamat IP agar Anda dapat mengakses instans EC2 Anda:
      + **Jenis**: **SSH**
      + **Sumber:** Rentang atau alamat IP dari langkah a. Contoh dari alamat IPv4 IP adalah**203.0.113.25/32**. Contoh dari alamat IPv6 IP adalah**2001:DB8::/32**.

1. Untuk membuat grup keamanan, pilih **Buat grup keamanan**.

   Catat ID grup keamanan karena Anda membutuhkannya nanti dalam tutorial ini.

## Membuat grup keamanan VPC untuk instans DB privat
<a name="CHAP_Tutorials.CreateVPCDualStack.SecurityGroupDB"></a>

Agar instans DB tetap privat, buat grup keamanan kedua untuk akses privat. Untuk terhubung ke instans DB di VPC Anda, tambahkan aturan masuk ke grup keamanan VPC Anda. Hal ini mengizinkan lalu lintas dari instans Amazon EC2 Anda saja.

**Untuk membuat grup keamanan VPC**

1. Buka konsol VPC Amazon di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Pilih **Dasbor VPC**, pilih **Grup Keamanan**, lalu pilih **Buat grup keamanan**.

1. Di halaman **Buat grup keamanan**, atur nilai ini:
   + **Nama grup keamanan:** **tutorial-dual-stack-db-securitygroup**
   + **Deskripsi:** **Tutorial Dual-Stack DB Instance Security Group**
   + **VPC:** **Pilih VPC yang Anda buat sebelumnya, misalnya: vpc- () *identifier* tutorial-dual-stack-vpc**

1. Tambahkan aturan masuk ke grup keamanan:

   1. Di bagian **Aturan masuk**, pilih **Tambahkan aturan**.

   1. Atur nilai berikut untuk aturan masuk baru Anda yang akan mengizinkan lalu lintas MySQL di port 3306 dari instans Amazon EC2 Anda. Dengan melakukannya, Anda dapat terhubung dari instans EC2 Anda ke instans DB Anda. Melakukan hal ini berarti Anda dapat mengirimkan data dari instans EC2 Anda ke basis data Anda.
      + **Jenis:** **MySQL/Aurora**
      + **Sumber:** Pengidentifikasi grup **tutorial-dual-stack-securitygroup**keamanan yang Anda buat sebelumnya dalam tutorial ini, misalnya **sg-9edd5cfb**.

1. Untuk membuat grup keamanan, pilih **Buat grup keamanan**.

## Membuat grup subnet DB
<a name="CHAP_Tutorials.CreateVPCDualStack.DBSubnetGroup"></a>

*Grup subnet DB* adalah kumpulan subnet yang Anda buat dalam VPC dan yang Anda tetapkan untuk instans DB. Dengan menggunakan grup subnet DB, Anda dapat menentukan VPC tertentu saat membuat instans DB. Untuk membuat grup subnet DB yang kompatibel dengan `DUAL`, semua subnet harus kompatibel dengan `DUAL`. Agar `DUAL` kompatibel, subnet harus memiliki IPv6 CIDR yang terkait dengannya.

**Untuk membuat grup subnet DB**

1. Identifikasi subnet privat untuk basis data Anda di VPC.

   1. Buka konsol VPC Amazon di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

   1. Pilih **Dasbor VPC**, lalu pilih **Subnet**.

   1. **Perhatikan subnet dari subnet bernama IDs **tutorial-dual-stack-subnet-private1-us-west-2a dan -private2-us-west-2b**. tutorial-dual-stack-subnet**

      Anda akan membutuhkan subnet IDs ketika Anda membuat grup subnet DB Anda.

1. Buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

   Pastikan Anda terhubung ke konsol Amazon RDS, bukan konsol Amazon VPC.

1. Di panel navigasi, pilih **Grup subnet**.

1. Pilih **Buat grup subnet DB**.

1. Di halaman **Buat kelompok subnet DB**, atur nilai ini di **Detail grup subnet**:
   + **Nama:** **tutorial-dual-stack-db-subnet-group**
   + **Deskripsi:** **Tutorial Dual-Stack DB Subnet Group**
   + **VPC: **tutorial-dual-stack-vpc (vpc**** -) *identifier* 

1. Di bagian **Tambahkan subnet**, pilih nilai untuk opsi **Zona Ketersediaan** dan **Subnet**.

   Untuk tutorial ini, pilih **us-east-2a** dan **us-east-2b** untuk **Zona Ketersediaan**. Untuk **Subnet**, pilih subnet privat yang Anda identifikasi pada langkah sebelumnya.

1. Pilih **Buat**. 

Grup subnet DB baru Anda muncul dalam daftar grup subnet DB di konsol RDS. Anda dapat memilih grup subnet DB untuk melihat detailnya. Detail ini termasuk protokol penentuan alamat yang didukung, semua subnet yang terkait dengan grup tersebut, dan jenis jaringan yang didukung oleh grup subnet DB.

## Membuat instans Amazon EC2 dalam mode tumpukan ganda
<a name="CHAP_Tutorials.CreateVPCDualStack.CreateEC2Instance"></a>

Untuk membuat instans Amazon EC2, ikuti petunjuk dalam [Meluncurkan instans menggunakan panduan instans peluncuran baru di Panduan](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html) Pengguna *Amazon EC2*.

Di halaman **Mengonfigurasi Detail Instans**, atur nilai-nilai ini dan biarkan nilai lainnya sebagai default:
+ **Jaringan** — Pilih VPC yang ada dengan subnet publik dan pribadi, seperti **tutorial-dual-stack-vpc**(vpc-*identifier*) yang dibuat di. [Membuat VPC dengan subnet publik dan privat](#CHAP_Tutorials.CreateVPCDualStack.VPCAndSubnets)
+ **Subnet** — Pilih subnet publik yang sudah ada, seperti **subnet- *identifier* \$1 tutorial-dual-stack-subnet -public1-us-east-2a \$1 us-east-2a** dibuat di. [Membuat grup keamanan VPC untuk instans Amazon EC2 publik](#CHAP_Tutorials.CreateVPCDualStack.SecurityGroupEC2)
+ **IP Publik yang Otomatis Ditetapkan** – Pilih **Aktifkan**.
+ **Tetapkan IPv6 IP secara otomatis** **- Pilih Aktifkan.**
+ **Firewall (grup keamanan)** – Pilih **Pilih grup keamanan yang ada**.
+ **Grup keamanan umum** – Pilih grup keamanan yang ada, seperti `tutorial-securitygroup` yang dibuat di [Membuat grup keamanan VPC untuk instans Amazon EC2 publik](#CHAP_Tutorials.CreateVPCDualStack.SecurityGroupEC2). Pastikan grup keamanan yang Anda pilih menyertakan aturan masuk untuk akses Secure Shell (SSH) dan HTTP.

## Membuat instans DB dalam mode tumpukan ganda
<a name="CHAP_Tutorials.CreateVPCDualStack.CreateDBInstance"></a>

Pada langkah ini, Anda akan membuat instans DB yang berjalan dalam mode tumpukan ganda.

**Membuat instans DB**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  Contoh ini menggunakan Wilayah AS Timur (Ohio).

1. Di panel navigasi, pilih **Basis Data**.

1. Pilih **Buat basis data**.

1. Di halaman **Membuat basis data**, pastikan opsi **Pembuatan standar** dipilih, lalu pilih jenis mesin MySQL DB.

1. Di bagian **Konektivitas**, atur nilai-nilai ini:
   + **Jenis jaringan** – Pilih **Mode tumpukan ganda**.  
![\[Bagian Jenis jaringan di konsol dengan Mode tumpukan ganda yang dipilih\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/dual-stack-mode.png)
   + **Virtual private cloud (VPC)** — Pilih VPC yang sudah ada dengan subnet publik dan pribadi, seperti **tutorial-dual-stack-vpc**(vpc-) yang dibuat di. *identifier* [Membuat VPC dengan subnet publik dan privat](#CHAP_Tutorials.CreateVPCDualStack.VPCAndSubnets)

     VPC tersebut harus memiliki subnet di Zona Ketersediaan yang berbeda.
   + **Grup **subnet DB - Pilih grup** subnet DB untuk VPC, seperti tutorial-dual-stack-db -subnet-group yang dibuat di.** [Membuat grup subnet DB](#CHAP_Tutorials.CreateVPCDualStack.DBSubnetGroup)
   + **Akses publik** – Pilih **Tidak**.
   + **Grup keamanan VPC (firewall)** – Pilih **Pilih grup keamanan yang ada**.
   + **Grup keamanan **VPC yang ada — Pilih grup keamanan** VPC yang ada yang dikonfigurasi untuk akses pribadi, seperti tutorial-dual-stack-db -securitygroup yang dibuat di.** [Membuat grup keamanan VPC untuk instans DB privat](#CHAP_Tutorials.CreateVPCDualStack.SecurityGroupDB)

     Hapus grup keamanan lainnya, seperti grup keamanan default, dengan memilih **X** yang dikaitkan dengan masing-masing grup keamanan.
   + **Zona Ketersediaan** – Pilih **us-west-2a**.

     Untuk menghindari lalu lintas AZ, pastikan instans DB dan instans EC2 berada di Zona Ketersediaan yang sama.

1. Untuk bagian yang tersisa, tentukan pengaturan instans DB Anda. Untuk informasi tentang setiap pengaturan, lihat [Pengaturan untuk instans DB](USER_CreateDBInstance.Settings.md).

## Menghubungkan ke instans Amazon EC2 dan instans DB
<a name="CHAP_Tutorials.CreateVPCDualStack.Connect"></a>

Setelah membuat instans Amazon EC2 dan instans DB dalam mode tumpukan ganda, Anda dapat terhubung ke masing-masing instans menggunakan protokol IPv6. Untuk menyambung ke instans Amazon EC2 menggunakan IPv6 protokol, ikuti petunjuk di [Connect to Linux Anda di Panduan](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html) Pengguna *Amazon EC2*.

Untuk menghubungkan ke instans DB RDS for MySQL dari instans Amazon EC2, ikuti petunjuk di [Menghubungkan ke instans DB MySQL](CHAP_GettingStarted.CreatingConnecting.MySQL.md#CHAP_GettingStarted.Connecting.MySQL).

## Menghapus VPC
<a name="CHAP_Tutorials.CreateVPCDualStack.Delete"></a>

Setelah membuat VPC dan sumber daya lainnya untuk tutorial ini, Anda dapat menghapusnya jika tidak dibutuhkan lagi.

Jika Anda menambahkan sumber daya di VPC yang Anda buat untuk tutorial ini, Anda mungkin perlu menghapusnya sebelum menghapus VPC. Contoh sumber dayanya adalah instans Amazon EC2 atau instans DB. Untuk informasi selengkapnya, lihat [Menghapus VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#VPC_Deleting) di *Panduan Pengguna Amazon VPC*.

**Untuk menghapus VPC dan sumber daya terkait**

1. Hapus grup subnet DB:

   1. Buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

   1. Di panel navigasi, pilih **Grup Subnet**.

   1. Pilih grup subnet DB yang akan dihapus, seperti **tutorial-db-subnet-group**.

   1. Pilih **Hapus**, lalu pilih **Hapus** di jendela konfirmasi.

1. Catat ID VPC:

   1. Buka konsol VPC Amazon di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

   1. Pilih **Dasbor VPC**, lalu pilih. **VPCs**

   1. Dalam daftar, identifikasi VPC yang Anda buat, seperti. **tutorial-dual-stack-vpc**

   1. Catat nilai **ID VPC** dari VPC yang Anda buat. Anda memerlukan ID VPC ini di langkah selanjutnya.

1. Hapus grup keamanan:

   1. Buka konsol VPC Amazon di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

   1. Pilih **Dasbor VPC**, lalu pilih **Grup Keamanan**.

   1. Pilih grup keamanan untuk instans Amazon RDS DB, seperti **tutorial-dual-stack-db-securitygroup**.

   1. Untuk **Tindakan**, pilih **Hapus grup keamanan**, lalu pilih **Hapus** di halaman konfirmasi.

   1. Pada halaman **Grup Keamanan**, pilih grup keamanan untuk instans Amazon EC2, seperti. **tutorial-dual-stack-securitygroup**

   1. Untuk **Tindakan**, pilih **Hapus grup keamanan**, lalu pilih **Hapus** di halaman konfirmasi.

1. Hapus gateway NAT:

   1. Buka konsol VPC Amazon di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

   1. Pilih **Dasbor VPC**, lalu pilih **Gateway NAT**.

   1. Pilih gateway NAT dari VPC yang Anda buat. Gunakan ID VPC untuk mengidentifikasi gateway NAT yang benar.

   1. Untuk **Tindakan**, pilih **Hapus gateway NAT**.

   1. Di halaman konfirmasi, masukkan **delete**, lalu pilih **Hapus**.

1. Hapus VPC:

   1. Buka konsol VPC Amazon di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

   1. Pilih **Dasbor VPC**, lalu pilih. **VPCs**

   1. Pilih VPC yang ingin Anda hapus, seperti. **tutorial-dual-stack-vpc**

   1. Untuk **Tindakan**, pilih **Hapus VPC**.

      Halaman konfirmasi menunjukkan sumber daya lain yang terkait dengan VPC yang juga akan dihapus, termasuk subnet yang terkait dengannya.

   1. Di halaman konfirmasi, masukkan **delete**, lalu pilih **Hapus**.

1. Rilis alamat IP Elastis:

   1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

   1. Pilih **EC2 Dashboard**, dan kemudian pilih **Elastic IPs**.

   1. Pilih alamat IP Elastis yang ingin Anda rilis.

   1. Untuk **Tindakan**, pilih **Rilis alamat IP Elastis**.

   1. Di halaman konfirmasi, pilih **Rilis**.

# Memindahkan instans DB yang tidak berada dalam VPC ke VPC
<a name="USER_VPC.Non-VPC2VPC"></a>

Beberapa instans DB lama pada platform EC2-Classic tidak berada dalam VPC. Jika instans DB Anda tidak berada dalam VPC, Anda dapat menggunakan Konsol Manajemen AWS untuk memindahkan instans DB Anda dengan mudah ke VPC. Sebelum Anda dapat memindahkan instans DB yang tidak berada dalam VPC ke VPC, Anda harus membuat VPC. 


|  | 
| --- |
| EC2-Classic dipensiunkan pada 15 Agustus 2022. Jika Anda belum bermigrasi dari EC2-Classic ke VPC, kami sarankan Anda bermigrasi sesegera mungkin. Untuk informasi selengkapnya, lihat [Migrasi dari EC2-Classic ke VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) dalam Panduan Pengguna Amazon EC2 dan blog [EC2-Classic Networking akan Segera Dipensiunkan - Berikut Cara Mempersiapkannya](https://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/). | 

**penting**  
Jika Anda adalah pelanggan Amazon RDS baru, jika Anda belum pernah membuat instans DB sebelumnya, atau jika Anda membuat instans DB di Wilayah AWS yang belum pernah Anda gunakan sebelumnya, biasanya Anda berada di platform *EC2-VPC* dan memiliki VPC default. Untuk informasi tentang menggunakan instans DB dalam VPC, lihat [Menggunakan instans DB di VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md).

Ikuti langkah-langkah ini untuk membuat VPC untuk instans DB Anda. 
+ [Langkah 1: Buat VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.CreatingVPC)
+  [Langkah 2: Buat grup subnet DB](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.CreateDBSubnetGroup)
+  [Langkah 3: Buat grup keamanan VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.CreateVPCSecurityGroup)

Setelah Anda membuat VPC, ikuti langkah-langkah ini untuk memindahkan instans DB Anda ke VPC. 
+ [Memperbarui VPC untuk instance DB](USER_VPC.VPC2VPC.md)

Kami sangat menyarankan Anda untuk membuat cadangan instans DB segera sebelum migrasi. Tindakan ini akan memastikan bahwa Anda dapat memulihkan data jika migrasi gagal. Untuk informasi selengkapnya, lihat [Mencadangkan, memulihkan, dan mengekspor data](CHAP_CommonTasks.BackupRestore.md).

Berikut ini adalah beberapa batasan untuk memindahkan instans DB Anda ke VPC. 
+ **Kelas instans DB generasi sebelumnya** – Kelas instans DB generasi sebelumnya mungkin tidak didukung pada platform VPC. Saat memindahkan instans DB ke VPC, pilih kelas instans DB db.m3 atau db.r3. Setelah Anda memindahkan instans DB ke VPC, Anda dapat menskalakan instans DB untuk menggunakan kelas instans DB yang lebih tinggi. Untuk daftar lengkap kelas instans yang didukung VPC, lihat [Jenis instans Amazon RDS](https://aws.amazon.com/rds/instance-types/). 
+ **Multi-AZ** – Pemindahan instans DB Multi-AZ yang tidak berada dalam VPC ke VPC tidak didukung saat ini. Untuk memindahkan instans DB Anda ke VPC, pertama-tama ubah instans DB agar menjadi deployment AZ tunggal. Ubah pengaturan **Deployment Multi-AZ** ke **Tidak**. Setelah Anda memindahkan instans DB ke VPC, ubah lagi untuk menjadikannya deployment Multi-AZ. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). 
+ **Replika baca** – Pemindahan instans DB dengan replika baca yang tidak berada dalam VPC ke VPC tidak didukung saat ini. Untuk memindahkan instans DB Anda ke VPC, pertama-tama hapus semua replika baca. Setelah Anda memindahkan instans DB ke VPC, buat ulang replika baca. Untuk informasi selengkapnya, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md).
+ **Grup opsi** – Jika Anda memindahkan instans DB Anda ke VPC, dan instans DB menggunakan grup opsi kustom, ubah grup opsi yang terkait dengan instans DB Anda. Grup opsi bersifat khusus untuk platform, dan perpindahan ke VPC adalah perubahan pada platform. Untuk menggunakan grup opsi kustom dalam kasus ini, tetapkan grup opsi VPC default ke instans DB, tetapkan grup opsi yang digunakan oleh instans DB lain dalam VPC tempat Anda memindahkan instans DB, atau buat grup opsi baru dan tetapkan ke instans DB. Untuk informasi selengkapnya, lihat [Menggunakan grup opsi](USER_WorkingWithOptionGroups.md).

## Alternatif untuk memindahkan instans DB yang tidak ada di VPC ke VPC dengan waktu henti minimal
<a name="USER_VPC.Non-VPC2VPC.Minimal-Downtime"></a>

Dengan menggunakan alternatif berikut, Anda dapat memindahkan instans DB yang tidak ada di VPC ke VPC dengan waktu henti minimal. Alternatif ini meminimalkan gangguan pada instans DB sumber dan memungkinkannya melayani lalu lintas pengguna selama migrasi. Namun, waktu yang diperlukan untuk bermigrasi ke VPC akan bervariasi berdasarkan ukuran basis data dan karakteristik beban kerja aktif. 
+ **AWS Database Migration Service (AWS DMS)** – AWS DMS memungkinkan migrasi data secara langsung sambil menjaga instans DB sumber tetap beroperasi penuh, tetapi hanya mereplikasi pernyataan DDL terbatas. AWS DMS tidak menyebarkan item seperti indeks, pengguna, hak akses, prosedur tersimpan, dan perubahan basis data lainnya yang tidak terkait langsung dengan data tabel. Selain itu, AWS DMS tidak secara otomatis menggunakan snapshot RDS untuk pembuatan instans DB awal, yang dapat meningkatkan waktu migrasi. Untuk informasi selengkapnya, lihat [AWS Database Migration Service](https://aws.amazon.com/dms/). 
+ **Pemulihan snapshot DB atau pemulihan titik waktu** – Anda dapat memindahkan instans DB ke VPC dengan memulihkan snapshot instans DB atau dengan memulihkan instans DB ke suatu titik waktu. Untuk informasi selengkapnya, lihat [Memulihkan ke instans DB](USER_RestoreFromSnapshot.md) dan [Memulihkan instans DB ke waktu yang ditentukan untuk Amazon RDS](USER_PIT.md). 