

# 更新已注册位置
<a name="access-grants-location-edit"></a>

您可以更新已在 Amazon S3 Access Grants 实例中注册的位置的 AWS Identity and Access Management（IAM）角色。对于用于在 S3 Access Grants 中注册位置的每个新的 IAM 角色，请务必向 S3 Access Grants 服务主体（`access-grants.s3.amazonaws.com`）授予该角色的访问权限。为此，请在首次[注册位置](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html)时使用的同一个信任策略 JSON 文件中为新 IAM 角色添加一个条目。

您可以使用 Amazon S3 控制台、AWS Command Line Interface（AWS CLI）、Amazon S3 REST API 和 AWS SDK 在 S3 Access Grants 实例中更新位置。

## 使用 S3 控制台
<a name="access-grants-location-edit-console"></a>

**更新在 S3 Access Grants 实例中注册的位置的 IAM 角色**

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

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

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

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

1. 在实例的详细信息页面上，选择**位置**选项卡。

1. 找到要更新的位置。要筛选位置列表，请使用搜索框。

1. 选择要更新的已注册位置旁边的选项按钮。

1. 更新 IAM 角色，然后选择**保存更改**。

## 使用 AWS CLI
<a name="access-grants-location-edit-cli"></a>

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

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

**Example – 更新已注册位置的 IAM 角色**  

```
aws s3control update-access-grants-location \
--account-id 111122223333 \
--access-grants-location-id 635f1139-1af2-4e43-8131-a4de006eb999 \
--iam-role-arn arn:aws:iam::777788889999:role/accessGrantsTestRole
```
响应：  

```
{
    "CreatedAt": "2023-05-31T18:23:48.107000+00:00",
    "AccessGrantsLocationId": "635f1139-1af2-4e43-8131-a4de006eb999",
    "AccessGrantsLocationArn": "arn:aws:s3:us-east-2:777788889999:access-grants/default/location/635f1139-1af2-4e43-8131-a4de006eb888",
    "LocationScope": "s3://amzn-s3-demo-bucket/prefixB*",
    "IAMRoleArn": "arn:aws:iam::777788889999:role/accessGrantsTestRole"
}
```

## 使用 REST API
<a name="access-grants-location-edit-rest-api"></a>

有关用于更新 S3 Access Grants 实例中的位置的 Amazon S3 REST API 支持的信息，请参阅**《Amazon Simple Storage Service API 参考》中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html)。

## 使用 AWS SDK
<a name="access-grants-location-edit-using-sdk"></a>

此部分中的示例说明了如何使用 AWS SDK 更新已注册位置的 IAM 角色。

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

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

**Example – 更新已注册位置的 IAM 角色**  

```
public void updateAccessGrantsLocation() {
UpdateAccessGrantsLocationRequest updateRequest = UpdateAccessGrantsLocationRequest.builder()
.accountId("111122223333")
.accessGrantsLocationId("635f1139-1af2-4e43-8131-a4de006eb999")
.iamRoleArn("arn:aws:iam::777788889999:role/accessGrantsTestRole")
.build();
UpdateAccessGrantsLocationResponse updateResponse = s3Control.updateAccessGrantsLocation(updateRequest);
LOGGER.info("UpdateAccessGrantsLocationResponse: " + updateResponse);
}
```
响应：  

```
UpdateAccessGrantsLocationResponse(
CreatedAt=2023-06-07T04:35:10.027Z,
AccessGrantsLocationId=635f1139-1af2-4e43-8131-a4de006eb999,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:777788889999:access-grants/default/location/635f1139-1af2-4e43-8131-a4de006eb888,
LocationScope=s3://amzn-s3-demo-bucket/prefixB*,
IAMRoleArn=arn:aws:iam::777788889999:role/accessGrantsTestRole
)
```

------