设置 Amazon S3 存储桶的访问权限
您标识 AmazonS3 桶,然后授予数据库集群导出任务访问它的权限。
标识要导出到的 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 账户使用 S3 桶。有关更多信息,请参阅 使用跨账户 Amazon S3 存储桶。