Menyiapkan akses ke bucket Amazon S3 - Amazon Aurora

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

Menyiapkan akses ke bucket Amazon S3

Identifikasi bucket Amazon S3, lalu berikan izin snapshot untuk mengaksesnya.

Mengidentifikasi bucket Amazon S3 untuk ekspor

Identifikasi bucket Amazon S3 untuk mengekspor snapshot DB. Gunakan bucket S3 yang ada atau buat bucket S3 baru.

catatan

Bucket S3 yang akan diekspor harus berada di AWS Wilayah yang sama dengan snapshot.

Untuk informasi selengkapnya tentang cara bekerja dengan bucket Amazon S3, lihat informasi berikut dalam Panduan Pengguna Amazon Simple Storage Service:

Menyediakan akses ke bucket Amazon S3 menggunakan peran IAM

Sebelum Anda mengekspor data snapshot DB ke Amazon S3, beri tugas ekspor snapshot izin akses tulis ke bucket Amazon S3.

Untuk memberikan izin ini, buat IAM kebijakan yang menyediakan akses ke bucket, lalu buat IAM peran dan lampirkan kebijakan ke peran tersebut. Nanti, Anda dapat menetapkan IAM peran ke tugas ekspor snapshot Anda.

penting

Jika berencana menggunakan AWS Management Console untuk mengekspor snapshot, Anda dapat memilih untuk membuat IAM kebijakan dan peran secara otomatis saat mengekspor snapshot. Untuk petunjuk, silakan lihat Membuat tugas ekspor snapshot.

Untuk memberi tugas snapshot DB akses ke Amazon S3
  1. Buat IAM kebijakan. Kebijakan ini memberi bucket dan objek izin yang memungkinkan tugas ekspor snapshot Anda mengakses Amazon S3.

    Dalam kebijakan tersebut, sertakan tindakan yang diperlukan berikut untuk memungkinkan transfer file dari Amazon Aurora ke bucket S3:

    • s3:PutObject*

    • s3:GetObject*

    • s3:ListBucket

    • s3:DeleteObject*

    • s3:GetBucketLocation

    Dalam kebijakan tersebut, sertakan sumber daya berikut untuk mengidentifikasi bucket S3 dan objek dalam bucket. Daftar sumber daya berikut menunjukkan format Amazon Resource Name (ARN) untuk mengakses Amazon S3.

    • arn:aws:s3:::amzn-s3-demo-bucket

    • arn:aws:s3:::amzn-s3-demo-bucket/*

    Untuk informasi selengkapnya tentang membuat IAM kebijakan untuk Amazon Aurora, lihat. Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM Lihat juga Tutorial: Buat dan lampirkan kebijakan terkelola pelanggan pertama Anda di Panduan IAM Pengguna.

    AWS CLI Perintah berikut membuat IAM kebijakan bernama ExportPolicy dengan opsi ini. Ini memberikan akses ke ember bernama amzn-s3-demo-bucket.

    catatan

    Setelah Anda membuat kebijakan, perhatikan kebijakan tersebut. ARN Anda memerlukan langkah selanjutnya saat Anda melampirkan kebijakan ke suatu IAM peran. ARN

    aws iam create-policy --policy-name ExportPolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExportPolicy", "Effect": "Allow", "Action": [ "s3:PutObject*", "s3:ListBucket", "s3:GetObject*", "s3:DeleteObject*", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }'
  2. Buat IAM peran, sehingga Aurora dapat mengambil IAM peran ini atas nama Anda untuk mengakses bucket Amazon S3 Anda. Untuk informasi selengkapnya, lihat Membuat peran untuk mendelegasikan izin kepada IAM pengguna di Panduan IAM Pengguna.

    Contoh berikut menunjukkan menggunakan AWS CLI perintah untuk membuat peran bernamards-s3-export-role.

    aws iam create-role --role-name rds-s3-export-role --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "export.rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  3. Lampirkan IAM kebijakan yang Anda buat ke IAM peran yang Anda buat.

    AWS CLI Perintah berikut melampirkan kebijakan yang dibuat sebelumnya ke peran bernamards-s3-export-role. Ganti your-policy-arn dengan kebijakan ARN yang Anda catat di langkah sebelumnya.

    aws iam attach-role-policy --policy-arn your-policy-arn --role-name rds-s3-export-role

Menggunakan bucket Amazon S3 lintas akun

Anda dapat menggunakan bucket Amazon S3 di seluruh akun. AWS Untuk menggunakan bucket lintas akun, tambahkan kebijakan bucket untuk mengizinkan akses ke IAM peran yang Anda gunakan untuk ekspor S3. Untuk informasi selengkapnya, lihat Contoh 2: Pemilik bucket yang memberikan izin bucket lintas akun.

  • Lampirkan kebijakan bucket pada bucket Anda, seperti yang ditunjukkan dalam contoh berikut.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/Admin" }, "Action": [ "s3:PutObject*", "s3:ListBucket", "s3:GetObject*", "s3:DeleteObject*", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket", "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] } ] }

Menggunakan cross-account AWS KMS key

Anda dapat menggunakan akun silang AWS KMS key untuk mengenkripsi ekspor Amazon S3. Pertama, Anda menambahkan kebijakan kunci ke akun lokal, lalu Anda menambahkan IAM kebijakan di akun eksternal. Untuk informasi selengkapnya, lihat Mengizinkan pengguna di akun lain menggunakan KMS kunci.

Untuk menggunakan kunci lintas akun KMS
  1. Tambahkan kebijakan kunci ke akun lokal.

    Contoh berikut memberi ExampleRole dan ExampleUser di akun eksternal 444455556666 izin di akun lokal 123456789012.

    { "Sid": "Allow an external account to use this KMS key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/ExampleRole", "arn:aws:iam::444455556666:user/ExampleUser" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey", "kms:RetireGrant" ], "Resource": "*" }
  2. Tambahkan IAM kebijakan ke akun eksternal.

    Contoh IAM kebijakan berikut memungkinkan prinsipal untuk menggunakan KMS kunci dalam akun 123456789012 untuk operasi kriptografi. Untuk memberikan izin ini kepada ExampleRole dan ExampleUser di akun 444455556666, lampirkan kebijakan pada keduanya di akun tersebut.

    { "Sid": "Allow use of KMS key in account 123456789012", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey", "kms:RetireGrant" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }