创建 IAM 策略以访问 Amazon S3 资源 - Amazon Aurora

创建 IAM 策略以访问 Amazon S3 资源

Aurora 可以访问 Amazon S3 资源以加载数据,或者保存 Aurora 数据库集群中的数据。不过,您必须先创建 IAM 策略,提供允许 Aurora 访问 Amazon S3 的存储桶和对象权限。

下表列出了可代表您访问 Amazon S3 存储桶的 Aurora 功能,以及各个功能所需的最低存储桶和对象权限。

功能 存储桶权限 对象权限

LOAD DATA FROM S3

ListBucket

GetObject

GetObjectVersion

LOAD XML FROM S3

ListBucket

GetObject

GetObjectVersion

SELECT INTO OUTFILE S3

ListBucket

AbortMultipartUpload

DeleteObject

GetObject

ListMultipartUploadParts

PutObject

以下策略可用于添加 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 存储桶,您可以跳过这些步骤并使用 AmazonS3ReadOnlyAccessAmazonS3FullAccess 预定义 IAM 策略,而不是创建自己的策略。

创建 IAM 策略来授予对您的 Amazon S3 资源的访问权限
  1. 打开 IAM 管理控制台

  2. 在导航窗格中,选择策略

  3. 选择 Create policy (创建策略)

  4. Visual editor (可视化编辑器) 选项卡上,选择 Choose a service (选择服务),然后选择 S3

  5. Actions (操作) 下面选择 Expand all (全部展开),然后选择 IAM 策略所需的存储桶权限和对象权限。

    对象权限是 Amazon S3 中的对象操作的权限,需要为存储桶中的对象而不是存储桶本身授予这些权限。有关 Amazon S3 中的对象操作权限的更多信息,请参阅对象操作的权限

  6. 选择资源,然后为存储桶选择添加 ARN

  7. 添加 ARN对话框中,提供有关资源的详细信息,然后选择添加

    指定要允许访问的 Amazon S3 存储桶。例如,如果您希望支持 Aurora 访问名为 amzn-s3-demo-bucket 的 Amazon S3 存储桶,则将 Amazon 资源名称(ARN)的值设置为 arn:aws:s3:::amzn-s3-demo-bucket

  8. 如果列出了对象资源,请为对象选择Add ARN (添加 ARN)

  9. 添加 ARN对话框中,提供有关资源的详细信息。

    对于 Amazon S3 存储桶,请指定要允许访问的 Amazon S3 存储桶。对于对象,您可以选择 Any (任意),以便为存储桶中的任何对象授予权限。

    注意

    您可以将 Amazon 资源名称 (ARN) 设置为更具体的 ARN 值,以允许 Aurora 仅访问 Amazon S3 存储桶中的特定文件或文件夹。有关如何为 Amazon S3 定义访问策略的更多信息,请参阅管理您的 Amazon S3 资源的访问权限

  10. (可选)为 bucket (存储桶) 选择 Add ARN (添加 ARN) 以将另一个 Amazon S3 存储桶添加到策略中,然后为该存储桶重复前面的步骤。

    注意

    您可以重复该操作,以便在希望 Aurora 访问的每个 Amazon S3 存储桶的策略中添加相应的存储桶权限语句。您也可以根据需要授予访问 Amazon S3 中所有存储桶和对象的权限。

  11. 选择 Review policy (查看策略)

  12. 对于 Name (名称),请为您的 IAM 策略输入名称,例如 AllowAuroraToExampleBucket。在创建 IAM 角色与 Aurora 数据库集群关联时,需要使用此名称。您也可以添加可选的描述值。

  13. 选择创建策略

  14. 完成 创建 IAM 角色以允许 Amazon Aurora 访问AWS服务 中的步骤。