创建 IAM 策略以访问 Amazon S3 资源
Aurora 可以访问 Amazon S3 资源以加载数据,或者保存 Aurora 数据库集群中的数据。不过,您必须先创建 IAM 策略,提供允许 Aurora 访问 Amazon S3 的存储桶和对象权限。
下表列出了可代表您访问 Amazon S3 存储桶的 Aurora 功能,以及各个功能所需的最低存储桶和对象权限。
功能 | 存储桶权限 | 对象权限 |
---|---|---|
|
|
|
LOAD XML FROM S3 |
|
|
|
|
|
以下策略可用于添加 Aurora 代表您访问 Amazon S3 存储桶时可能需要的权限。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAuroraToExampleBucket", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:DeleteObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket
/*", "arn:aws:s3:::amzn-s3-demo-bucket
" ] } ] }
注意
确保添加 Resource
值对应的两个条目。Aurora 需要存储桶本身和存储桶内所有对象的权限。
根据您的使用案例,您可能不需要在示例策略中添加所有权限。也可能需要其他权限。例如,如果 Amazon S3 存储桶已加密,则您需要添加 kms:Decrypt
权限。
您可以按照以下步骤创建一个 IAM 策略,以便为 Aurora 提供所需的最小权限以代表您访问 Amazon S3 存储桶。要允许 Aurora 访问所有 Amazon S3 存储桶,您可以跳过这些步骤并使用 AmazonS3ReadOnlyAccess
或 AmazonS3FullAccess
预定义 IAM 策略,而不是创建自己的策略。
创建 IAM 策略来授予对您的 Amazon S3 资源的访问权限
-
打开 IAM 管理控制台
。 -
在导航窗格中,选择策略。
-
选择 Create policy (创建策略)。
-
在 Visual editor (可视化编辑器) 选项卡上,选择 Choose a service (选择服务),然后选择 S3。
-
在 Actions (操作) 下面选择 Expand all (全部展开),然后选择 IAM 策略所需的存储桶权限和对象权限。
对象权限是 Amazon S3 中的对象操作的权限,需要为存储桶中的对象而不是存储桶本身授予这些权限。有关 Amazon S3 中的对象操作权限的更多信息,请参阅对象操作的权限。
-
选择资源,然后为存储桶选择添加 ARN。
-
在添加 ARN对话框中,提供有关资源的详细信息,然后选择添加。
指定要允许访问的 Amazon S3 存储桶。例如,如果您希望支持 Aurora 访问名为
amzn-s3-demo-bucket
的 Amazon S3 存储桶,则将 Amazon 资源名称(ARN)的值设置为arn:aws:s3:::
。amzn-s3-demo-bucket
-
如果列出了对象资源,请为对象选择Add ARN (添加 ARN)。
-
在添加 ARN对话框中,提供有关资源的详细信息。
对于 Amazon S3 存储桶,请指定要允许访问的 Amazon S3 存储桶。对于对象,您可以选择 Any (任意),以便为存储桶中的任何对象授予权限。
注意
您可以将 Amazon 资源名称 (ARN) 设置为更具体的 ARN 值,以允许 Aurora 仅访问 Amazon S3 存储桶中的特定文件或文件夹。有关如何为 Amazon S3 定义访问策略的更多信息,请参阅管理您的 Amazon S3 资源的访问权限。
-
(可选)为 bucket (存储桶) 选择 Add ARN (添加 ARN) 以将另一个 Amazon S3 存储桶添加到策略中,然后为该存储桶重复前面的步骤。
注意
您可以重复该操作,以便在希望 Aurora 访问的每个 Amazon S3 存储桶的策略中添加相应的存储桶权限语句。您也可以根据需要授予访问 Amazon S3 中所有存储桶和对象的权限。
-
选择 Review policy (查看策略)。
-
对于 Name (名称),请为您的 IAM 策略输入名称,例如
AllowAuroraToExampleBucket
。在创建 IAM 角色与 Aurora 数据库集群关联时,需要使用此名称。您也可以添加可选的描述值。 -
选择创建策略。
完成 创建 IAM 角色以允许 Amazon Aurora 访问AWS服务 中的步骤。