Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengonfigurasi izin IAM untuk integrasi RDS for Oracle dengan Amazon S3
Agar RDS for Oracle dapat diintegrasikan dengan Amazon S3, instans DB Anda harus memiliki akses ke bucket Amazon S3. Amazon VPC yang digunakan oleh instans DB Anda tidak perlu memberikan akses ke titik akhir Amazon S3.
RDS untuk Oracle mendukung transfer file antara instans DB dalam satu akun dan bucket Amazon S3 di akun yang berbeda. Langkah tambahan yang diperlukan akan disebutkan di bagian berikut.
Topik
Langkah 1: Buat kebijakan IAM untuk peran Amazon RDS Anda
Pada langkah ini, Anda membuat kebijakan AWS Identity and Access Management (IAM) dengan izin yang diperlukan untuk mentransfer file antara bucket Amazon S3 dan instans RDS DB Anda. Pada langkah ini, Anda dianggap telah membuat bucket S3.
Sebelum membuat kebijakan, catat potongan informasi berikut:
-
Amazon Resource Name (ARN) untuk bucket Anda
-
ARN untuk AWS KMS kunci Anda, jika bucket Anda menggunakan enkripsi SSE-KMS atau SSE-S3
catatan
Instans DB RDS for Oracle tidak dapat mengakses bucket Amazon S3 yang dienkripsi dengan SSE-C.
Untuk informasi selengkapnya, lihat Melindungi data menggunakan enkripsi sisi server dalam Panduan Pengguna Amazon Simple Storage Service.
Untuk membuat kebijakan IAM untuk mengizinkan Amazon RDS mengakses bucket Amazon S3
-
Buka Konsol Manajemen IAM
. -
Di bagian Manajemen akses, pilih Kebijakan.
-
Pilih Buat Kebijakan.
-
Pada tab Editor visual, pilih Pilih layanan, lalu pilih S3.
-
Untuk Tindakan, pilih Perluas semua, lalu pilih izin bucket dan izin objek yang diperlukan untuk mentransfer file dari bucket Amazon S3 ke Amazon RDS. Sebagai contoh, lakukan hal berikut:
-
Perluas Daftar, lalu pilih ListBucket.
-
Perluas Baca, lalu pilih GetObject.
-
Perluas Tulis, lalu pilih PutObjectdan DeleteObject.
-
Perluas manajemen Izin, lalu pilih PutObjectAcl. Izin ini diperlukan jika Anda ingin mengunggah file ke bucket milik akun yang berbeda, dan akun ini memerlukan kontrol penuh terhadap konten bucket.
Izin objek adalah izin untuk operasi objek di Amazon S3. Izin ini harus diberikan untuk objek di dalam bucket, bukan untuk bucket itu sendiri. Untuk informasi selengkapnya, lihat Izin untuk operasi objek.
-
-
Pilih Sumber daya, lalu lakukan hal berikut:
-
Pilih Spesifik.
-
Untuk bucket, pilih Tambah ARN. Masukkan ARN bucket. Nama bucket terisi secara otomatis. Kemudian pilih Tambahkan.
-
Jika muncul sumber daya objek, pilih Tambah ARN untuk menambahkan sumber daya secara manual atau pilih Apa pun.
catatan
Anda dapat mengatur Amazon Resource Name (ARN) ke nilai ARN yang lebih spesifik agar Amazon RDS hanya dapat mengakses file atau folder tertentu dalam bucket Amazon S3. Untuk informasi selengkapnya tentang cara penentuan kebijakan akses untuk Amazon S3, lihat Mengelola izin akses ke sumber daya Amazon S3 Anda.
-
-
(Opsional) Pilih Tambahkan izin tambahan untuk menambahkan sumber daya ke kebijakan. Sebagai contoh, lakukan hal berikut:
-
Jika bucket Anda dienkripsi dengan kunci KMS kustom, pilih KMS untuk layanan.
-
Untuk Tindakan manual, pilih opsi berikut:
-
Enkripsi
-
ReEncrypt dari dan ReEncrypt ke
-
Dekripsi
-
DescribeKey
-
GenerateDataKey
-
-
Untuk Sumber daya, pilih Spesifik.
-
Untuk kunci, pilih Tambahkan ARN. Masukkan ARN kunci kustom Anda sebagai sumber daya, lalu pilih Tambahkan.
Untuk informasi selengkapnya, lihat Melindungi Data Menggunakan Enkripsi Sisi Server dengan kunci KMS yang Disimpan di AWS Key Management Service (SSE-KMS) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
-
Jika Anda ingin Amazon RDS mengakses untuk mengakses ember lain, tambahkan ARNs untuk ember ini. Jika mau, Anda juga dapat memberikan akses ke semua bucket dan objek di Amazon S3.
-
-
Pilih Berikutnya: Tag lalu Berikutnya: Tinjau.
-
Untuk Nama, masukkan nama kebijakan IAM Anda, misalnya
rds-s3-integration-policy
. Anda menggunakan nama ini saat membuat peran IAM untuk dikaitkan dengan instans DB Anda. Anda juga dapat menambahkan nilai Deskripsi opsional. -
Pilih Buat kebijakan.
Buat kebijakan AWS Identity and Access Management (IAM) yang memberikan akses Amazon RDS ke bucket Amazon S3. Setelah membuat kebijakan, catat ARN-nya. ARN ini diperlukan pada langkah berikutnya.
Sertakan tindakan yang sesuai dalam kebijakan berdasarkan jenis akses yang diperlukan:
-
GetObject
– Diperlukan untuk mentransfer file dari bucket Amazon S3 ke Amazon RDS. -
ListBucket
– Diperlukan untuk mentransfer file dari bucket Amazon S3 ke Amazon RDS. -
PutObject
– Diperlukan untuk mentransfer file dari Amazon RDS ke bucket Amazon S3.
AWS CLI Perintah berikut membuat kebijakan IAM bernama
dengan opsi ini. Perintah ini akan memberikan akses ke bucket bernama rds-s3-integration-policy
.amzn-s3-demo-bucket
contoh
Untuk Linux, macOS, atau Unix:
aws iam create-policy \ --policy-name
rds-s3-integration-policy
\ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration
", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*
" ] } ] }'
Contoh berikut mencakup izin untuk kunci KMS kustom.
aws iam create-policy \ --policy-name
rds-s3-integration-policy
\ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration
", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:DescribeKey", ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*
", "arn:aws:kms:::your-kms-arn
" ] } ] }'
Untuk Windows:
aws iam create-policy ^ --policy-name
rds-s3-integration-policy
^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration
", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*
" ] } ] }'
Contoh berikut mencakup izin untuk kunci KMS kustom.
aws iam create-policy ^ --policy-name
rds-s3-integration-policy
^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration
", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt", "kms:GenerateDataKey", "kms:DescribeKey", ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*
", "arn:aws:kms:::your-kms-arn
" ] } ] }'
Langkah 2: (Opsional) Buat kebijakan IAM untuk bucket Amazon S3
Langkah ini hanya diperlukan dalam kondisi berikut:
-
Anda ingin mengunggah file ke bucket Amazon S3 dari satu akun (akun A) dan mengaksesnya dari akun lain (akun B).
-
Akun B memiliki bucket.
-
Akun B memerlukan kontrol penuh atas objek yang dimasukkan ke dalam bucket tersebut.
Jika kondisi sebelumnya tidak berlaku untuk Anda, lanjutkan ke Langkah 3: Buat peran IAM untuk instans DB Anda dan lampirkan kebijakan Anda.
Untuk membuat kebijakan bucket, pastikan Anda memiliki hal berikut:
-
ID akun untuk akun A
-
Nama pengguna untuk akun A
-
Nilai ARN untuk bucket Amazon S3 di akun B
Untuk membuat atau mengedit kebijakan bucket
Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
-
Di daftar Bucket, pilih nama bucket yang ingin Anda buatkan kebijakan bucket atau yang kebijakan bucket-nya ingin Anda edit.
-
Pilih Izin.
-
Di bagian Kebijakan bucket, pilih Edit. Opsi ini akan membuka halaman Edit kebijakan bucket.
-
Di halaman Edit kebijakan bucket, jelajahi Contoh kebijakan dalam Panduan Pengguna Amazon S3, pilih Pembuat kebijakan untuk membuat kebijakan secara otomatis, atau edit JSON di bagian Kebijakan.
Jika Anda memilih Policy Generator, AWS Policy Generator akan terbuka di jendela baru:
-
Di halaman Pembuat Kebijakan AWS , di bagian Pilih Jenis Kebijakan, pilih Kebijakan Bucket S3.
-
Tambahkan pernyataan dengan memasukkan informasi di bidang yang tersedia, lalu pilih Tambahkan Pernyataan. Ulangi langkah ini sesuai jumlah pernyataan yang ingin Anda tambahkan. Untuk informasi selengkapnya tentang bidang ini, lihat Referensi elemen kebijakan JSON IAM dalam Panduan Pengguna IAM.
catatan
Untuk memudahkan penggunaan, halaman Edit kebijakan bucket menampilkan ARN Bucket (Amazon Resource Name) bucket saat ini di atas bidang teks Kebijakan. Anda dapat menyalin ARN ini untuk digunakan dalam pernyataan di halaman Pembuat Kebijakan AWS .
-
Setelah Anda selesai menambahkan pernyataan, pilih Buat Kebijakan.
-
Salin teks kebijakan yang dihasilkan, pilih Tutup, dan kembali ke halaman Edit kebijakan bucket di konsol Amazon S3.
-
-
Di kotak Kebijakan, edit kebijakan yang ada atau tempel kebijakan bucket dari Pembuat kebijakan. Pastikan peringatan keamanan, kesalahan, peringatan umum, dan saran telah ditangani sebelum menyimpan kebijakan.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Example permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account-A-ID
:account-A-user
" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket
", "arn:aws:s3:::amzn-s3-demo-destination-bucket
/*" ] } ] } -
Pilih Simpan perubahan, yang akan membawa Anda kembali ke halaman Izin Bucket.
Langkah 3: Buat peran IAM untuk instans DB Anda dan lampirkan kebijakan Anda
Pada langkah ini, Anda dianggap telah membuat kebijakan IAM di Langkah 1: Buat kebijakan IAM untuk peran Amazon RDS Anda. Pada langkah ini, Anda membuat peran untuk instans DB RDS for Oracle, kemudian melampirkan kebijakan Anda ke peran tersebut.
Untuk membuat peran IAM agar Amazon RDS dapat mengakses bucket Amazon S3
-
Buka Konsol Manajemen IAM
. -
Di panel navigasi, pilih Peran.
-
Pilih Buat peran.
-
Pilih Layanan AWS .
-
Untuk kasus Penggunaan untuk AWS layanan lain:, pilih RDS dan kemudian RDS — Tambahkan Peran ke Database. Lalu pilih Berikutnya.
-
Untuk Cari di bagian Kebijakan izin, masukkan nama kebijakan IAM yang telah Anda buat di Langkah 1: Buat kebijakan IAM untuk peran Amazon RDS Anda, lalu pilih kebijakan tersebut saat muncul dalam daftar. Lalu pilih Berikutnya.
-
Untuk Nama peran, masukkan nama untuk peran IAM Anda, misalnya,
rds-s3-integration-role
. Anda juga dapat menambahkan nilai Deskripsi opsional. -
Pilih Buat peran.
Untuk membuat peran dan melampirkan kebijakan ke peran ini
-
Buat peran IAM yang dapat digunakan oleh Amazon RDS atas nama Anda untuk mengakses bucket Amazon S3 Anda.
Sebaiknya gunakan kunci konteks kondisi global
aws:SourceArn
danaws:SourceAccount
dalam hubungan kepercayaan berbasis sumber daya untuk membatasi izin layanan ke sumber daya tertentu. Ini adalah cara yang paling efektif untuk melindungi dari masalah confused deputy.Anda dapat menggunakan kedua kunci konteks kondisi global tersebut dan nilai
aws:SourceArn
berisi ID akun. Dalam hal ini, nilaiaws:SourceAccount
dan akun dalam nilaiaws:SourceArn
harus menggunakan ID akun yang sama saat digunakan dalam pernyataan yang sama.-
Gunakan
aws:SourceArn
jika Anda menginginkan akses lintas layanan untuk satu sumber daya. -
Gunakan
aws:SourceAccount
jika Anda ingin mengizinkan sumber daya apa pun di akun tersebut dikaitkan dengan penggunaan lintas layanan.
Dalam hubungan kepercayaan, pastikan untuk menggunakan kunci konteks kondisi global
aws:SourceArn
dengan Amazon Resource Name (ARN) penuh pada sumber daya yang mengakses peran.AWS CLI Perintah berikut menciptakan peran yang dinamai
untuk tujuan ini.rds-s3-integration-role
contoh
Untuk Linux, macOS, atau Unix:
aws iam create-role \ --role-name
rds-s3-integration-role
\ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "my_account_ID
", "aws:SourceArn": "arn:aws:rds:Region
:my_account_ID
:db:dbname
" } } } ] }'Untuk Windows:
aws iam create-role ^ --role-name
rds-s3-integration-role
^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "my_account_ID
", "aws:SourceArn": "arn:aws:rds:Region
:my_account_ID
:db:dbname
" } } } ] }'Untuk informasi selengkapnya, lihat Membuat peran untuk mendelegasikan izin ke pengguna IAM dalam Panduan Pengguna IAM.
-
-
Setelah peran dibuat, catat ARN peran tersebut. ARN ini diperlukan pada langkah berikutnya.
-
Lampirkan kebijakan yang Anda buat ke peran yang Anda buat.
AWS CLI Perintah berikut melampirkan kebijakan ke peran bernama
.rds-s3-integration-role
contoh
Untuk Linux, macOS, atau Unix:
aws iam attach-role-policy \ --policy-arn
your-policy-arn
\ --role-namerds-s3-integration-role
Untuk Windows:
aws iam attach-role-policy ^ --policy-arn
your-policy-arn
^ --role-namerds-s3-integration-role
Ganti
dengan ARN kebijakan yang Anda catat di langkah sebelumnya.your-policy-arn
Langkah 4: Kaitkan peran IAM Anda dengan instans DB RDS for Oracle
Langkah terakhir dalam mengonfigurasi izin untuk integrasi Amazon S3 adalah mengaitkan peran IAM Anda dengan instans DB. Perhatikan persyaratan berikut:
-
Anda harus memiliki akses ke peran IAM yang telah memiliki kebijakan izin Amazon S3 yang diperlukan.
-
Anda hanya dapat mengaitkan satu peran IAM dengan instans DB RDS for Oracle Anda dalam satu waktu.
-
Instans DB Anda harus dalam status Tersedia.
Untuk mengaitkan peran IAM Anda dengan instans DB RDS for Oracle
Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/
. -
Pilih Basis data dari panel navigasi.
-
Pilih nama instans DB RDS for Oracle untuk menampilkan detailnya.
-
Pada tab Konektivitas & keamanan, gulir ke Kelola peran IAM di bagian bawah halaman.
-
Untuk Tambahkan peran IAM ke instans ini, pilih peran yang Anda buat di Langkah 3: Buat peran IAM untuk instans DB Anda dan lampirkan kebijakan Anda.
-
Untuk Fitur, pilih S3_INTEGRATION.
-
Pilih Tambahkan peran.
AWS CLI Perintah berikut menambahkan peran ke instance Oracle DB bernama
.mydbinstance
contoh
Untuk Linux, macOS, atau Unix:
aws rds add-role-to-db-instance \ --db-instance-identifier
mydbinstance
\ --feature-name S3_INTEGRATION \ --role-arnyour-role-arn
Untuk Windows:
aws rds add-role-to-db-instance ^ --db-instance-identifier
mydbinstance
^ --feature-name S3_INTEGRATION ^ --role-arnyour-role-arn
Ganti
dengan peran ARN yang Anda catat di langkah sebelumnya. your-role-arn
S3_INTEGRATION
harus ditentukan untuk opsi --feature-name
.