本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定對 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 管理主控台 匯出快照,您可以選擇在匯出快照時自動建立 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-arnaws iam attach-role-policy --policy-arnyour-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" }