本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定對 Amazon S3 儲存貯體的存取權
識別出 Amazon S3 儲存貯體後,接著授予快照許可以存取該儲存貯體。
識別要匯出的 Amazon S3 儲存貯體
識別要匯出資料庫快照的目標 Amazon S3 儲存貯體。使用現有的 S3 儲存貯體或建立新的 S3 儲存貯體。
注意
要匯出至 的 S3 儲存貯體必須與快照位於相同的 AWS 區域。
如需使用 Amazon S3 儲存貯體的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的下列內容:
使用 IAM 角色提供對 Amazon S3 儲存貯體的存取權
在您將資料庫快照資料匯出至 Amazon S3 前,請給予快照匯出任務對 Amazon S3 儲存貯體的存取許可。
若要授予此許可,請建立提供儲存貯體之存取權的 IAM 政策,然後建立 IAM 角色並將該政策附加至其中。稍後,您可以將 IAM 角色指派給快照匯出任務。
重要
如果您打算使用 AWS Management Console 匯出快照,您可以選擇在匯出快照時自動建立 IAM 政策和角色。如需說明,請參閱建立快照匯出工作。
給予資料庫快照任務對 Amazon S3 的存取權限
-
建立 IAM 政策。此政策會提供儲存貯體和物件許可,允許您的快照匯出任務存取 Amazon S3。
在政策中,包含下列必要動作,以允許將檔案從 Amazon Aurora 傳輸至 S3 儲存貯體:
-
s3:PutObject*
-
s3:GetObject*
-
s3:ListBucket
-
s3:DeleteObject*
-
s3:GetBucketLocation
在政策中,包含下列資源,以識別 S3 儲存貯體和該儲存貯體中的物件。以下資源清單會顯示用於存取 Amazon S3 的 Amazon Resource Name (ARN) 格式。
-
arn:aws:s3:::
amzn-s3-demo-bucket
-
arn:aws:s3:::
amzn-s3-demo-bucket
/*
如需為 Amazon Aurora 建立 IAM 政策的詳細資訊,請參閱 建立並使用 IAM 政策進行 IAM 資料庫存取。另請參閱《IAM 使用者指南》中的教學:建立和連接您的第一個客戶受管原則。
下列 AWS CLI 命令會使用這些選項建立名為
ExportPolicy
的 IAM 政策。它將存取權授予名為amzn-s3-demo-bucket
的儲存貯體。注意
在您建立政策後,請記下政策的 ARN。在後續步驟中將政策附加至 IAM 角色時,您會需要此 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
/*" ] } ] }' -
-
建立 IAM 角色,讓 Aurora 可以代表您擔任此 IAM 角色,以存取您的 Amazon S3 儲存貯體。如需詳細資訊,請參閱《IAM 使用者指南》中的建立角色以將許可委派給 IAM 使用者。
下列範例顯示使用 AWS CLI 命令來建立名為 的角色
rds-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" } ] }'
-
將您建立的 IAM 政策附加至您建立的 IAM 角色。
下列 AWS CLI 命令會將先前建立的政策連接至名為 的角色
rds-s3-export-role
。將
取代成您在稍早步驟中記下的政策 ARN。your-policy-arn
aws iam attach-role-policy --policy-arn
your-policy-arn
--role-name rds-s3-export-role
使用跨帳戶 Amazon S3 儲存貯體
您可以跨 AWS 帳戶使用 Amazon S3 儲存貯體。若要使用跨帳戶儲存貯體,請新增儲存貯體政策,以將存取權授予您用於 S3 匯出的 IAM 角色。如需詳細資訊,請參閱範例 2:儲存貯體擁有者授予跨帳戶儲存貯體許可。
-
將儲存貯體政策附加至您的儲存貯體,如下列範例所示。
使用跨帳戶 AWS KMS key
您可以使用跨帳戶 AWS KMS key 來加密 Amazon S3 匯出。首先,將金鑰政策新增至本機帳戶,然後在外部帳戶中新增 IAM 政策。如需詳細資訊,請參閱允許其他帳戶中的使用者使用 KMS 金鑰。
使用跨帳戶 KMS 金鑰
-
將金鑰政策新增至本機帳戶。
下列範例將本機帳戶 123456789012 中的許可給予外部帳戶 444455556666 中的
ExampleRole
和ExampleUser
。{ "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": "*" }
-
將 IAM 政策新增至外部帳戶。
以下 IAM 政策範例允許委託人使用帳戶 123456789012 中的 KMS 金鑰來進行密碼編譯操作。若要提供此許可給帳戶 444455556666 中的
ExampleRole
和ExampleUser
,請在該帳戶中附加政策給他們。{ "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" }