Keamanan di Amazon RDS Custom - Layanan Basis Data Relasional Amazon

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

Pahami pertimbangan keamanan untuk RDS Custom.

Cara RDS Custom mengelola tugas dengan aman untuk Anda

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 lebih lanjut, lihat CustomServiceRolePolicyAmazonRDS.

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.

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.

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.

Pasangan kunci SSH

Ketika RDS Custom membuat instans EC2 yang mendasari instans DB, layanan ini membuat pasangan kunci SSH untuk Anda. Kuncinya menggunakan awalan do-not-delete-rds-custom-ssh-privatekey-db- penamaan. 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.

Sertifikat SSL

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 dalam dokumentasi Oracle Database.

Mengamankan bucket Amazon S3 Anda dari masalah "confused deputy"

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.

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 (ARN) untuk CEV dan instans 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

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.

Rotasi kredensial otomatis untuk pengguna yang telah ditentukan

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 Oracle yang telah ditetapkan
Pengguna basis dataDibuat olehVersi mesin yang didukungCatatan

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## awalan hanya ada di CDB. Untuk informasi selengkapnya tentang CDB, lihat Gambaran umum arsitektur Amazon RDS Custom for Oracle.

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## awalan hanya ada di CDB. Untuk informasi selengkapnya tentang CDB, lihat Gambaran umum arsitektur Amazon RDS Custom for Oracle.

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

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. 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.

Kredensial pengguna yang dirotasi secara manual

Untuk kategori basis data berikut, RDS tidak secara otomatis merotasi kredensial untuk pengguna yang tercantum di Pengguna Oracle yang telah ditentukan sebelumnya:

  • 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 AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di Basis Data, pastikan RDS saat ini tidak mencadangkan instans DB Anda atau melakukan operasi seperti mengonfigurasi ketersediaan tinggi.

  3. Di halaman detail basis data, pilih Konfigurasi dan catat ID Sumber Daya untuk instans DB. Atau Anda dapat menggunakan AWS CLI perintahdescribe-db-instances.

  4. Buka konsol Secrets Manager di https://console.aws.amazon.com/secretsmanager/.

  5. Di kotak pencarian, masukkan ID Sumber Daya DB Anda dan temukan rahasianya dalam form berikut:

    do-not-delete-rds-custom-db-resource-id-numeric-string

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

    do-not-delete-rds-custom-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-numeric-string, 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.

  6. Jika instans DB Anda ada dalam konfigurasi Oracle Data Guard, temukan rahasianya dalam form berikut:

    do-not-delete-rds-custom-db-resource-id-numeric-string-dg

    Rahasia ini menyimpan kata sandi untuk RDS_DATAGUARD. Contoh kunci berikut ditujukan untuk instans DB dengan ID sumber daya DB db-ABCDEFG12HIJKLNMNOPQRS3TUVWX:

    do-not-delete-rds-custom-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-789012-dg
  7. Untuk semua pengguna database yang tercantum dalam pengguna Oracle yang telah ditentukan sebelumnya, perbarui kata sandi dengan mengikuti petunjuk di Ubah rahasia. AWS Secrets Manager

  8. 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.

    2. Jalankan pernyataan SQL dalam form berikut untuk setiap pengguna basis data yang tercantum di Pengguna Oracle yang telah ditentukan sebelumnya:

      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;
  9. 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.