

# Exemplo 4: proprietário do bucket concede permissão entre contas a objetos que não possui
<a name="example-walkthroughs-managing-access-example4"></a>

**Topics**
+ [Noções básicas de permissões entre contas e do uso de perfis do IAM](#access-policies-walkthrough-example4-overview)
+ [Etapa 0: Preparar-se para a demonstração](#access-policies-walkthrough-example4-step0)
+ [Etapa 1: Realizar as tarefas da Conta A](#access-policies-walkthrough-example4-step1)
+ [Etapa 2: Realizar as tarefas da Conta B](#access-policies-walkthrough-example4-step2)
+ [Etapa 3: realizar as tarefas da Conta C](#access-policies-walkthrough-example4-step3)
+ [Etapa 4: limpar](#access-policies-walkthrough-example4-step6)
+ [Recursos relacionados](#RelatedResources-managing-access-example4)

 Neste cenário de exemplo, você é proprietário de um bucket e habilitou outras Contas da AWS para carregar objetos. Se você aplicou a configuração aplicada pelo proprietário do bucket em S3 Object Ownership para o bucket, terá propriedade de todos os objetos do bucket, inclusive de objetos gravados por outra Conta da AWS. Essa abordagem resolve o problema de objetos que não pertencem a você, o proprietário do bucket. Em seguida, é possível delegar permissão aos usuários em sua própria conta ou para outras Contas da AWS. Suponha que a configuração imposta pelo proprietário do bucket em S3 Object Ownership não esteja habilitada. Ou seja, seu bucket pode ter objetos pertencentes a outras Contas da AWS. 

Agora, suponha que, como proprietário do bucket, você precise conceder permissão entre contas aos objetos, independentemente de quem seja o proprietário, a um usuário em outra conta. Por exemplo, esse usuário pode ser um aplicativo de faturamento que precise acessar metadados de objeto. Há dois problemas principais:
+ O proprietário do bucket não tem permissões sobre os objetos criados por outras Contas da AWS. Para que o proprietário do bucket possa conceder permissões em objetos que não possui, o proprietário do objeto deve primeiro conceder permissão ao proprietário do bucket. O proprietário do objeto é a Conta da AWS que criou os objetos. Depois, o proprietário do bucket pode delegar essas permissões.
+ O proprietário do bucket pode delegar permissões aos usuários em sua própria conta (consulte [Exemplo 3: O proprietário do bucket concede permissões para objetos que não possui](example-walkthroughs-managing-access-example3.md)). No entanto, a conta do proprietário do bucket não pode delegar permissões a outras Contas da AWS porque a delegação entre contas não é permitida. 

Nesse cenário, o proprietário do bucket pode criar um perfil do AWS Identity and Access Management (IAM) com permissão para acessar objetos e, depois, conceder permissão a outra Conta da AWS para assumir o perfil temporariamente, permitindo que ela acesse objetos no bucket. 

**nota**  
A Propriedade de objetos do S3 é uma configuração no nível do bucket do Amazon S3 que você pode usar para controlar a propriedade de objetos carregados no bucket e para desabilitar ou habilitar as ACLs. Por padrão, a Propriedade de Objetos está definida com a configuração Imposto pelo proprietário do bucket e todas as ACLs estão desabilitadas. Quando as ACLs são desabilitadas, o proprietário do bucket possui todos os objetos do bucket e gerencia o acesso a eles exclusivamente usando políticas de gerenciamento de acesso.  
 A maioria dos casos de uso modernos no Amazon S3 não exige mais o uso de ACLs. Recomendamos manter as ACLs desabilitadas, exceto em circunstâncias em que seja necessário controlar o acesso para cada objeto individualmente. Com as ACLs desabilitadas, é possível usar políticas para controlar o acesso a todos os objetos no bucket, independentemente de quem carregou os objetos para o bucket. Para obter mais informações, consulte [Controlar a propriedade de objetos e desabilitar ACLs para seu bucket](about-object-ownership.md).

## Noções básicas de permissões entre contas e do uso de perfis do IAM
<a name="access-policies-walkthrough-example4-overview"></a>

 As funções do IAM permitem vários cenários para delegar acesso a seus recursos, e o acesso entre contas é um dos cenários principais. Neste exemplo, o proprietário do bucket, a Conta A, usa um perfil do IAM para delegar temporariamente o acesso entre contas a objetos aos usuários em uma outra Conta da AWS, a Conta C. Cada perfil do IAM que você cria tem estas duas políticas anexadas a ela:
+ Uma política de confiança que identifica outra Conta da AWS que pode assumir a função.
+ Uma política de acesso que define quais permissões - por exemplo, `s3:GetObject` - são permitidas quando alguém assume a função. Para obter uma lista de permissões que você pode especificar em uma política, consulte [Ações de políticas para o Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions).

A Conta da AWS identificada na política de confiança concede ao respectivo usuário permissão para assumir a função. O usuário pode então fazer o seguinte para acessar os objetos:
+ Assumir a função e, em resposta, obter credenciais de segurança temporárias. 
+ Usando as credenciais de segurança temporárias, acessar os objetos no bucket.

Para obter mais informações sobre funções do IAM, consulte [Perfis do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) no *Guia do usuário do IAM*. 

Veja a seguir um resumo das etapas de demonstração:

![\[Permissões entre contas usando perfis do IAM.\]](http://docs.aws.amazon.com/pt_br/AmazonS3/latest/userguide/images/access-policy-ex4.png)


1. O usuário administrador da Conta A anexa a política do bucket que concede à Conta B uma permissão condicional para fazer upload de objetos.

1. O administrador da Conta A cria uma função do IAM, estabelecendo a confiança com a Conta C, e assim os usuários dessa conta podem acessar a Conta. A. A política de acesso anexada à função limita o que o usuário na Conta C pode fazer quando acessa a Conta A.

1. O administrador da Conta B faz upload de um objeto no bucket de propriedade da Conta A, concedendo permissão de controle total ao proprietário do bucket.

1. O administrador da Conta C cria um usuário e anexa uma política de usuário que permite que o usuário assuma a função.

1. O usuário na Conta C primeiro assume a função, que retorna as credenciais de segurança temporárias ao usuário. Usando essas credenciais de segurança temporárias, o usuário então acessa os objetos no bucket.

Para este exemplo, você precisará de três contas. A tabela a seguir mostra como nos referimos a essas contas e aos usuários administradores nessas contas. Conforme as diretrizes do IAM (consulte [Sobre o uso de um usuário administrador para criar recursos e conceder permissões](example-walkthroughs-managing-access.md#about-using-root-credentials)), não usamos as credenciais do Usuário raiz da conta da AWS nesta demonstração. Em vez disso, você cria um usuário administrador em cada conta e usa essas credenciais para criar recursos e conceder permissões a eles.


| Conta da AWSID da  | Conta referida como | Usuário administrador na conta  | 
| --- | --- | --- | 
|  *1111-1111-1111*  |  Conta A  |  AccountAadmin  | 
|  *2222-2222-2222*  |  Conta B  |  AccountBadmin  | 
|  *3333-3333-3333*  |  Conta C  |  AccountCadmin  | 



## Etapa 0: Preparar-se para a demonstração
<a name="access-policies-walkthrough-example4-step0"></a>

**nota**  
É recomendado abrir um editor de texto e anotar algumas informações enquanto você passa pelas etapas. Especificamente, você vai precisar dos IDs de conta, IDs de usuários canônicos, URLs de login de usuário do IAM de cada conta para se conectar ao console e nomes de recurso da Amazon (ARNs) dos perfis e usuários do IAM. 

1. Você precisa ter três Contas da AWS, e cada uma delas deve ter um usuário administrador, conforme exibido na tabela da seção anterior.

   1. Cadastre-se para Contas da AWS, se necessário. Nós nos referimos a essas contas como Conta A, Conta B e Conta C.

   1. Usando as credenciais da Conta A, faça login no [console do IAM](https://console.aws.amazon.com/iam/home?#home) e faça o seguinte para criar um usuário administrador:
      + Crie o usuário **AccountAadmin** e anote as credenciais de segurança. Para obter mais informações sobre como adicionar usuários, consulte [Criar um usuário do IAM na sua Conta da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) no *Guia do usuário do IAM*. 
      + Conceda privilégios de administrador a **AccountAadmin** anexando uma política de usuário com pleno acesso. Consulte instruções em [Gerenciar políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) no *Guia do usuário do IAM*. 
      + No console do IAM, anote o **URL de login de usuário do IAM** indicado no **Painel**. Os usuários nessa conta devem usar esse URL para fazer login no Console de gerenciamento da AWS. Consulte mais informações em [Sign in to the Console de gerenciamento da AWS as an IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html) no *Guia do usuário do IAM*. 

   1. Repita a etapa anterior para criar usuários administradores na Conta B e na Conta C.

1. Para a Conta C, anote o ID de usuário canônico. 

   Quando criar uma função do IAM na Conta A, a política de confiança concederá à Conta C a permissão para assumir a função especificando o ID da conta. Você pode localizar as informações da conta da seguinte forma:

   1. Use o ID ou o alias da Conta da AWS, o nome de usuário do IAM e a senha para fazer login no [console do Amazon S3](https://console.aws.amazon.com/s3/).

   1. Selecione o nome de um bucket do Amazon S3 para visualizar os detalhes sobre esse bucket.

   1. Selecione a guia **Permissions (Permissões)** e selecione **Access Control List (Lista de controle de acesso)**. 

   1. Na seção **Acesso à sua Conta da AWS**, a coluna **Conta** inclui um identificador longo, como `c1daexampleaaf850ea79cf0430f33d72579fd1611c97f7ded193374c0b163b6`. Esse é seu ID de usuário canônico.

1. Ao criar uma política do bucket, você precisará das seguintes informações. Anote estes valores:
   + **ID de usuário canônico da Conta A**: quando o administrador da Conta A conceder permissão condicional para fazer upload de objeto ao administrador da Conta B, a condição especifica o ID de usuário canônico do usuário da Conta A que deverá ter pleno controle dos objetos. 
**nota**  
O ID de usuário canônico é o único conceito do Amazon S3. Ele é a versão oculta de 64 caracteres do ID da conta. 
   + **ARN do usuário para o administrador da Conta B**: é possível encontrar o ARN do usuário no [console do IAM](https://console.aws.amazon.com/iam/). Selecione o usuário e veja o respectivo ARN na guia **Resumo**.

     Na política do bucket, você concede permissão a `AccountBadmin` para carregar objetos e especifica o usuário com o ARN. Aqui está um exemplo de valor do Nome de recurso da Amazon (ARN):

     ```
     arn:aws:iam::AccountB-ID:user/AccountBadmin
     ```

1. Configure a AWS Command Line Interface (CLI) ou o AWS Tools for Windows PowerShell. Salve as credenciais de usuário do administrador da seguinte maneira:
   + Se estiver usando a AWS CLI, crie os perfis `AccountAadmin` e `AccountBadmin` no arquivo de configuração.
   + Se estiver usando o AWS Tools for Windows PowerShell, armazene as credenciais da sessão como `AccountAadmin` e `AccountBadmin`.

   Para instruções, consulte [Configurar as ferramentas para as demonstrações](policy-eval-walkthrough-download-awscli.md).

## Etapa 1: Realizar as tarefas da Conta A
<a name="access-policies-walkthrough-example4-step1"></a>

Neste exemplo, a Conta A é o proprietário do bucket. Assim, o usuário AccountAadmin na Conta A realizará estas ações: 
+ Crie um bucket.
+ Anexará uma política de bucket que conceda ao administrador da Conta B uma permissão para carregar objetos.
+ Criará um perfil do IAM que conceda permissão à Conta C para assumir o perfil para que seja possível acessar os objetos no bucket.

### Etapa 1.1: fazer login no Console de gerenciamento da AWS
<a name="access-policies-walkthrough-cross-account-permissions-acctA-tasks-sign-in-example4"></a>

Usando o URL de login do usuário do IAM da Conta A, primeiro faça login no Console de gerenciamento da AWS como o usuário **AccountAadmin**. Esse usuário criará um bucket e anexará uma política a ele. 

### Etapa 1.2: Criar um bucket e anexar uma política do bucket
<a name="access-policies-walkthrough-example2d-step1-1"></a>

No console do Amazon S3, faça o seguinte:

1. Crie um bucket. Este exercício supõe que o nome do bucket é `amzn-s3-demo-bucket1`.

   Para instruções, consulte [Criar um bucket de uso geral](create-bucket-overview.md). 

1. Anexe a política de bucket a seguir. A política concede ao administrador da Conta B uma permissão condicional para carregar objetos.

   Atualize a política fornecendo seus próprios valores para `amzn-s3-demo-bucket1`, `AccountB-ID` e `CanonicalUserId-of-AWSaccountA-BucketOwner`. 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "111",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:user/AccountBadmin"
               },
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*"
           },
           {
               "Sid": "112",
               "Effect": "Deny",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:user/AccountBadmin"
               },
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*",
               "Condition": {
                   "StringNotEquals": {
                       "s3:x-amz-grant-full-control": "id=CanonicalUserId-of-AWSaccountA-BucketOwner"
                   }
               }
           }
       ]
   }
   ```

------

### Etapa 1.3: criar um perfil do IAM para conceder acesso entre contas na à Conta C na Conta A
<a name="access-policies-walkthrough-example2d-step1-2"></a>

No [console do IAM](https://console.aws.amazon.com/iam/), crie um perfil do IAM (**examplerole**) que conceda à Conta C permissão para assumir o perfil do IAM. Você deve manter a conexão como administrador da Conta A porque o perfil deve ser criado na Conta A.

1. Antes de criar a função, prepare as políticas gerenciadas que definem as permissões necessárias à função. Em uma etapa posterior, você anexará essa política à função.

   1. No painel de navegação à esquerda, escolha **Políticas** e **Criar política**.

   1. Próximo a **Create Your Own Policy**, escolha **Select**.

   1. Insira **access-accountA-bucket** no campo **Policy Name (Nome da política)**.

   1. Copie a política de acesso a seguir e cole-a no campo **Policy Document (Documento de políticas)**. A política de acesso concede permissão ao perfil `s3:GetObject`; assim, quando o usuário da Conta C assume o perfil, ele só pode executar a operação `s3:GetObject`.

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

****  

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

------

   1. Escolha **Create Policy**.

      As novas políticas aparecem na lista de políticas gerenciadas.

1. No painel de navegação à esquerda, escolha **Perfis** e **Criar novo perfil**.

1. Em **Selecionar tipo de função**, selecione **Função para acesso entre contas** e o botão **Selecionar** ao lado de **Fornecer acesso entre as Contas da AWS que você possui**.

1. Insira o ID de conta da Conta C.

   Para esta demonstração, não é necessário exigir que os usuários tenham a autenticação multifator (MFA) para assumir o perfil; portanto, deixe essa opção desmarcada.

1. Escolha **Próxima etapa** para definir as permissões que serão associadas à função.

1. 

   Marque a caixa de seleção ao lado da política **access-accountA-bucket** que você criou e escolha **Próxima etapa**.

   A página Revisar será exibida para que você possa confirmar as configurações para a função antes de criá-la. Um item muito importante a observar nesta página é o link que você pode enviar aos usuários que precisem usar essa função. Os usuários que usam o link vão diretamente para a página **Trocar perfil** com os campos “ID da conta” e “Nome do perfil” já preenchidos. Você também pode ver esse link mais tarde na página **Resumo da função** de qualquer função entre contas.

1. Insira `examplerole` para o nome do perfil e selecione **Próxima etapa**.

1. Depois de revisar o perfil, escolha **Criar perfil**.

   A função `examplerole` é exibida na lista de funções.

1. Selecione o nome de perfil `examplerole`.

1. Selecione a guia **Trust Relationships (Relacionamentos de confiança)**.

1. Clique em **Mostrar documento de política** e verifique se a política de confiança mostrada corresponde à indicada a seguir.

   A política de confiança a seguir estabelece a confiança com a Conta C, permitindo-lhe a ação `sts:AssumeRole`. Para obter mais informações, consulte [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) na *Referência de APIs do AWS Security Token Service*.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Anote o nome do recurso da Amazon (ARN) do perfil `examplerole` que você criou. 

   Depois, nas etapas a seguir, você anexará um política de usuário para permitir que um usuário do IAM assuma essa função e identificará a função com o valor de Nome de recurso da Amazon (ARN). 

## Etapa 2: Realizar as tarefas da Conta B
<a name="access-policies-walkthrough-example4-step2"></a>

O exemplo de bucket de propriedade da Conta A precisa de objetos de propriedade de outras contas. Nessa etapa, o administrador da Conta B faz upload de um objeto usando as ferramentas da linha de comando.
+ Usando o comando `put-object` da AWS CLI, faça upload de um objeto em `amzn-s3-demo-bucket1`. 

  ```
  aws s3api put-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --body HappyFace.jpg --grant-full-control id="canonicalUserId-ofTheBucketOwner" --profile AccountBadmin
  ```

  Observe o seguinte:
  + O parâmetro `--Profile` especifica o perfil `AccountBadmin`; portanto, o objeto é de propriedade da Conta B.
  + O parâmetro `grant-full-control` concede ao proprietário do bucket permissão de pleno controle sobre o objeto conforme exigido pela política do bucket.
  + O parâmetro `--body` identifica o arquivo de origem para fazer upload. Por exemplo, se o arquivo estiver na unidade C: de um computador Windows, você especifica `c:\HappyFace.jpg`. 

## Etapa 3: realizar as tarefas da Conta C
<a name="access-policies-walkthrough-example4-step3"></a>

Nas etapas anteriores, a Conta A já criou um perfil, `examplerole`, estabelecendo a confiança com a Conta C. Esse perfil permite que os usuários na Conta C acessem a Conta A. Nessa etapa, o administrador da Conta C cria um usuário (Dave) e delega para ele a permissão `sts:AssumeRole`, recebida da Conta A. Essa abordagem permite que Dave assuma o `examplerole` e tenha acesso temporário à Conta A. A política de acesso que a Conta A anexou ao perfil limita o que Dave pode fazer ao acessar a Conta A (especificamente, obter objetos no `amzn-s3-demo-bucket1`).

### Etapa 3.1: criar um usuário na Conta C e delegar permissão para assumir examplerole
<a name="cross-acct-access-using-role-step3-1"></a>

1. Usando o URL de login de usuário do IAM para a Conta C, primeiro faça login no Console de gerenciamento da AWS como o usuário **AccountCadmin**. 

   

1. No [console do IAM](https://console.aws.amazon.com/iam/), crie um usuário chamado Dave. 

   Para obter instruções passo a passo, consulte [Criação de usuários do IAM (Console de gerenciamento da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) no *Guia do usuário do IAM*. 

1. Anote as credenciais de Dave. Dave precisará dessas credenciais para assumir a função `examplerole`.

1. Crie uma política em linha para o usuário do IAM Dave para delegar a ele a permissão `sts:AssumeRole` no perfil `examplerole` da conta A. 

   1. No painel de navegação à esquerda, escolha **Uses (Usuários)**.

   1. Selecione o nome de usuário **Dave**.

   1. Na página detalhes do usuário, selecione a guia **Permissions (Permissões)** e, em seguida, expanda a seção **Inline Policies (Políticas em linha)**.

   1. Escolha **clique aqui** (ou **Create User Policy [Criar política de usuário]**).

   1. Escolha **Custom Policy** e depois **Select**.

   1. Insira um nome para a política no campo **Policy Name (Nome da política)**.

   1. Cole a seguinte política no campo **Policy Document (Documento da política)**.

      Você deve atualizar a política fornecendo o `AccountA-ID`.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "sts:AssumeRole"
                  ],
                  "Resource": "arn:aws:iam::111122223333:role/examplerole"
              }
          ]
      }
      ```

------

   1. Selecione **Aplicar política**.

1. Salve as credenciais de Dave no arquivo de configuração da AWS CLI adicionando outro perfil, `AccountCDave`.

   ```
   [profile AccountCDave]
   aws_access_key_id = UserDaveAccessKeyID
   aws_secret_access_key = UserDaveSecretAccessKey
   region = us-west-2
   ```

### Etapa 3.2: assumir o perfil (examplerole) e acessar objetos
<a name="cross-acct-access-using-role-step3-2"></a>

Agora Dave pode acessar objetos no bucket de propriedade da Conta A, desta forma:
+ Dave primeiro assume a `examplerole` usando suas próprias credenciais. Isso retornará credenciais temporárias.
+ Usando as credenciais temporárias, Dave então acessará os objetos no bucket da Conta A.

1. No prompt de comando, execute o comando `assume-role` da AWS CLI usando o perfil `AccountCDave`. 

   É necessário atualizar o valor do ARN no comando fornecendo o `AccountA-ID` em que `examplerole` foi definido.

   ```
   aws sts assume-role --role-arn arn:aws:iam::AccountA-ID:role/examplerole --profile AccountCDave --role-session-name test
   ```

   Em resposta, o AWS Security Token Service (AWS STS) retorna credenciais de segurança temporárias (ID da chave de acesso, chave de acesso secreta e um token de sessão).

1. Salve as credenciais de segurança temporárias no arquivo de configuração da AWS CLI no perfil `TempCred`.

   ```
   [profile TempCred]
   aws_access_key_id = temp-access-key-ID
   aws_secret_access_key = temp-secret-access-key
   aws_session_token = session-token
   region = us-west-2
   ```

1. No prompt de comando, execute o comando da AWS CLI a seguir para acessar objetos usando as credenciais temporárias. Por exemplo, o comando especifica a API do objeto head para recuperar os metadados do objeto para o objeto `HappyFace.jpg`.

   ```
   aws s3api get-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg SaveFileAs.jpg --profile TempCred
   ```

   Como a política de acesso anexada a `examplerole` permite as ações, o Amazon S3 processa a solicitação. Você pode tentar qualquer outra ação em qualquer outro objeto no bucket.

   Se tentar qualquer outra ação, como `get-object-acl`, você terá a permissão negada porque o perfil não tem permissão para realizar essa ação.

   ```
   aws s3api get-object-acl --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --profile TempCred
   ```

   Usamos o usuário Dave para assumir a função e acessar o objeto usando credenciais temporárias. Também poderia ser um aplicativo na Conta C que acessa objetos em `amzn-s3-demo-bucket1`. O aplicativo pode obter credenciais de segurança temporárias, e a Conta C pode delegar permissão de aplicativo para assumir `examplerole`.

## Etapa 4: limpar
<a name="access-policies-walkthrough-example4-step6"></a>

1. Depois de terminar os testes, você pode fazer o seguinte para concluir a limpeza:

   1. Faça login no [Console de gerenciamento da AWS](https://console.aws.amazon.com/) usando as credenciais da Conta A e faça o seguinte:
     + No console do Amazon S3, remova a política de bucket anexada a `amzn-s3-demo-bucket1`. Nas **Propriedades** do bucket, exclua a política na seção **Permissions (Permissões)**. 
     + Se o bucket foi criado para este exercício, no console do Amazon S3, exclua os objetos e, em seguida, exclua o bucket. 
     + No [console do IAM](https://console.aws.amazon.com/iam/), remova o `examplerole` que você criou na Conta A. Consulte instruções detalhadas em [Exclusão de um usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) no *Guia do usuário do IAM*. 
     + No [console do IAM](https://console.aws.amazon.com/iam/), remova o usuário **AccountAadmin**.

1. Faça login no [console do IAM](https://console.aws.amazon.com/iam/) usando as credenciais da Conta B. Exclua o usuário **AccountBadmin**. 

1. Faça login no [console do IAM](https://console.aws.amazon.com/iam/) usando as credenciais da Conta C. Exclua **AccountCadmin** e o usuário Dave.

## Recursos relacionados
<a name="RelatedResources-managing-access-example4"></a>

Consulte mais informações relacionadas a essa demonstração nos seguintes recursos do *Guia do usuário do IAM*:
+ [Criação de uma função para delegar permissões a um usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)
+ [Tutorial: delegar acesso entre Contas da AWS usando perfis do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial-cross-account-with-roles.html)
+ [Gerenciamento de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html)