创建 S3 Access Grants 实例 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

创建 S3 Access Grants 实例

要开始使用 Amazon S3 Access Grants,您需要先创建一个 S3 Access Grants 实例。您的每个账户在每个 Amazon Web Services 区域 中只能创建一个 S3 Access Grants 实例。S3 Access Grants 实例充当您的 S3 Access Grants 资源的容器,其中包括注册的位置和授权。

利用 S3 Access Grants,您可以为 Amazon Identity and Access Management(IAM)用户和角色创建对 S3 数据的权限授权。如果您已向 Amazon IAM Identity Center 添加公司身份目录,则可以将公司目录的此 IAM Identity Center 实例与您的 S3 Access Grants 实例相关联。完成此操作后,您可以为公司用户和组创建访问授权。如果您尚未将公司目录添加到 IAM Identity Center,则可以稍后将您的 S3 Access Grants 实例与 IAM Identity Center 实例相关联。

您可以使用 Amazon S3 控制台、Amazon Command Line Interface(Amazon CLI)、Amazon S3 REST API 和 Amazon SDK 创建 S3 Access Grants 实例。

在使用 S3 Access Grants 授予对 S3 数据的访问权限之前,必须先在 S3 数据所在的同一 Amazon Web Services 区域中创建 S3 Access Grants 实例。

先决条件

如果您想使用公司目录中的身份授予对 S3 数据的访问权限,请向 Amazon IAM Identity Center 添加公司身份目录。如果您尚未准备好执行此操作,可以稍后将您的 S3 Access Grants 实例与 IAM Identity Center 实例关联。

创建 S3 Access Grants 实例
  1. 登录到Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在导航栏中,选择当前所显示 Amazon Web Services 区域的名称。接下来,选择要切换到的区域。

  3. 在左侧导航窗格中,选择 Access Grants

  4. S3 Access Grants 页面上,选择创建 S3 Access Grants 实例

    1. 设置 Access Grants 实例向导的步骤 1 中,确认您要在当前的 Amazon Web Services 区域中创建实例。确保这是您的 S3 数据所在的 Amazon Web Services 区域。您的每个账户在每个 Amazon Web Services 区域 中可创建一个 S3 Access Grants 实例。

    2. (可选)如果您已向 Amazon IAM Identity Center 添加公司身份目录,则可以将公司目录的此 IAM Identity Center 实例与您的 S3 Access Grants 实例相关联。

      为此,请选择区域中添加 IAM Identity Center 实例。然后输入 IAM Identity Center 实例 Amazon 资源名称(ARN)。

      如果您尚未将公司目录添加到 IAM Identity Center,则可以稍后将您的 S3 Access Grants 实例与 IAM Identity Center 实例相关联。

    3. 要创建 S3 Access Grants 实例,请选择下一步。要注册位置,请参阅步骤 2 – 注册位置

  5. 如果已禁用下一步创建 S3 Access Grants 实例,则:

    无法创建实例
    • 您可能已在同一个 Amazon Web Services 区域中拥有一个 S3 Access Grants 实例。在左侧导航窗格中,选择 Access Grants。在 S3 Access Grants 页面上,向下滚动到您的账户中的 S3 Access Grants 实例以确定是否已存在实例。

    • 您可能没有创建 S3 Access Grants 实例所需的 s3:CreateAccessGrantsInstance 权限。请联系您的账户管理员。有关将 IAM Identity Center 实例与 S3 Access Grants 实例关联时所需的其他权限,请参阅 CreateAccessGrantsInstance

要安装 Amazon CLI,请参阅 Amazon Command Line Interface 用户指南中的安装 Amazon CLI

要使用以下示例命令,请将 user input placeholders 替换为您自己的信息。

例 创建 S3 Access Grants 实例
aws s3control create-access-grants-instance \ --account-id 111122223333 \ --region us-east-2

响应:

{ "CreatedAt": "2023-05-31T17:54:07.893000+00:00", "AccessGrantsInstanceId": "default", "AccessGrantsInstanceArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default" }

您可以使用 Amazon S3 REST API 创建 S3 Access Grants 实例。有关用于管理 S3 Access Grants 实例的 REST API 支持的信息,请参阅《Amazon Simple Storage Service API 参考》中的以下部分:

此部分中的示例说明了如何使用 Amazon SDK 创建 S3 Access Grants 实例。

Java

此示例创建的 S3 Access Grants 实例可用作您的个人访问授权的容器。您的每个账户在每个 Amazon Web Services 区域 中可具有一个 S3 Access Grants 实例。响应包括实例 ID default 和为您的 S3 Access Grants 实例生成的 Amazon 资源名称(ARN)。

例 创建 S3 Access Grants 实例请求
public void createAccessGrantsInstance() { CreateAccessGrantsInstanceRequest createRequest = CreateAccessGrantsInstanceRequest.builder().accountId("111122223333").build(); CreateAccessGrantsInstanceResponse createResponse = s3Control.createAccessGrantsInstance(createRequest);LOGGER.info("CreateAccessGrantsInstanceResponse: " + createResponse); }

响应:

CreateAccessGrantsInstanceResponse( CreatedAt=2023-06-07T01:46:20.507Z, AccessGrantsInstanceId=default, AccessGrantsInstanceArn=arn:aws:s3:us-east-2:111122223333:access-grants/default)