

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Buckets do Amazon S3
<a name="S3-buckets"></a>

O Research and Engineering Studio (RES) suporta a montagem de [buckets do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) em instâncias de infraestrutura de desktop virtual (VDI) Linux. **Os administradores do RES podem integrar buckets do S3 ao RES, anexá-los aos projetos, editar suas configurações e remover buckets na guia buckets do S3 em Gerenciamento do ambiente.**

O painel de buckets do S3 fornece uma lista dos buckets do S3 integrados disponíveis para você. No painel de buckets do S3, você pode:

1. Use **Adicionar bucket** para integrar um bucket S3 ao RES. 

1. Selecione um bucket do S3 e use o menu **Ações** para: 
   + Editar um bucket
   + Remova um balde

1. Use o campo de pesquisa para pesquisar pelo nome do bucket e encontrar buckets S3 integrados.  
![\[A lista de buckets do S3 permite pesquisar por nome de bucket e encontrar buckets integrados\]](http://docs.aws.amazon.com/pt_br/res/latest/ug/images/docs-list-bucket.png)

As seções a seguir descrevem como gerenciar buckets do Amazon S3 em seus projetos RES.

**Topics**
+ [Pré-requisitos do bucket Amazon S3 para implantações isoladas de VPC](S3-buckets-prereqs.md)
+ [Adicionar um bucket Amazon S3](S3-buckets-add.md)
+ [Editar um bucket do Amazon S3](S3-buckets-edit.md)
+ [Remover um bucket do Amazon S3](S3-buckets-remove.md)
+ [Isolamento de dados](S3-buckets-data-isolation.md)
+ [Acesso ao bucket entre contas](S3-buckets-cross-account-access.md)
+ [Evitando a exfiltração de dados em uma VPC privada](S3-buckets-preventing-exfiltration.md)
+ [Solução de problemas](S3-buckets-troubleshooting.md)
+ [Habilitando CloudTrail](S3-buckets-enabling-cloudtrail.md)

# Pré-requisitos do bucket Amazon S3 para implantações isoladas de VPC
<a name="S3-buckets-prereqs"></a>

Se você estiver implantando o Research and Engineering Studio em uma VPC isolada, siga estas etapas para atualizar os parâmetros de configuração lambda depois de implantar o RES em sua conta. AWS 

1. Faça login no console Lambda da AWS conta em que o Research and Engineering Studio está implantado.

1. Encontre e navegue até a função Lambda chamada. `<RES-EnvironmentName>-vdc-custom-credential-broker-lambda` 

1. Selecione a guia **Configuração** da função.  
![\[variável de ambiente VPC isolada\]](http://docs.aws.amazon.com/pt_br/res/latest/ug/images/Isolated-VPC-Env-Variable.png)

1. No painel de navegação, escolha **Variáveis de ambiente** para visualizar essa seção.

1. Escolha **Editar** e adicione a seguinte nova variável de ambiente à função: 
   + Chave: `AWS_STS_REGIONAL_ENDPOINTS` 
   + Valor: `regional` 

1. Escolha **Salvar**.

# Adicionar um bucket Amazon S3
<a name="S3-buckets-add"></a>

**Para adicionar um bucket S3 ao seu ambiente RES:**

1. Escolha **Add bucket (Adicionar bucket)**.

1. Insira os detalhes do bucket, como nome do bucket, ARN e ponto de montagem.
**Importante**  
O ARN do bucket, o ponto de montagem e o modo fornecidos não podem ser alterados após a criação. 
O ARN do bucket pode conter um prefixo que isolará o bucket S3 integrado desse prefixo.

1. Selecione um modo para integrar seu bucket.
**Importante**  
Consulte [Isolamento de dados](S3-buckets-data-isolation.md) para obter mais informações relacionadas ao isolamento de dados com modos específicos.

1. Em **Opções avançadas**, você pode fornecer um ARN de função do IAM para montar os buckets para acesso entre contas. Siga as etapas [Acesso ao bucket entre contas](S3-buckets-cross-account-access.md) para criar a função do IAM necessária para acesso entre contas.

1. (Opcional) Associe o bucket aos projetos, que podem ser alterados posteriormente. No entanto, um bucket do S3 não pode ser montado nas sessões de VDI existentes de um projeto. Somente as sessões iniciadas após o projeto ter sido associado ao bucket montarão o bucket.

1. Selecione **Enviar**.  
![\[Adicione a página do bucket mostrando os campos de configuração do bucket disponíveis e o botão de envio\]](http://docs.aws.amazon.com/pt_br/res/latest/ug/images/docs-add-bucket.png)

# Editar um bucket do Amazon S3
<a name="S3-buckets-edit"></a>

1. Selecione um bucket do S3 na lista de buckets do S3.

1. No menu **Ações**, selecione **Editar**.

1. Insira suas atualizações.
**Importante**  
Associar um projeto a um bucket S3 **não** montará o bucket nas instâncias existentes da infraestrutura de desktop virtual (VDI) desse projeto. O bucket só será montado em sessões de VDI iniciadas em um projeto após o bucket ter sido associado a esse projeto.
Desassociar um projeto de um bucket do S3 não afetará os dados no bucket do S3, mas fará com que os usuários de desktop percam o acesso a esses dados.

1. Escolha **Salvar configuração do bucket**.  
![\[A página Editar S3 Bucket com os campos de nome de exibição e associação do projeto inseridos e o botão Salvar configuração do bucket destacado\]](http://docs.aws.amazon.com/pt_br/res/latest/ug/images/docs-edit-bucket.png)

# Remover um bucket do Amazon S3
<a name="S3-buckets-remove"></a>

1. Selecione um bucket do S3 na lista de buckets do S3.

1. No menu **Ações**, selecione **Remover**.
**Importante**  
Primeiro, você deve remover todas as associações de projetos do bucket.
A operação de remoção não afeta os dados no bucket do S3. Ele remove apenas a associação do bucket do S3 com o RES.
A remoção de um bucket fará com que as sessões de VDI existentes percam o acesso ao conteúdo desse bucket quando as credenciais da sessão expirarem (aproximadamente 1 hora).

# Isolamento de dados
<a name="S3-buckets-data-isolation"></a>

Ao adicionar um bucket do S3 ao RES, você tem opções para isolar os dados dentro do bucket para projetos e usuários específicos. Na página **Adicionar bucket**, você pode selecionar um modo de Somente leitura (R) ou Leitura e gravação (R/W).

**Somente leitura**

Se `Read Only (R)` for selecionado, o isolamento de dados será imposto com base no prefixo do ARN do bucket (Amazon Resource Name). Por exemplo, se um administrador adicionar um bucket ao RES usando o ARN `arn:aws:s3:::bucket-name/example-data/` e associar esse bucket ao Projeto A e ao Projeto B, os usuários que iniciam a VDIs partir do Projeto A e do Projeto B só poderão ler os dados localizados `bucket-name` abaixo do caminho. `/example-data` Eles não terão acesso aos dados fora desse caminho. Se não houver prefixo anexado ao ARN do bucket, todo o bucket será disponibilizado para qualquer projeto associado a ele.

**Ler e escrever**

Se `Read and Write (R/W)` for selecionado, o isolamento de dados ainda será aplicado com base no prefixo do ARN do bucket, conforme descrito acima. Esse modo tem opções adicionais para permitir que os administradores forneçam prefixos baseados em variáveis para o bucket do S3. Quando `Read and Write (R/W)` selecionada, fica disponível uma seção de prefixo personalizado que oferece um menu suspenso com as seguintes opções:
+ Sem prefixo personalizado
+ /%p
+ /%p/%u

![\[Adicionar página de bucket com o menu suspenso de prefixo personalizado exibido\]](http://docs.aws.amazon.com/pt_br/res/latest/ug/images/add-bucket-custom-prefix.png)


**Sem isolamento de dados personalizado **  
Quando `No custom prefix` selecionado para **Prefixo personalizado**, o bucket é adicionado sem nenhum isolamento de dados personalizado. Isso permite que qualquer projeto associado ao bucket tenha acesso de leitura e gravação. Por exemplo, se um administrador adicionar um bucket ao RES usando o ARN `arn:aws:s3:::bucket-name` `No custom prefix` selecionado e associar esse bucket ao Projeto A e ao Projeto B, os usuários que iniciarem a VDIs partir do Projeto A e do Projeto B terão acesso irrestrito de leitura e gravação ao bucket.

**Isolamento de dados em um nível por projeto **  
Quando `/%p` selecionado para **Prefixo personalizado**, os dados no bucket são isolados para cada projeto específico associado a ele. A `%p` variável representa o código do projeto. Por exemplo, se um administrador adicionar um bucket ao RES usando o ARN `arn:aws:s3:::bucket-name` com `/%p` selecionado e um **ponto de montagem** de*/bucket*, e associar esse bucket ao Projeto A e ao Projeto B, o usuário A no Projeto A poderá gravar um arquivo no. */bucket* O usuário B no Projeto A também pode ver o arquivo no qual o usuário A escreveu*/bucket*. No entanto, se o usuário B iniciar uma VDI no Projeto B e examinar*/bucket*, ele não verá o arquivo que o usuário A escreveu, pois os dados são isolados por projeto. O arquivo que o usuário A escreveu é encontrado no bucket do S3 sob o prefixo, `/ProjectA` enquanto o usuário B só pode acessar usando `/ProjectB` o arquivo VDIs do Projeto B.

**Isolamento de dados em nível por projeto e por usuário **  
Quando `/%p/%u` selecionado para **Prefixo personalizado**, os dados no bucket são isolados para cada projeto específico e usuário associado a esse projeto. A `%p` variável representa o código do projeto e `%u` representa o nome de usuário. Por exemplo, um administrador adiciona um bucket ao RES usando o ARN `arn:aws:s3:::bucket-name` com `/%p/%u` selecionado e um ponto de montagem de. */bucket* Esse bucket está associado ao Projeto A e ao Projeto B. O usuário A no Projeto A pode gravar um arquivo no*/bucket*. Ao contrário do cenário anterior, com apenas `%p` isolamento, o usuário B, nesse caso, não verá o arquivo que o usuário A escreveu no Projeto A*/bucket*, pois os dados são isolados pelo projeto e pelo usuário. O arquivo que o usuário A escreveu é encontrado no bucket do S3 sob o prefixo, `/ProjectA/UserA` enquanto o usuário B só pode acessá-lo `/ProjectA/UserB` ao usá-lo VDIs no Projeto A.

# Acesso ao bucket entre contas
<a name="S3-buckets-cross-account-access"></a>

O RES tem a capacidade de montar compartimentos a partir de outras AWS contas, desde que esses compartimentos tenham as permissões corretas. No cenário a seguir, um ambiente RES na Conta A deseja montar um bucket S3 na Conta B.

**Etapa 1: Crie uma função do IAM na conta na qual o RES está implantado *(isso será chamado de Conta A)*:**

1. Faça login no console AWS de gerenciamento da conta RES que precisa acessar o bucket do S3 (Conta A).

1. Abra o console do IAM:

   1. Navegue até o painel do IAM.

   1. No painel de navegação, selecione **Políticas**.

1. Crie uma política: 

   1. Escolha **Criar política**.

   1. Selecione a guia **JSON**.

   1. Cole a seguinte política JSON (`amzn-s3-demo-bucket`substitua pelo nome do bucket do S3 localizado na Conta B): 

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:ListBucket",
                      "s3:DeleteObject",
                      "s3:AbortMultipartUpload"
                  ],
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-bucket",
                      "arn:aws:s3:::amzn-s3-demo-bucket/*"
                  ]
              }
          ]
      }
      ```

------

   1. Escolha **Próximo**.

1. Revise e crie a política: 

   1. Forneça um nome para a política (por exemplo, “S3 AccessPolicy “).

   1. Adicione uma descrição opcional para explicar a finalidade da política.

   1. Revise a política e escolha **Criar política**.

1. Abra o console do IAM:

   1. Navegue até o painel do IAM.

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

1. Crie uma função:

   1. Selecione **Criar perfil**.

   1. Escolha **Política de confiança personalizada** como o tipo de entidade confiável.

   1. Cole a seguinte política JSON (`111122223333`substitua pelo ID da conta real da Conta A e `{RES_ENVIRONMENT_NAME}` pelo nome do ambiente da implantação do RES): 

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/<ENVIRONMENT_NAME>-vdc-custom-credential-broker-lambda-role"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. Escolha **Próximo**.

1. Anexe políticas de permissões:

   1. Pesquise e selecione a política que você criou anteriormente.

   1. Escolha **Próximo**.

1. Marque, revise e crie a função: 

   1. Insira um nome de função (por exemplo, “S3 AccessRole “).

   1. Na Etapa 3, escolha **Adicionar tag** e, em seguida, insira a chave e o valor a seguir:
      + Chave: `res:Resource` 
      + Valor: `s3-bucket-iam-role` 

   1. Revise a função e escolha **Criar função**.

1. Use a função do IAM no RES:

   1. Copie o ARN da função do IAM que você criou. 

   1. Faça login no console RES.

   1. No painel de navegação esquerdo, escolha **S3** Bucket. 

   1. Escolha **Adicionar bucket** e preencha o formulário com o ARN do bucket S3 entre contas.

   1. Escolha o menu suspenso **Configurações avançadas - opcional**.

   1. Insira o ARN da função no campo ARN da função do IAM.

   1. Escolha **Adicionar bucket**.

**Etapa 2: modificar a política de bucket na Conta B**

1. Faça login no console AWS de gerenciamento da conta B.

1. Abra o console S3: 

   1. Navegue até o painel do S3.

   1. Selecione o bucket ao qual você deseja conceder acesso.

1. Edite a política do bucket:

   1. Selecione a guia **Permissões** e escolha **Política de bucket**.

   1. Adicione a política a seguir para conceder à função do IAM da Conta A acesso ao bucket (*111122223333*substitua pelo ID real da conta A e *amzn-s3-demo-bucket* pelo nome do bucket S3): 

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/S3AccessRole"
                  },
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:ListBucket",
                      "s3:DeleteObject",
                      "s3:AbortMultipartUpload"
                  ],
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-bucket",
                      "arn:aws:s3:::amzn-s3-demo-bucket/*"
                  ]
              }
          ]
      }
      ```

------

   1. Escolha **Salvar**.

# Evitando a exfiltração de dados em uma VPC privada
<a name="S3-buckets-preventing-exfiltration"></a>

Para evitar que os usuários extraiam dados de buckets S3 seguros para seus próprios buckets S3 em suas contas, você pode anexar um VPC endpoint para proteger sua VPC privada. As etapas a seguir mostram como criar um VPC endpoint para o serviço S3 que ofereça suporte ao acesso aos buckets do S3 em sua conta, bem como a quaisquer contas adicionais que tenham buckets entre contas. 

1. Abra o console da Amazon VPC:

   1. Faça login no AWS Management Console. 

   1. Abra o console da Amazon VPC em. [ https://console.aws.amazon.com/vpcconsole/](https://console.aws.amazon.com/vpcconsole)

1. Crie um VPC Endpoint para S3:

   1. No painel de navegação à esquerda, escolha **Endpoints**.

   1. Escolha **Criar endpoint**.

   1. Em **Service category** (Categoria de serviços), certifique-se de que a opção **serviços AWS ** esteja selecionada. 

   1. No campo **Nome do serviço**, insira `com.amazonaws.<region>.s3` (`<region>`substitua pela sua AWS região) ou pesquise por “S3".

   1. Selecione o serviço S3 na lista.

1. Defina as configurações do endpoint: 

   1. Em **VPC**, selecione a VPC na qual você deseja criar o endpoint.

   1. Para **sub-redes**, selecione as duas sub-redes privadas usadas para as sub-redes VDI durante a implantação.

   1. Em **Habilitar nome DNS**, verifique se a opção está marcada. Isso permite que o nome do host DNS privado seja resolvido nas interfaces de rede do endpoint.

1. Configure a política para restringir o acesso: 

   1. Em **Política**, escolha **Personalizado**.

   1. No editor de políticas, insira uma política que restrinja o acesso aos recursos em sua conta ou em uma conta específica. Aqui está um exemplo de política (*amzn-s3-demo-bucket*substitua pelo nome do bucket do S3 *111122223333* e *444455556666* pela AWS conta apropriada IDs que você deseja acessar): 
**nota**  
Este exemplo de política usa `s3:*` e não restringe as operações do plano de controle do S3, como configuração de notificação de eventos, replicação ou inventário. Essas operações podem permitir que metadados de objetos (como nomes de buckets e chaves de objetos) sejam enviados para destinos entre contas. Se isso for uma preocupação, adicione declarações de negação explícitas para as ações relevantes do plano de controle do S3 na política de endpoint da VPC.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": "*",
                  "Action": "s3:*",
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-bucket",
                      "arn:aws:s3:::amzn-s3-demo-bucket/*"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "aws:PrincipalAccount": [
                              "111122223333",
                              "444455556666"
                          ]
                      }
                  }
              }
          ]
      }
      ```

------

1. Crie o endpoint:

   1. Examine suas configurações.

   1. Escolha **Criar endpoint**.

1. Verifique o endpoint:

   1. Depois que o endpoint for criado, navegue até a seção **Endpoints** no console da VPC.

   1. Selecione o endpoint recém-criado.

   1. Verifique se o **estado** está **disponível**.

Seguindo essas etapas, você cria um VPC endpoint que permite acesso ao S3 restrito aos recursos da sua conta ou a um ID de conta especificado.

# Solução de problemas
<a name="S3-buckets-troubleshooting"></a>

**Como verificar se um bucket não consegue ser montado em uma VDI** 

Se um bucket não for montado em uma VDI, há alguns locais onde você pode verificar se há erros. Siga as etapas abaixo.

1. Verifique os registros do VDI:

   1. Faça login no AWS Management Console. 

   1. Abra o console do EC2 e navegue até **Instâncias**.

   1. Selecione a instância de VDI que você executou.

   1. Conecte-se à VDI por meio do Gerenciador de Sessões.

   1. Execute os seguintes comandos :

      ```
      sudo su
      cd ~/bootstrap/logs
      ```

      Aqui, você encontrará os registros do bootstrap. Os detalhes de qualquer falha estarão localizados no `configure.log.{time}` arquivo.

      Além disso, verifique o `/etc/message` registro para obter mais detalhes.

1. Verifique os registros personalizados do CloudWatch Lambda do Credential Broker:

   1. Faça login no AWS Management Console.

   1. Abra o CloudWatch console e navegue até **Grupos de registros**.

   1. Pesquise o grupo de registros`/aws/lambda/<stack-name>-vdc-custom-credential-broker-lambda`. 

   1. Examine o primeiro grupo de registros disponível e localize quaisquer erros nos registros. Esses registros conterão detalhes sobre possíveis problemas, fornecendo credenciais personalizadas temporárias para montagem de buckets do S3. 

1. Verifique os CloudWatch registros personalizados do API Gateway do Credential Broker:

   1. Faça login no AWS Management Console.

   1. Abra o CloudWatch console e navegue até **Grupos de registros**.

   1. Pesquise o grupo de registros`<stack-name>-vdc-custom-credential-broker-lambdavdccustomcredentialbrokerapigatewayaccesslogs<nonce>`. 

   1. Examine o primeiro grupo de registros disponível e localize quaisquer erros nos registros. Esses registros conterão detalhes sobre todas as solicitações e respostas ao API Gateway para obter as credenciais personalizadas necessárias para montar os buckets do S3.

**Como editar a configuração da função do IAM de um bucket após a integração** 

1. Faça login no [AWS DynamoDB Console](https://console.aws.amazon.com/dynamodbv2/home).

1. Selecione a tabela: 

   1. No painel de navegação à esquerda, selecione **Tables (Tabelas)**.

   1. Encontre e selecione`<stack-name>.cluster-settings`. 

1. Digitalize a tabela: 

   1. Escolha **Explore table items** (Explorar itens da tabela).

   1. Verifique se a opção **Escanear** está selecionada.

1. Adicionar um filtro:

   1. Escolha **Filtros** para abrir a seção de entrada do filtro.

   1. Defina o filtro para corresponder à sua chave-
      + **Atributo**: insira a chave.
      + **Condição**: Selecione **Começa com**.
      + **Valor**: insira `shared-storage.<filesystem_id>.s3_bucket.iam_role_arn` *<filesystem\$1id>* substituindo pelo valor do sistema de arquivos que precisa ser modificado.

1. Execute a verificação:

   Escolha **Executar** para executar o escaneamento com o filtro.

1. Confira o valor: 

   Se a entrada existir, verifique se o valor está definido corretamente com o ARN correto da função do IAM.

   Se a entrada não existir:

   1. Selecione **Create Item** (Criar item).

   1. Insira os detalhes do item:
      + Para o atributo-chave, insira`shared-storage.<filesystem_id>.s3_bucket.iam_role_arn`. 
      + Adicione o ARN correto da função do IAM.

   1. Escolha **Salvar** para adicionar o item.

1. Reinicie as instâncias de VDI: 

   Reinicialize a instância para garantir VDIs que os ARN afetados pela função incorreta do IAM sejam montados novamente.

# Habilitando CloudTrail
<a name="S3-buckets-enabling-cloudtrail"></a>

Para ativar CloudTrail sua conta usando o CloudTrail console, siga as instruções fornecidas em [Criação de uma trilha com o CloudTrail console](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html) no *Guia do AWS CloudTrail usuário*. CloudTrail registrará o acesso aos buckets do S3 registrando a função do IAM que os acessou. Isso pode ser vinculado a um ID de instância, que está vinculado a um projeto ou usuário.