

# 使用 S3 访问权限管控实例


要开始使用 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 [添加公司身份目录](https://docs.amazonaws.cn/singlesignon/latest/userguide/manage-your-identity-source-idp.html)，则可以将公司目录的此 IAM Identity Center 实例与您的 S3 Access Grants 实例相关联。完成此操作后，您可以为公司用户和组创建访问授权。如果您尚未将公司目录添加到 IAM Identity Center，则可以稍后将您的 S3 Access Grants 实例与 IAM Identity Center 实例相关联。

**Topics**
+ [

# 创建 S3 访问权限管控实例
](access-grants-instance-create.md)
+ [

# 获取 S3 访问权限管控实例的详细信息
](access-grants-instance-view.md)
+ [

# 列出 S3 访问权限管控实例
](access-grants-instance-list.md)
+ [

# 关联或取消关联 IAM Identity Center 实例
](access-grants-instance-idc.md)
+ [

# 删除 S3 Access Grants 实例
](access-grants-instance-delete.md)

# 创建 S3 访问权限管控实例


要开始使用 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 [添加公司身份目录](https://docs.amazonaws.cn/singlesignon/latest/userguide/manage-your-identity-source-idp.html)，则可以将公司目录的此 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 控制台


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

**先决条件**  
如果您想使用公司目录中的身份授予对 S3 数据的访问权限，请向 Amazon IAM Identity Center [添加公司身份目录](https://docs.amazonaws.cn/singlesignon/latest/userguide/manage-your-identity-source-idp.html)。如果您尚未准备好执行此操作，可以稍后将您的 S3 Access Grants 实例与 IAM Identity Center 实例关联。

**创建 S3 访问权限管控实例**

1. 登录到 Amazon Web Services 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

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

1. 在左侧导航窗格中，选择 **Access Grants**。

1. 在 **S3 Access Grants** 页面上，选择**创建 S3 Access Grants 实例**。

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

   1. （可选）如果您已向 Amazon IAM Identity Center [添加公司身份目录](https://docs.amazonaws.cn/singlesignon/latest/userguide/manage-your-identity-source-idp.html)，则可以将公司目录的此 IAM Identity Center 实例与您的 S3 Access Grants 实例相关联。

      为此，请选择**在*区域*中添加 IAM Identity Center 实例**。然后输入 IAM Identity Center 实例 Amazon 资源名称（ARN）。

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

   1. 要创建 S3 Access Grants 实例，请选择**下一步**。要注册位置，请参阅[步骤 2 – 注册位置](https://docs.amazonaws.cn/AmazonS3/latest/userguide/access-grants-instance.html)。

1. 如果已禁用**下一步**或**创建 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 实例关联时所需的其他权限，请参阅 [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_CreateAccessGrantsInstance.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_CreateAccessGrantsInstance.html)。

## 使用 Amazon CLI


要安装 Amazon CLI，请参阅 *Amazon Command Line Interface 用户指南*中的[安装 Amazon CLI](https://docs.amazonaws.cn/cli/latest/userguide/getting-started-install.html)。

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

**Example 创建 S3 访问权限管控实例**  

```
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"
}
```

## 使用 REST API


您可以使用 Amazon S3 REST API 创建 S3 Access Grants 实例。有关用于管理 S3 Access Grants 实例的 REST API 支持的信息，请参阅**《Amazon Simple Storage Service API 参考》中的以下部分：
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_AssociateAccessGrantsIdentityCenter.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_AssociateAccessGrantsIdentityCenter.html) 
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_CreateAccessGrantsInstance.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_CreateAccessGrantsInstance.html) 
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstance.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstance.html) 
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_DissociateAccessGrantsIdentityCenter.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_DissociateAccessGrantsIdentityCenter.html) 
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_GetAccessGrantsInstance.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_GetAccessGrantsInstance.html) 
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceForPrefix.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceForPrefix.html) 
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceResourcePolicy.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceResourcePolicy.html) 
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_ListAccessGrantsInstances.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_ListAccessGrantsInstances.html) 
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_PutAccessGrantsInstanceResourcePolicy.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_PutAccessGrantsInstanceResourcePolicy.html)

## 使用 Amazon SDK


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

------
#### [ Java ]

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

**Example 创建 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)
```

------

# 获取 S3 访问权限管控实例的详细信息


您可以获取特定 Amazon Web Services 区域中的 Amazon S3 访问权限管控实例的详细信息。可以使用 Amazon S3 控制台、Amazon Command Line Interface（Amazon CLI）、Amazon S3 REST API 和 Amazon SDK 获取 S3 访问权限管控实例的详细信息。

## 使用 S3 控制台


**获取 S3 访问权限管控实例的详细信息**

1. 登录到 Amazon Web Services 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 在左侧导航窗格中，选择 **Access Grants**。

1. 在 **S3 Access Grants** 页面上，选择包含要使用的 S3 Access Grants 实例的区域。

1. **S3 Access Grants** 页面列出了您的 S3 Access Grants 实例以及已与您的账户共享的所有跨账户实例。要查看实例的详细信息，请选择**查看详细信息**。

## 使用 Amazon CLI


要安装 Amazon CLI，请参阅 *Amazon Command Line Interface 用户指南*中的[安装 Amazon CLI](https://docs.amazonaws.cn/cli/latest/userguide/getting-started-install.html)。

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

**Example – 获取 S3 访问权限管控实例的详细信息**  

```
aws s3control get-access-grants-instance \
 --account-id 111122223333 \
 --region us-east-2
```
响应：  

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

## 使用 REST API


有关用于管理 S3 Access Grants 实例的 Amazon S3 REST API 支持的信息，请参阅**《Amazon Simple Storage Service API 参考》中的以下部分：
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_GetAccessGrantsInstance.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_GetAccessGrantsInstance.html) 
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceForPrefix.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceForPrefix.html) 

## 使用 Amazon SDK


此部分中的示例说明了如何使用 Amazon SDK 获取 S3 Access Grants 实例的详细信息。

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

------
#### [ Java ]

**Example – 获取 S3 Access Grants 实例**  

```
public void getAccessGrantsInstance() {
GetAccessGrantsInstanceRequest getRequest = GetAccessGrantsInstanceRequest.builder()
.accountId("111122223333")
.build();
GetAccessGrantsInstanceResponse getResponse = s3Control.getAccessGrantsInstance(getRequest);
LOGGER.info("GetAccessGrantsInstanceResponse: " + getResponse);
}
```
响应：  

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

------

# 列出 S3 访问权限管控实例


还可以列出 S3 访问权限管控实例，包括已通过 Amazon Resource Access Manager（Amazon RAM）与您共享的实例。

可以使用 Amazon S3 控制台、Amazon Command Line Interface（Amazon CLI）、Amazon S3 REST API 和 Amazon SDK 列出 S3 访问权限管控实例。

## 使用 S3 控制台


**列出 S3 访问权限管控实例**

1. 登录到 Amazon Web Services 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 在左侧导航窗格中，选择 **Access Grants**。

1. 在 **S3 Access Grants** 页面上，选择包含要使用的 S3 Access Grants 实例的区域。

1. **S3 Access Grants** 页面列出了您的 S3 Access Grants 实例以及已与您的账户共享的所有跨账户实例。要查看实例的详细信息，请选择**查看详细信息**。

## 使用 Amazon CLI


要安装 Amazon CLI，请参阅 *Amazon Command Line Interface 用户指南*中的[安装 Amazon CLI](https://docs.amazonaws.cn/cli/latest/userguide/getting-started-install.html)。

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

**Example – 列出账户的所有 S3 Access Grants 实例**  
此操作将列出账户的 S3 Access Grants 实例。您在每个 Amazon Web Services 区域中只能具有一个 S3 Access Grants 实例。此操作还会列出您的账户有权访问的其他跨账户 S3 Access Grants 实例。  

```
aws s3control list-access-grants-instances \
 --account-id 111122223333 \
 --region us-east-2
```
响应：  

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

## 使用 REST API


有关用于管理 S3 Access Grants 实例的 Amazon S3 REST API 支持的信息，请参阅**《Amazon Simple Storage Service API 参考》中的以下部分：
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_ListAccessGrantsInstances.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_ListAccessGrantsInstances.html) 

## 使用 Amazon SDK


此部分中的示例说明了如何使用 Amazon SDK 获取 S3 Access Grants 实例的详细信息。

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

------
#### [ Java ]

**Example – 列出账户的所有 S3 Access Grants 实例**  
此操作将列出账户的 S3 Access Grants 实例。您在每个区域只能有一个 S3 Access Grants 实例。此操作还列出了您的账户有权访问的其他跨账户 S3 Access Grants 实例。  

```
public void listAccessGrantsInstances() {
ListAccessGrantsInstancesRequest listRequest = ListAccessGrantsInstancesRequest.builder()
.accountId("111122223333")
.build();
ListAccessGrantsInstancesResponse listResponse = s3Control.listAccessGrantsInstances(listRequest);
LOGGER.info("ListAccessGrantsInstancesResponse: " + listResponse);
}
```
响应：  

```
ListAccessGrantsInstancesResponse(
AccessGrantsInstancesList=[
ListAccessGrantsInstanceEntry(
AccessGrantsInstanceId=default,
AccessGrantsInstanceArn=arn:aws:s3:us-east-2:111122223333:access-grants/default,
CreatedAt=2023-06-07T04:28:11.728Z
)
]
)
```

------

# 关联或取消关联 IAM Identity Center 实例


在 Amazon S3 Access Grants 中，您可以将公司身份目录的 Amazon IAM Identity Center 实例与 S3 Access Grants 实例相关联。完成此操作后，除了 Amazon Identity and Access Management（IAM）用户和角色之外，您还可以为公司目录用户和组创建访问授权。

如果您不再想为公司目录用户和组创建访问授权，则可以取消您的 IAM Identity Center 实例与 S3 Access Grants 实例的关联。

您可以使用 Amazon S3 控制台、Amazon Command Line Interface（Amazon CLI）、Amazon S3 REST API 和 Amazon SDK 来关联或取消关联 IAM Identity Center 实例。

## 使用 S3 控制台


在将 IAM Identity Center 实例与 S3 Access Grants 实例关联之前，您必须将公司身份目录添加到 IAM Identity Center。有关更多信息，请参阅 [S3 Access Grants 和公司目录身份](access-grants-directory-ids.md)。

**将 IAM Identity Center 实例与 S3 Access Grants 实例关联**

1. 登录到 Amazon Web Services 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 在左侧导航窗格中，选择 **Access Grants**。

1. 在 **S3 Access Grants** 页面上，选择包含要使用的 S3 Access Grants 实例的区域。

1. 对于实例，选择**查看详细信息**。

1. 在详细信息页面上的 **IAM Identity Center** 部分中，选择**添加** IAM Identity Center 实例或**取消注册**已关联的 IAM Identity Center 实例。

## 使用 Amazon CLI


要安装 Amazon CLI，请参阅 *Amazon Command Line Interface 用户指南*中的[安装 Amazon CLI](https://docs.amazonaws.cn/cli/latest/userguide/getting-started-install.html)。

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

**Example – 将 IAM Identity Center 实例与 S3 Access Grants 实例关联**  

```
aws s3control associate-access-grants-identity-center \
 --account-id 111122223333 \
 --identity-center-arn arn:aws:sso:::instance/ssoins-1234a567bb89012c \
 --profile access-grants-profile \
 --region eu-central-1
     
// No response body
```

**Example – 取消 IAM Identity Center 实例与 S3 Access Grants 实例的关联**  

```
aws s3control dissociate-access-grants-identity-center \
 --account-id 111122223333 \
 --profile access-grants-profile \
 --region eu-central-1
     
// No response body
```

## 使用 REST API


有关用于管理 IAM Identity Center 实例与 S3 Access Grants 实例之间的关联的 Amazon S3 REST API 支持的信息，请参阅**《Amazon Simple Storage Service API 参考》中的以下部分：
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_AssociateAccessGrantsIdentityCenter.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_AssociateAccessGrantsIdentityCenter.html) 
+  [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_DissociateAccessGrantsIdentityCenter.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_DissociateAccessGrantsIdentityCenter.html) 

# 删除 S3 Access Grants 实例


您可以从账户中的 Amazon Web Services 区域中删除 Amazon S3 Access Grants 实例。但是，您必须先执行以下操作，之后才能删除 S3 Access Grants 实例：
+ 删除 S3 Access Grants 实例中的所有资源，包括所有授权和位置。有关更多信息，请参阅[删除授权](https://docs.amazonaws.cn/AmazonS3/latest/userguide/access-grants-grant-delete.html)和[删除位置](https://docs.amazonaws.cn/AmazonS3/latest/userguide/access-grants-grant-location.html)。
+ 如果您已将 Amazon IAM Identity Center 实例与 S3 Access Grants 实例关联，则必须取消关联 IAM Identity Center 实例。有关更多信息，请参阅[关联或取消关联 IAM Identity Center 实例](https://docs.amazonaws.cn/AmazonS3/latest/userguide/access-grants-instance-idc.html)。

**重要**  
如果您删除 S3 Access Grants 实例，则删除是永久性的，无法撤消。通过此 S3 Access Grants 实例中的授权获得访问权限的所有被授权者都将失去对您的 S3 数据的访问权限。

您可以使用 Amazon S3 控制台、Amazon Command Line Interface（Amazon CLI）、Amazon S3 REST API 和 Amazon SDK 删除 S3 Access Grants 实例。

## 使用 S3 控制台


**删除 S3 Access Grants 实例**

1. 登录到 Amazon Web Services 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 在左侧导航窗格中，选择 **Access Grants**。

1. 在 **S3 Access Grants** 页面上，选择包含要使用的 S3 Access Grants 实例的区域。

1. 对于实例，选择**查看详细信息**。

1. 在实例详细信息页面上，选择右上角的**删除实例**。

1. 在出现的对话框中，选择**删除**。此操作无法撤消。

## 使用 Amazon CLI


要安装 Amazon CLI，请参阅 *Amazon Command Line Interface 用户指南*中的[安装 Amazon CLI](https://docs.amazonaws.cn/cli/latest/userguide/getting-started-install.html)。

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

**注意**  
您必须先删除在 S3 Access Grants 实例中创建的所有授权和位置，之后才能删除 S3 Access Grants 实例。如果您已将 IAM Identity Center 实例与 S3 Access Grants 实例关联，则必须先取消此关联。

**Example – 删除 S3 Access Grants 实例**  

```
aws s3control delete-access-grants-instance \
--account-id 111122223333 \
--profile access-grants-profile \
--region us-east-2 \
--endpoint-url https://s3-control.us-east-2.amazonaws.com \
 
 // No response body
```

## 使用 REST API


有关用于删除 S3 Access Grants 实例的 Amazon S3 REST API 支持的信息，请参阅**《Amazon Simple Storage Service API 参考》中的 [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstance.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstance.html)。

## 使用 Amazon SDK


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

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

------
#### [ Java ]

**注意**  
您必须先删除在 S3 Access Grants 实例中创建的所有授权和位置，之后才能删除 S3 Access Grants 实例。如果您已将 IAM Identity Center 实例与 S3 Access Grants 实例关联，则必须先取消此关联。

**Example – 删除 S3 Access Grants 实例**  

```
public void deleteAccessGrantsInstance() {
DeleteAccessGrantsInstanceRequest deleteRequest = DeleteAccessGrantsInstanceRequest.builder()
.accountId("111122223333")
.build();
DeleteAccessGrantsInstanceResponse deleteResponse = s3Control.deleteAccessGrantsInstance(deleteRequest);
LOGGER.info("DeleteAccessGrantsInstanceResponse: " + deleteResponse);
}
```

------