

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

# Keamanan di Amazon RDS Custom
<a name="custom-security"></a>

Pahami pertimbangan keamanan untuk RDS Custom.

Untuk informasi selengkapnya tentang keamanan untuk RDS Custom, lihat topik berikut.
+ [Mengamankan bucket Amazon S3 Anda dari masalah "confused deputy"](custom-security.confused-deputy.md)
+ [Merotasi kredensial RDS Custom for Oracle untuk program kepatuhan](custom-security.cred-rotation.md)

## Cara RDS Custom mengelola tugas dengan aman untuk Anda
<a name="custom-security.security-tools"></a>

RDS Custom menggunakan alat dan teknik berikut untuk menjalankan operasi dengan aman untuk Anda:

**AWSServiceRoleForRDSCustom peran terkait layanan**  
*Peran terkait layanan* ditentukan sebelumnya oleh layanan dan mencakup semua izin yang diperlukan layanan untuk memanggil Layanan AWS lainnya untuk Anda. Untuk RDS Custom, `AWSServiceRoleForRDSCustom` adalah peran terkait layanan yang didefinisikan sesuai dengan prinsip hak akses paling rendah. RDS Custom menggunakan izin di `AmazonRDSCustomServiceRolePolicy`, yang merupakan kebijakan yang dilampirkan pada peran ini, untuk melakukan sebagian besar penyediaan dan semua tugas manajemen di luar host. Untuk informasi selengkapnya, lihat [Amazon RDSCustom ServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSCustomServiceRolePolicy.html).  
Saat melakukan tugas di host, otomatisasi Kustom RDS menggunakan kredenal dari peran terkait layanan untuk menjalankan perintah menggunakan. AWS Systems Manager Anda dapat mengaudit riwayat perintah melalui riwayat perintah Systems Manager dan AWS CloudTrail. Systems Manager terhubung ke instans DB RDS Custom Anda menggunakan pengaturan jaringan Anda. Untuk informasi selengkapnya, lihat [Langkah 4: Konfigurasikan IAM untuk RDS Custom for Oracle](custom-setup-orcl.md#custom-setup-orcl.iam-vpc).

**Kredensial IAM sementara**  
Saat menyediakan atau menghapus sumber daya, RDS Custom terkadang menggunakan kredensial sementara yang berasal dari kredensial prinsipal IAM pemanggil. Kredensial IAM ini dibatasi oleh kebijakan IAM yang dilampirkan pada prinsipal tersebut dan kedaluwarsa setelah operasi selesai. Untuk mempelajari tentang izin yang diperlukan untuk prinsipal IAM yang menggunakan RDS Custom, lihat [Langkah 5: Berikan izin yang diperlukan ke pengguna atau peran IAM Anda](custom-setup-orcl.md#custom-setup-orcl.iam-user).

**Profil instans Amazon EC2**  
Profil instans EC2 adalah kontainer untuk peran IAM yang dapat Anda gunakan untuk meneruskan informasi peran ke instans EC2. Instans EC2 mendasari instans DB RDS Custom. Anda memberikan profil instans saat membuat instans DB RDS Custom. RDS Custom menggunakan kredensial profil instans EC2 saat melakukan tugas manajemen berbasis host seperti pencadangan. Untuk informasi selengkapnya, lihat [Buat peran IAM dan profil instans secara manual](custom-setup-orcl.md#custom-setup-orcl.iam).

**Pasangan kunci SSH**  
Ketika RDS Custom membuat instans EC2 yang mendasari instans DB, layanan ini membuat pasangan kunci SSH untuk Anda. Kunci menggunakan awalan penamaan `do-not-delete-rds-custom-ssh-privatekey-db-` atau`rds-custom!oracle-do-not-delete-db_resource_id-uuid-ssh-privatekey`. AWS Secrets Manager menyimpan kunci pribadi SSH ini sebagai rahasia di Anda Akun AWS. Amazon RDS tidak menyimpan, mengakses, atau menggunakan kredensial ini. Untuk informasi selengkapnya, lihat [Pasangan kunci Amazon EC2 dan instans Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).

## Sertifikat SSL
<a name="custom-security.ssl"></a>

Instans DB RDS Custom tidak mendukung sertifikat SSL terkelola. Jika Anda ingin men-deploy SSL, Anda dapat mengelola sendiri sertifikat SSL di wallet Anda sendiri dan membuat pendengar SSL untuk mengamankan koneksi antara basis data klien atau untuk replikasi basis data. Untuk informasi selengkapnya, lihat [Configuring Transport Layer Security Authentication](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/configuring-secure-sockets-layer-authentication.html#GUID-6AD89576-526F-4D6B-A539-ADF4B840819F) dalam dokumentasi Oracle Database.

# Mengamankan bucket Amazon S3 Anda dari masalah "confused deputy"
<a name="custom-security.confused-deputy"></a>

Saat Anda membuat versi mesin kustom (CEV) Amazon RDS Custom for Oracle atau instans DB RDS Custom for SQL Server, RDS Custom membuat bucket Amazon S3. Bucket S3 menyimpan file seperti artefak CEV, log redo (transaksi), item konfigurasi untuk perimeter dukungan, dan log AWS CloudTrail .

Anda dapat membuat bucket S3 ini lebih aman dengan menggunakan kunci konteks kondisi global untuk mencegah masalah *confused deputy*. Untuk informasi selengkapnya, lihat [Pencegahan masalah confused deputy lintas layanan](cross-service-confused-deputy-prevention.md).

Contoh RDS Custom for Oracle berikut menunjukkan penggunaan kunci konteks kondisi global `aws:SourceArn` dan `aws:SourceAccount` dalam kebijakan bucket S3. Untuk RDS Custom for Oracle, pastikan untuk menyertakan Amazon Resource Names (ARNs) untuk instans CEVs dan DB. Untuk RDS Custom for SQL Server, pastikan untuk menyertakan ARN untuk instans DB.

```
...
{
  "Sid": "AWSRDSCustomForOracleInstancesObjectLevelAccess",
  "Effect": "Allow",
  "Principal": {
     "Service": "custom.rds.amazonaws.com"
  },
  "Action": [
     "s3:GetObject",
     "s3:GetObjectVersion",
     "s3:DeleteObject",
     "s3:DeleteObjectVersion",
     "s3:GetObjectRetention",
     "s3:BypassGovernanceRetention"
  ],
  "Resource": "arn:aws:s3:::do-not-delete-rds-custom-123456789012-us-east-2-c8a6f7/RDSCustomForOracle/Instances/*",
  "Condition": {
     "ArnLike": {
        "aws:SourceArn": [
            "arn:aws:rds:us-east-2:123456789012:db:*",
            "arn:aws:rds:us-east-2:123456789012:cev:*/*"
        ]
     },
     "StringEquals": {
        "aws:SourceAccount": "123456789012"
    }
  }
},
...
```

# Merotasi kredensial RDS Custom for Oracle untuk program kepatuhan
<a name="custom-security.cred-rotation"></a>

Beberapa program kepatuhan mewajibkan kredensial pengguna basis data diubah secara berkala, misalnya, setiap 90 hari. RDS Custom for Oracle secara otomatis merotasi kredensial untuk beberapa pengguna basis data yang telah ditentukan.

**Topics**
+ [Rotasi kredensial otomatis untuk pengguna yang telah ditentukan](#custom-security.cred-rotation.auto)
+ [Pedoman untuk merotasi kredensial pengguna](#custom-security.cred-rotation.guidelines)
+ [Kredensial pengguna yang dirotasi secara manual](#custom-security.cred-rotation.manual)

## Rotasi kredensial otomatis untuk pengguna yang telah ditentukan
<a name="custom-security.cred-rotation.auto"></a>

Jika instans DB RDS Custom for Oracle Anda di-host di Amazon RDS, kredensial untuk pengguna Oracle yang telah ditentukan sebelumnya akan dirotasi setiap 30 hari secara otomatis. Kredensi untuk pengguna sebelumnya berada di. AWS Secrets Manager


| Pengguna basis data | Dibuat oleh | Versi mesin yang didukung | Catatan | 
| --- | --- | --- | --- | 
|  `SYS`  |  Oracle  |  custom-oracle-ee custom-oracle-ee-cdb custom-oracle-se2 custom-oracle-se2-cdb  |  | 
|  `SYSTEM`  |  Oracle  |  custom-oracle-ee custom-oracle-ee-cdb custom-oracle-se2 custom-oracle-se2-cdb  |  | 
|  `RDSADMIN`  |  RDS  |  custom-oracle-ee custom-oracle-se2  |  | 
|  `C##RDSADMIN`  |  RDS  |  custom-oracle-ee-cdb custom-oracle-se2-cdb  | Nama pengguna dengan C\$1\$1 awalan hanya ada di CDBs. Untuk informasi selengkapnya CDBs, lihat [Ikhtisar arsitektur Amazon RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.overview). | 
|  `RDS_DATAGUARD`  |  RDS  |  custom-oracle-ee  | Pengguna ini hanya ada di replika baca, basis data sumber untuk replika baca, dan basis data yang telah Anda migrasikan secara fisik ke RDS Custom menggunakan Oracle Data Guard. | 
|  `C##RDS_DATAGUARD`  |  RDS  |  custom-oracle-ee-cdb  | Pengguna ini hanya ada di replika baca, basis data sumber untuk replika baca, dan basis data yang telah Anda migrasikan secara fisik ke RDS Custom menggunakan Oracle Data Guard. Nama pengguna dengan C\$1\$1 awalan hanya ada di CDBs. Untuk informasi selengkapnya CDBs, lihat [Ikhtisar arsitektur Amazon RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.overview). | 

Pengecualian untuk rotasi kredensial otomatis adalah instans DB RDS Custom for Oracle yang telah Anda konfigurasi secara manual sebagai basis data siaga. RDS hanya merotasi kredensial untuk replika baca yang telah Anda buat menggunakan perintah CLI `create-db-instance-read-replica` atau API `CreateDBInstanceReadReplica`.

## Pedoman untuk merotasi kredensial pengguna
<a name="custom-security.cred-rotation.guidelines"></a>

Untuk memastikan bahwa kredensial Anda dirotasi sesuai dengan program kepatuhan Anda, perhatikan pedoman berikut:
+ Jika instans DB Anda merotasi kredensial secara otomatis, jangan mengubah atau menghapus rahasia, file kata sandi, atau kata sandi secara manual untuk pengguna yang tercantum di [Pengguna Oracle yang telah ditentukan sebelumnya](#auto-rotation). Jika tidak, RDS Custom dapat menempatkan instans DB Anda di luar perimeter dukungan, yang menangguhkan rotasi otomatis.
+ Pengguna master RDS tidak ditentukan sebelumnya, jadi Anda bertanggung jawab untuk mengubah kata sandi secara manual atau mengatur rotasi otomatis di Secrets Manager. Untuk informasi selengkapnya, lihat [Memutar AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html).

## Kredensial pengguna yang dirotasi secara manual
<a name="custom-security.cred-rotation.manual"></a>

Untuk kategori basis data berikut, RDS tidak secara otomatis merotasi kredensial untuk pengguna yang tercantum di [Pengguna Oracle yang telah ditentukan sebelumnya](#auto-rotation):
+ Basis data yang Anda konfigurasi secara manual untuk berfungsi sebagai basis data siaga.
+ Basis data on-premise.
+ Instans DB yang berada di luar perimeter dukungan atau dalam status yang tidak memungkinkan otomatisasi RDS Custom berjalan. Dalam hal ini, RDS Custom juga tidak merotasi kunci.

Jika basis data Anda berada di salah satu kategori di atas, Anda harus merotasi kredensial pengguna Anda secara manual.

**Untuk merotasi kredensial pengguna secara manual untuk 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. Di **Basis Data**, pastikan RDS saat ini tidak mencadangkan instans DB Anda atau melakukan operasi seperti mengonfigurasi ketersediaan tinggi.

1. Di halaman detail basis data, pilih **Konfigurasi** dan catat ID Sumber Daya untuk instans DB. Atau Anda dapat menggunakan AWS CLI perintah`describe-db-instances`.

1. Buka konsol Secrets Manager di [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Di kotak pencarian, masukkan ID sumber daya database Anda dan cari rahasia menggunakan salah satu konvensi penamaan berikut:

   ```
   do-not-delete-rds-custom-resource_id-uuid
   rds-custom!oracle-do-not-delete-resource_id-uuid
   ```

   Rahasia ini menyimpan kata sandi untuk `RDSADMIN`, `SYS`, dan `SYSTEM`. Contoh kunci berikut adalah untuk instans DB dengan ID sumber daya `db-ABCDEFG12HIJKLNMNOPQRS3TUVWX` dan `123456` UUID:

   ```
   do-not-delete-rds-custom-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-123456
   rds-custom!oracle-do-not-delete-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-123456
   ```
**penting**  
Jika instans DB Anda adalah replika baca dan menggunakan mesin `custom-oracle-ee-cdb`, ada dua rahasia dengan akhiran `db-resource_id-uuid`, satu untuk pengguna master dan yang lainnya untuk `RDSADMIN`, `SYS`, dan `SYSTEM`. Untuk menemukan rahasia yang benar, jalankan perintah berikut pada host:  

   ```
   cat /opt/aws/rdscustomagent/config/database_metadata.json | python3 -c "import sys,json; print(json.load(sys.stdin)['dbMonitoringUserPassword'])"
   ```
Atribut `dbMonitoringUserPassword` menunjukkan rahasia untuk `RDSADMIN`, `SYS`, dan `SYSTEM`.

1. Jika instans DB Anda ada dalam konfigurasi Oracle Data Guard, cari rahasia menggunakan salah satu konvensi penamaan berikut:

   ```
   do-not-delete-rds-custom-resource_id-uuid-dg
   rds-custom!oracle-do-not-delete-resource_id-uuid-dg
   ```

   Rahasia ini menyimpan kata sandi untuk `RDS_DATAGUARD`. **Contoh kunci berikut adalah untuk instans DB dengan ID sumber daya DB `db-ABCDEFG12HIJKLNMNOPQRS3TUVWX` dan UUID 789012:**

   ```
   do-not-delete-rds-custom-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-789012-dg
   rds-custom!oracle-do-not-delete-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-789012-dg
   ```

1. Untuk semua pengguna database yang tercantum dalam [pengguna Oracle yang telah ditentukan sebelumnya](#auto-rotation), perbarui kata sandi dengan mengikuti petunjuk di [Ubah rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_update-secret.html). AWS Secrets Manager 

1. Jika basis data Anda adalah basis data mandiri atau basis data sumber dalam konfigurasi Oracle Data Guard:

   1. Mulai klien Oracle SQL Anda dan masuk sebagai `SYS`.

   1. Jalankan pernyataan SQL dalam form berikut untuk setiap pengguna basis data yang tercantum di [Pengguna Oracle yang telah ditentukan sebelumnya](#auto-rotation):

      ```
      ALTER USER user-name IDENTIFIED BY pwd-from-secrets-manager ACCOUNT UNLOCK;
      ```

      Misalnya, jika kata sandi baru untuk `RDSADMIN` yang disimpan di Secrets Manager adalah `pwd-123`, jalankan pernyataan berikut:

      ```
      ALTER USER RDSADMIN IDENTIFIED BY pwd-123 ACCOUNT UNLOCK;
      ```

1. Jika instans DB Anda menjalankan Oracle Database 12c Release 1 (12.1) dan dikelola oleh Oracle Data Guard, salin file kata sandi (`orapw`) secara manual dari instans DB primer ke setiap instans DB siaga. 

   Jika instans DB Anda di-host di Amazon RDS, lokasi file kata sandi adalah `/rdsdbdata/config/orapw`. Untuk basis data yang tidak di-host di Amazon RDS, lokasi default-nya adalah `$ORACLE_HOME/dbs/orapw$ORACLE_SID` di Linux dan UNIX serta `%ORACLE_HOME%\database\PWD%ORACLE_SID%.ora` di Windows.