

# Trabalhar com locais do recurso Concessão de Acesso do S3
<a name="access-grants-location"></a>

Depois de [criar uma instância do recurso Concessão de Acesso do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-create.html) em uma Região da AWS na sua conta, registre uma localidade do S3 nessa instância. Uma localização do recurso Concessão de Acesso do S3 associa a localização padrão do S3 (`s3://`), um bucket ou um prefixo a um perfil do AWS Identity and Access Management (IAM). O recurso Concessão de Acesso do S3 assume esse perfil do IAM para distribuir credenciais temporárias ao beneficiário que está acessando aquela localização específica. Primeiro, é necessário registrar pelo menos uma localização na instância do recurso Concessão de Acesso do S3 para poder criar uma concessão de acesso. 

É possível registrar um local, visualizar os respectivos detalhes, editar e excluir um local.

**nota**  
 Depois de registrar a primeira localização na sua instância do recurso Concessão de Acesso do S3, ela ainda não terá nenhuma concessão de acesso individual. Para criar uma concessão de acesso, consulte [Criar concessões](access-grants-grant-create.md). 

**Topics**
+ [Registrar um local](access-grants-location-register.md)
+ [Visualizar os detalhes de um local registrado](access-grants-location-view.md)
+ [Atualizar um local registrado](access-grants-location-edit.md)
+ [Excluir um local registrado](access-grants-location-delete.md)

# Registrar um local
<a name="access-grants-location-register"></a>

Depois de [criar uma instância do recurso Concessão de Acesso do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-create.html) em uma Região da AWS na sua conta, registre uma localidade do S3 nessa instância. Uma localização do recurso Concessão de Acesso do S3 associa a localização padrão do S3 (`s3://`), um bucket ou um prefixo a um perfil do AWS Identity and Access Management (IAM). O recurso Concessão de Acesso do S3 assume esse perfil do IAM para distribuir credenciais temporárias ao beneficiário que está acessando aquela localização específica. Primeiro, é necessário registrar pelo menos uma localização na instância do recurso Concessão de Acesso do S3 para poder criar uma concessão de acesso. 

**Caso de uso recomendado**  
Recomendamos registrar a localização padrão (`s3://`) e associá-la a um perfil do IAM. A localização no caminho padrão do S3 (`s3://`) abrange o acesso a todos os seus buckets do S3 nessa Região da AWS da sua conta. Ao criar uma concessão de acesso, é possível restringir o escopo da concessão a um bucket, um prefixo ou um objeto dentro da localização padrão. 

**Casos de uso de gerenciamento de acesso complexo**  
Casos de uso de gerenciamento de acesso mais complexos podem exigir que você registre mais do que a localização padrão. Alguns exemplos desses casos de uso são:
+ Suponha que *amzn-s3-demo-bucket* seja uma localização registrada em sua instância do recurso Concessão de Acesso do S3 com um perfil do IAM associado a ela, mas esse perfil do IAM tenha acesso negado a um prefixo específico no bucket. Nesse caso, é possível registrar o prefixo ao qual o perfil do IAM não tem acesso como uma localização separada e associar essa localização a um perfil do IAM diferente com o acesso necessário. 
+ Suponha que você queira criar concessões que restrinjam o acesso apenas aos usuários em um endpoint de nuvem privada virtual (VPC). Nesse caso, é possível registrar uma localização para um bucket no qual o perfil do IAM restringe o acesso ao endpoint da VPC. Posteriormente, quando um beneficiário solicita credenciais ao recurso Concessão de Acesso do S3, ele assume o perfil do IAM da localização para distribuir credenciais temporárias. Essa credencial negará acesso ao bucket específico, a menos que o chamador esteja dentro do endpoint da VPC. Essa permissão de negação é aplicada além da permissão READ, WRITE ou READWRITE normal especificada na concessão.

Ao registrar uma localização, também é necessário especificar o perfil do IAM que o recurso Concessão de Acesso do S3 assume para distribuir credenciais temporárias e definir o escopo das permissões de uma concessão específica. 

Se seu caso de uso exigir que você registre várias localizações em sua instância do recurso Concessão de Acesso do S3, você poderá registrar qualquer um dos seguintes:


| URI do S3 | perfil do IAM | Descrição | 
| --- | --- | --- | 
| s3:// | Default-IAM-role |  O local padrão `s3://` inclui todos os buckets na Região da AWS.  | 
| s3://amzn-s3-demo-bucket1/ | IAM-role-For-bucket |  Esse local inclui todos os objetos no bucket especificado.  | 
| s3://amzn-s3-demo-bucket1/prefix-name | IAM-role-For-prefix |  Essa localização inclui todos os objetos no bucket com um nome de chave de objeto que começa com esse prefixo.  | 

Para registrar um bucket ou um prefixo específico, faça o seguinte:
+ Crie um ou mais buckets que contenham os dados aos quais você deseja conceder acesso. Esses buckets devem estar localizados na mesma Região da AWS da instância da funcionalidade Concessões de Acesso do S3. Para mais informações, consulte [ Criar um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). 

  Adicionar um prefixo é uma etapa opcional. Os prefixos são strings no início do nome da chave de um objeto. É possível usá-los para organizar objetos no bucket, bem como para gerenciar o acesso. Para adicionar um prefixo a um bucket, consulte [Criar nomes de chave de objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html). 
+ Crie um perfil do IAM com as permissões para acessar os dados do S3 na Região da AWS. Para ter mais informações, consulte [Criação de funções do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) no *Guia do usuário do Centro de Identidade do AWS IAM*. 
+  Na política de confiança do perfil do IAM, dê à entidade principal do serviço Concessão de Acesso do S3 (`access-grants.s3.amazonaws.com`) acesso ao perfil do IAM que você criou. Para fazer isso, você pode criar um arquivo JSON que contém as instruções a seguir. Para adicionar a política de confiança à sua conta, consulte [Criar uma função usando políticas de confiança personalizadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).

  *TestRolePolicy.json*

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
      "Statement": [
      {
        "Sid": "TestRolePolicy",
        "Effect": "Allow",
        "Principal": {
          "Service": "access-grants.s3.amazonaws.com"
        },
        "Action": [
          "sts:AssumeRole", 
          "sts:SetSourceIdentity"
        ],
        "Condition": {
          "StringEquals": {
            "aws:SourceAccount": "111122223333",
            "aws:SourceArn": "arn:aws:s3::111122223333:access-grants/default"
          }
        }
      }
    ]
  }
  ```

------

  Como alternativa, para um caso de uso do Centro de Identidade do IAM, use a seguinte política, que inclui uma segunda declaração:
+ Crie uma política do IAM para anexar permissões do Amazon S3 ao perfil do IAM que você criou. Confira o exemplo de arquivo `iam-policy.json` a seguir e substitua os `user input placeholders` por suas próprias informações. 
**nota**  
Se você usa criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) para criptografar os dados, o exemplo a seguir inclui as permissões do AWS KMS necessárias para o perfil do IAM na política. Se você não usa esse recurso, remova essas permissões da política do IAM. 
Você pode restringir um perfil do IAM para acessar dados do S3 somente se as credenciais forem fornecidas pela funcionalidade Concessões de Acesso do S3. Este exemplo mostra como adicionar uma instrução `Condition` para uma instância específica da funcionalidade Concessões de Acesso do S3. Para usar essa `Condition`, substitua o ARN da instância do recurso Concessão de Acesso do S3 na declaração `Condition` pelo ARN da instância do recurso Concessão de Acesso do S3, que tem o formato: `arn:aws:s3:region:accountId:access-grants/default`. 

  *iam-policy.json*

  ```
  {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
           "Sid": "ObjectLevelReadPermissions",
           "Effect":"Allow",
           "Action":[
              "s3:GetObject",
              "s3:GetObjectVersion",
              "s3:GetObjectAcl",
              "s3:GetObjectVersionAcl",
              "s3:ListMultipartUploadParts"
           ],
           "Resource":[ 
              "arn:aws:s3:::*"  
           ],
           "Condition":{
              "StringEquals": { "aws:ResourceAccount": "accountId" },
              "ArnEquals": {
                  "s3:AccessGrantsInstanceArn": ["arn:aws:s3:region:accountId:access-grants/default"]
              }
          } 
        },
        {
           "Sid": "ObjectLevelWritePermissions",
           "Effect":"Allow",
           "Action":[
              "s3:PutObject",
              "s3:PutObjectAcl",
              "s3:PutObjectVersionAcl",
              "s3:DeleteObject",
              "s3:DeleteObjectVersion",
              "s3:AbortMultipartUpload"
           ],
           "Resource":[
              "arn:aws:s3:::*"  
           ],
           "Condition":{
              "StringEquals": { "aws:ResourceAccount": "accountId" },
              "ArnEquals": {
                  "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Região da AWS:accountId:access-grants/default"]
              }
           } 
        },
        {
           "Sid": "BucketLevelReadPermissions",
           "Effect":"Allow",
           "Action":[
              "s3:ListBucket"
           ],
           "Resource":[
              "arn:aws:s3:::*"
           ],
           "Condition":{
              "StringEquals": { "aws:ResourceAccount": "accountId" },
              "ArnEquals": {
                  "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Região da AWS:accountId:access-grants/default"]
              }
           }     
        },
  	  //Optionally add the following section if you use SSE-KMS encryption
        {
           "Sid": "KMSPermissions",
           "Effect":"Allow",
           "Action":[
              "kms:Decrypt",
              "kms:GenerateDataKey"
           ],
           "Resource":[
              "*"
           ]
        }
     ]
  }
  ```

Você pode registrar um local na instância da funcionalidade Concessões de Acesso do S3 usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), a API REST do Amazon S3 ou os AWS SDKs.

**nota**  
 Depois de registrar a primeira localização na sua instância do recurso Concessão de Acesso do S3, ela ainda não terá nenhuma concessão de acesso individual. Para criar uma concessão de acesso, consulte [Criar concessões](access-grants-grant-create.md). 

## Usar o console do S3
<a name="access-grants-location-register-console"></a>

Antes de poder conceder acesso aos dados do S3 com a funcionalidade Concessões de Acesso do S3, é necessário ter pelo menos um local registrado. 

**Como registrar um local em uma instância da funcionalidade Concessões de Acesso do S3**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação, escolha **Access Grants**.

1. Na página **Concessões de Acesso do S3**, escolha a região que contém a instância da funcionalidade Concessões de Acesso do S3 com a qual você deseja trabalhar.

   Se você estiver usando a instância da funcionalidade Concessões de Acesso do S3 pela primeira vez, conclua a [Etapa 1: Criar uma instância da funcionalidade Concessões de Acesso do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-create.html) e navegue até a **Etapa 2** do assistente **Configurar instância do Access Grants**. Se você já tiver uma instância da funcionalidade Concessões de Acesso do S3, escolha **Visualizar detalhes**, depois selecione **Registrar local** na guia **Locais**.

   1. Em **Escopo do local**, escolha **Procurar no S3** ou insira o caminho do URI do S3 para o local que você deseja registrar. Para conferir os formatos de URI do S3, consulte a tabela de [formatos de local](#location-types). Depois de inserir um URI, você pode escolher **Visualizar** para procurar o local. 

   1. Em **Perfil do IAM**, escolha uma das seguintes opções: 
      + **Escolher entre perfis do IAM existentes**

        Escolha um perfil do IAM na lista suspensa. Depois de escolher um perfil, selecione **Visualizar** para garantir que esse perfil tenha as permissões necessárias para gerenciar o local que você está registrando. Especificamente, garanta que esse perfil conceda à funcionalidade Concessões de Acesso do S3 as permissões `sts:AssumeRole` e `sts:SetSourceIdentity`. 
      + **Inserir ARN do perfil do IAM**

        Navegue até o [console do IAM](https://console.aws.amazon.com/iam/). Copie o nome do recurso da Amazon (ARN) do perfil do IAM e cole-o nesta caixa. 

   1. Para finalizar, escolha **Próximo** ou **Registrar local**.

1. Solucionar problemas:

**Não é possível registrar o local**
   + O local pode já estar registrado.

     Talvez você não tenha a permissão `s3:CreateAccessGrantsLocation` para registrar locais. Entre em contato com o administrador da conta.

## Como usar o AWS CLI
<a name="access-grants-location-register-cli"></a>

Para instalar a AWS CLI, consulte [Instalar a AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) no *Guia do usuário da AWS Command Line Interface*. 

Você pode registrar o local padrão `s3://` ou um local personalizado na instância da funcionalidade Concessões de Acesso do S3. Primeiro, crie um perfil do IAM com acesso de entidade principal ao local, depois conceda permissão à funcionalidade Concessões de Acesso do S3 para assumir esse perfil. 

Para usar os comandos a seguir, substitua os `user input placeholders` por suas próprias informações.

**Example Criar uma política de recursos**  
Crie uma política que permita que a funcionalidade Concessões de Acesso do S3 assuma o perfil do IAM. Para fazer isso, você pode criar um arquivo JSON que contém as instruções a seguir. Para adicionar a política de recursos à sua conta, consulte [Criar e anexar sua primeira política gerenciada pelo cliente](https://docs.aws.amazon.com//IAM/latest/UserGuide/tutorial_managed-policies.html).  
*TestRolePolicy.json*    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Stmt1234567891011",
      "Action": ["sts:AssumeRole", "sts:SetSourceIdentity"],
      "Effect": "Allow",
      "Principal": {"Service": "access-grants.s3.amazonaws.com"}
    }
  ]
}
```

**Example Criar o perfil**  
Execute o comando do IAM a seguir para criar o perfil.  

```
aws iam create-role --role-name accessGrantsTestRole \
 --region us-east-2 \
 --assume-role-policy-document file://TestRolePolicy.json
```
A execução do comando `create-role` retorna a política:   

```
{
    "Role": {
        "Path": "/",
        "RoleName": "accessGrantsTestRole",
        "RoleId": "AROASRDGX4WM4GH55GIDA",
        "Arn": "arn:aws:iam::111122223333:role/accessGrantsTestRole",
        "CreateDate": "2023-05-31T18:11:06+00:00",
        "AssumeRolePolicyDocument": {
            "Version": "2012-10-17",		 	 	 
            "Statement": [
                {
                    "Sid": "Stmt1685556427189",
                    "Action": [
                        "sts:AssumeRole",
                        "sts:SetSourceIdentity"
                    ],
                    "Effect": "Allow",
                    "Principal": {
                        "Service":"access-grants.s3.amazonaws.com"
                    }
                }
            ]
        }
    }
}
```

**Example**  
Crie uma política do IAM para anexar permissões do Amazon S3 ao perfil do IAM. Confira o exemplo de arquivo `iam-policy.json` a seguir e substitua os `user input placeholders` por suas próprias informações.   
Se você usa criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) para criptografar os dados, o exemplo a seguir adiciona as permissões do AWS KMS necessárias para o perfil do IAM na política. Se você não usa esse recurso, remova essas permissões da política do IAM.   
Para garantir que o perfil do IAM só possa ser usado para acessar dados no S3 se as credenciais forem fornecidas pela funcionalidade Concessões de Acesso do S3, esse exemplo mostra como adicionar uma instrução `Condition` que especifica a instância da funcionalidade Concessões de Acesso do S3 (`s3:AccessGrantsInstance: InstanceArn`) na política do IAM. Ao usar o exemplo de política a seguir, substitua os `user input placeholders` por suas próprias informações.
*iam-policy.json*    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
         "Sid": "ObjectLevelReadPermissions",
         "Effect": "Allow",
         "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:GetObjectAcl",
            "s3:GetObjectVersionAcl",
            "s3:ListMultipartUploadParts"
         ],
         "Resource": [ 
            "arn:aws:s3:::*"  
         ],
         "Condition": {
            "StringEquals": { "aws:ResourceAccount": "111122223333" },
            "ArnEquals": {
                "s3:AccessGrantsInstanceArn": ["arn:aws:s3:us-east-1::access-grants/default"]
            }
        } 
      },
      {
         "Sid": "ObjectLevelWritePermissions",
         "Effect": "Allow",
         "Action": [
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:PutObjectVersionAcl",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion",
            "s3:AbortMultipartUpload"
         ],
         "Resource": [
            "arn:aws:s3:::*"  
         ],
         "Condition": {
            "StringEquals": { "aws:ResourceAccount": "111122223333" },
            "ArnEquals": {
                "s3:AccessGrantsInstanceArn": ["arn:aws:s3:us-east-1::access-grants/default"]
            }
         } 
      },
      {
         "Sid": "BucketLevelReadPermissions",
         "Effect": "Allow",
         "Action": [
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::*"
         ],
         "Condition": {
            "StringEquals": { "aws:ResourceAccount": "111122223333" },
            "ArnEquals": {
                "s3:AccessGrantsInstanceArn": ["arn:aws:s3:us-east-1::access-grants/default"]
            }
         }     
      },
      {
         "Sid": "KMSPermissions",
         "Effect": "Allow",
         "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey"
         ],
         "Resource": [
            "*"
         ],
         "Condition": {
            "StringEquals": {
               "kms:ViaService": "s3.us-east-1.amazonaws.com"
            }
         }
      }
   ]
}
```

**Example**  
Execute o seguinte comando:  

```
aws iam put-role-policy \
--role-name accessGrantsTestRole \
--policy-name accessGrantsTestRole \
--policy-document file://iam-policy.json
```

**Example Registrar o local padrão**  

```
aws s3control create-access-grants-location \
 --account-id 111122223333 \
 --location-scope s3:// \
 --iam-role-arn arn:aws:iam::111122223333:role/accessGrantsTestRole
```
Resposta:  

```
{"CreatedAt": "2023-05-31T18:23:48.107000+00:00",
    "AccessGrantsLocationId": "default",
    "AccessGrantsLocationArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default",
    "LocationScope": "s3://" 
    "IAMRoleArn": "arn:aws:iam::111122223333:role/accessGrantsTestRole"
}
```

**Example Registrar um local personalizado**  

```
aws s3control create-access-grants-location \
 --account-id 111122223333 \
 --location-scope s3://DOC-BUCKET-EXAMPLE/ \
 --iam-role-arn arn:aws:iam::123456789012:role/accessGrantsTestRole
```
Resposta:  

```
{"CreatedAt": "2023-05-31T18:23:48.107000+00:00",
    "AccessGrantsLocationId": "635f1139-1af2-4e43-8131-a4de006eb456",
    "AccessGrantsLocationArn": "arn:aws:s3:us-east-2: 111122223333:access-grants/default/location/635f1139-1af2-4e43-8131-a4de006eb888",
    "LocationScope": "s3://DOC-BUCKET-EXAMPLE/",
    "IAMRoleArn": "arn:aws:iam::111122223333:role/accessGrantsTestRole"
}
```

## Uso da API REST
<a name="access-grants-location-register-rest-api"></a>

Para obter informações sobre o suporte à API REST do Amazon S3 para gerenciar instâncias da funcionalidade Concessões de Acesso do S3, consulte as seguintes seções na *Referência da API do Amazon Simple Storage Service*:
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsLocation.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html) 

## Usar SDKs da AWS
<a name="access-grants-location-register-using-sdk"></a>

Esta seção fornece exemplos de como registrar locais usando os AWS SDKs.

Para usar os exemplos a seguir, substitua `user input placeholders` por suas próprias informações.

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

Você pode registrar o local padrão `s3://` ou um local personalizado na instância da funcionalidade Concessões de Acesso do S3. Primeiro, crie um perfil do IAM com acesso de entidade principal ao local, depois conceda permissão à funcionalidade Concessões de Acesso do S3 para assumir esse perfil. 

Para usar os comandos a seguir, substitua os `user input placeholders` por suas próprias informações.

**Example Registrar um local padrão**  
Solicitação:  

```
public void createAccessGrantsLocation() {
CreateAccessGrantsLocationRequest createRequest = CreateAccessGrantsLocationRequest.builder()
.accountId("111122223333")
.locationScope("s3://")
.iamRoleArn("arn:aws:iam::123456789012:role/accessGrantsTestRole")
.build();
CreateAccessGrantsLocationResponse createResponse = s3Control.createAccessGrantsLocation(createRequest);
LOGGER.info("CreateAccessGrantsLocationResponse: " + createResponse);
}
```
Resposta:  

```
CreateAccessGrantsLocationResponse(
CreatedAt=2023-06-07T04:35:11.027Z,
AccessGrantsLocationId=default,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default,
LocationScope=s3://,
IAMRoleArn=arn:aws:iam::111122223333:role/accessGrantsTestRole
)
```

**Example Registrar um local personalizado**  
Solicitação:  

```
public void createAccessGrantsLocation() {
CreateAccessGrantsLocationRequest createRequest = CreateAccessGrantsLocationRequest.builder()
.accountId("111122223333")
.locationScope("s3://DOC-BUCKET-EXAMPLE/")
.iamRoleArn("arn:aws:iam::111122223333:role/accessGrantsTestRole")
.build();
CreateAccessGrantsLocationResponse createResponse = s3Control.createAccessGrantsLocation(createRequest);
LOGGER.info("CreateAccessGrantsLocationResponse: " + createResponse);
}
```
Resposta:  

```
CreateAccessGrantsLocationResponse(
CreatedAt=2023-06-07T04:35:10.027Z,
AccessGrantsLocationId=18cfe6fb-eb5a-4ac5-aba9-8d79f04c2012,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/location/18cfe6fb-eb5a-4ac5-aba9-8d79f04c2666,
LocationScope= s3://test-bucket-access-grants-user123/,
IAMRoleArn=arn:aws:iam::111122223333:role/accessGrantsTestRole
)
```

------

# Visualizar os detalhes de um local registrado
<a name="access-grants-location-view"></a>

Você pode obter os detalhes de um local registrado na instância da funcionalidade Concessões de Acesso do S3 usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), a API REST do Amazon S3 e os AWS SDKs. 

## Usar o console do S3
<a name="access-grants-location-edit-console"></a>

**Como visualizar os locais registrados na instância da funcionalidade Concessões de Acesso do S3**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação, escolha **Access Grants**.

1. Na página **Concessões de Acesso do S3**, escolha a região que contém a instância da funcionalidade Concessões de Acesso do S3 com a qual você deseja trabalhar.

1. Escolha **Visualizar detalhes** da instância.

1. Na página de detalhes da instância, escolha a guia **Locais**.

1. Encontre o local registrado que você deseja visualizar. Para filtrar a lista de locais registrados, use a caixa de pesquisa. 

## Como usar o AWS CLI
<a name="access-grants-location-edit-cli"></a>

Para instalar a AWS CLI, consulte [Instalar a AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) no *Guia do usuário da AWS Command Line Interface*. 

Para usar o comando a seguir, substitua os `user input placeholders` por suas próprias informações.

**Example : obter os detalhes de um local registrado**  

```
aws s3control get-access-grants-location \
--account-id 111122223333 \
--access-grants-location-id default
```
Resposta:  

```
{
    "CreatedAt": "2023-05-31T18:23:48.107000+00:00",
    "AccessGrantsLocationId": "default",
    "AccessGrantsLocationArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default",
    "IAMRoleArn": "arn:aws:iam::111122223333:role/accessGrantsTestRole"
}
```

**Example : listar todos os locais registrados em uma instância da funcionalidade Concessões de Acesso do S3**  
Para restringir os resultados a um prefixo ou bucket do S3, há a opção de usar o parâmetro `--location-scope s3://bucket-and-or-prefix`.   

```
aws s3control list-access-grants-locations \
--account-id 111122223333 \
--region us-east-2
```
Resposta:  

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

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

Para obter informações sobre o suporte à API REST do Amazon S3 para obter os detalhes de um local registrado ou listar todos os locais registrados em uma instância da funcionalidade Concessões de Acesso do S3, consulte as seguintes seções na *Referência da API do Amazon Simple Storage Service*:
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html) 

## Usar SDKs da AWS
<a name="access-grants-location-edit-using-sdk"></a>

Esta seção fornece exemplos de como obter os detalhes de um local registrado ou listar todos os locais registrados em uma instância da funcionalidade Concessões de Acesso do S3 usando os AWS SDKs.

Para usar os exemplos a seguir, substitua `user input placeholders` por suas próprias informações.

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

**Example : obter os detalhes de um local registrado**  

```
public void getAccessGrantsLocation() {
GetAccessGrantsLocationRequest getAccessGrantsLocationRequest = GetAccessGrantsLocationRequest.builder()
.accountId("111122223333")
.accessGrantsLocationId("default")
.build();
GetAccessGrantsLocationResponse getAccessGrantsLocationResponse = s3Control.getAccessGrantsLocation(getAccessGrantsLocationRequest);
LOGGER.info("GetAccessGrantsLocationResponse: " + getAccessGrantsLocationResponse);
}
```
Resposta:  

```
GetAccessGrantsLocationResponse(
CreatedAt=2023-06-07T04:35:10.027Z,
AccessGrantsLocationId=default,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default,
LocationScope= s3://,
IAMRoleArn=arn:aws:iam::111122223333:role/accessGrantsTestRole
)
```

**Example : listar todos os locais registrados em uma instância da funcionalidade Concessões de Acesso do S3**  
Para restringir os resultados a um prefixo ou bucket do S3, há a opção de enviar um URI do S3, como `s3://bucket-and-or-prefix`, no parâmetro `LocationScope`.   

```
public void listAccessGrantsLocations() {

ListAccessGrantsLocationsRequest listRequest =   ListAccessGrantsLocationsRequest.builder()
.accountId("111122223333")
.build();

ListAccessGrantsLocationsResponse listResponse = s3Control.listAccessGrantsLocations(listRequest);
LOGGER.info("ListAccessGrantsLocationsResponse: " + listResponse);
}
```
Resposta:  

```
ListAccessGrantsLocationsResponse(
AccessGrantsLocationsList=[
ListAccessGrantsLocationsEntry(
CreatedAt=2023-06-07T04:35:11.027Z,
AccessGrantsLocationId=default,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default,
LocationScope=s3://,
IAMRoleArn=arn:aws:iam::111122223333:role/accessGrantsTestRole
),
ListAccessGrantsLocationsEntry(
CreatedAt=2023-06-07T04:35:10.027Z,
AccessGrantsLocationId=635f1139-1af2-4e43-8131-a4de006eb456,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/location/635f1139-1af2-4e43-8131-a4de006eb888,
LocationScope=s3://amzn-s3-demo-bucket/prefixA*,
IAMRoleArn=arn:aws:iam::111122223333:role/accessGrantsTestRole
)
]
)
```

------

# Atualizar um local registrado
<a name="access-grants-location-edit"></a>

Você pode atualizar o perfil do AWS Identity and Access Management (IAM) de um local registrado na instância da funcionalidade Concessões de Acesso do Amazon S3. Para cada novo perfil do IAM que você usa para registrar um local na funcionalidade Concessões de Acesso do S3, conceda à entidade principal de serviço da funcionalidade Concessões de Acesso do S3 (`access-grants.s3.amazonaws.com`) acesso a esse perfil. Para isso, adicione uma entrada para o novo perfil do IAM no mesmo arquivo JSON de política de confiança que você usou quando [registrou o local](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html) pela primeira vez. 

Você pode atualizar um local na instância da funcionalidade Concessões de Acesso do S3 usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), a API REST do Amazon S3 e os AWS SDKs.

## Usar o console do S3
<a name="access-grants-location-edit-console"></a>

**Como atualizar o perfil do IAM de um local registrado na instância da funcionalidade Concessões de Acesso do S3**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação, escolha **Access Grants**.

1. Na página **Concessões de Acesso do S3**, escolha a região que contém a instância da funcionalidade Concessões de Acesso do S3 com a qual você deseja trabalhar.

1. Escolha **Visualizar detalhes** da instância.

1. Na página de detalhes da instância, escolha a guia **Locais**.

1. Encontre o local que deseja atualizar. Para filtrar a lista de locais, use a caixa de pesquisa.

1. Selecione o botão de opções ao lado do local registrado que deseja atualizar.

1. Atualize o perfil do IAM e escolha **Salvar alterações**.

## Como usar o AWS CLI
<a name="access-grants-location-edit-cli"></a>

Para instalar a AWS CLI, consulte [Instalar a AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) no *Guia do usuário da AWS Command Line Interface*. 

Para usar o comando a seguir, substitua os `user input placeholders` por suas próprias informações.

**Example : atualizar o perfil do IAM de um local registrado**  

```
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
```
Resposta:  

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

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

Para obter informações sobre o suporte à API REST do Amazon S3 para atualizar um local na instância da funcionalidade Concessões de Acesso do S3, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html) na *Referência da API do Amazon Simple Storage Service*.

## Usar SDKs da AWS
<a name="access-grants-location-edit-using-sdk"></a>

Esta seção fornece exemplos de como atualizar o perfil do IAM de um local registrado usando os AWS SDKs.

Para usar o exemplo a seguir, substitua os `user input placeholders` por suas próprias informações.

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

**Example : atualizar o perfil do IAM de um local registrado**  

```
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);
}
```
Resposta:  

```
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
)
```

------

# Excluir um local registrado
<a name="access-grants-location-delete"></a>

Você pode excluir um registro de local de uma instância da funcionalidade Concessões de Acesso do Amazon S3. A exclusão do local cancela o registro na instância da funcionalidade Concessões de Acesso do S3. 

Antes de remover um registro de local de uma instância da funcionalidade Concessões de Acesso do S3, é necessário excluir todas as concessões associadas a esse local. Para obter informações sobre como excluir concessões, consulte [Delete a grant](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant-delete.html). 

Você pode excluir um local na instância da funcionalidade Concessões de Acesso do S3 usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), a API REST do Amazon S3 e os AWS SDKs.

## Usar o console do S3
<a name="access-grants-location-delete-console"></a>

**Como excluir um registro de local de uma instância da funcionalidade Concessões de Acesso do S3**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação, escolha **Access Grants**.

1. Na página **Concessões de Acesso do S3**, escolha a região que contém a instância da funcionalidade Concessões de Acesso do S3 com a qual você deseja trabalhar.

1. Escolha **Visualizar detalhes** da instância.

1. Na página de detalhes da instância, escolha a guia **Locais**.

1. Encontre o local que deseja atualizar. Para filtrar a lista de locais, use a caixa de pesquisa.

1. Selecione o botão de opções ao lado do local registrado que deseja excluir.

1. Escolha **Cancelar registro**.

1. É exibida uma caixa de diálogo avisando que essa ação não poderá ser desfeita. Para excluir o local, escolha **Cancelar registro**.

## Como usar o AWS CLI
<a name="access-grants-location-delete-cli"></a>

Para instalar a AWS CLI, consulte [Instalar a AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) no *Guia do usuário da AWS Command Line Interface*. 

Para usar o comando a seguir, substitua os `user input placeholders` por suas próprias informações.

**Example : excluir um registro de local**  

```
aws s3control delete-access-grants-location \
--account-id 111122223333 \
--access-grants-location-id  a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 
 // No response body
```

## Uso da API REST
<a name="access-grants-location-delete-rest-api"></a>

Para obter informações sobre o suporte à API REST do Amazon S3 para excluir um local de uma instância da funcionalidade Concessões de Acesso do S3, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html) na *Referência da API do Amazon Simple Storage Service*.

## Usar SDKs da AWS
<a name="access-grants-location-delete-using-sdk"></a>

Esta seção fornece um exemplo de como excluir um local usando os AWS SDKs.

Para usar o exemplo a seguir, substitua os `user input placeholders` por suas próprias informações.

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

**Example : excluir um registro de local**  

```
public void deleteAccessGrantsLocation() {
DeleteAccessGrantsLocationRequest deleteRequest = DeleteAccessGrantsLocationRequest.builder()
.accountId("111122223333")
.accessGrantsLocationId("a1b2c3d4-5678-90ab-cdef-EXAMPLE11111")
.build();
DeleteAccessGrantsLocationResponse deleteResponse = s3Control.deleteAccessGrantsLocation(deleteRequest);
LOGGER.info("DeleteAccessGrantsLocationResponse: " + deleteResponse);
}
```
Resposta:  

```
DeleteAccessGrantsLocationResponse()
```

------