创建 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

注意

可能需要其他权限。例如,如果 Amazon S3 存储桶已加密,则您需要添加 kms:Decrypt 权限。

您可以按照以下步骤创建一个 IAM 策略,以便为 Aurora 提供所需的最小权限以代表您访问 Amazon S3 存储桶。要允许 Aurora 访问所有 Amazon S3 存储桶,您可以跳过这些步骤并使用 AmazonS3ReadOnlyAccessAmazonS3FullAccess 预定义 IAM 策略,而不是创建自己的策略。

创建 IAM 策略来授予对您的 Amazon S3 资源的访问权限

  1. 打开 IAM 管理控制台

  2. 在导航窗格中,选择 Policies

  3. 选择 Create policy

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

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

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

  6. 选择 Resources (资源),然后为 bucket (存储桶) 选择 Add ARN (添加 ARN)

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

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

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

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

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

    注意

    您可以将 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. 选择 Create policy

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