

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á.

# Criação e uso de permissões gerenciadas pelo cliente no AWS RAM
<a name="create-customer-managed-permissions"></a>

AWS Resource Access Manager (AWS RAM) fornece pelo menos uma permissão AWS gerenciada para cada tipo de recurso que você pode compartilhar. No entanto, essas permissões gerenciadas podem não fornecer o [privilégio mínimo de acesso](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) para seu caso de uso de compartilhamento. Quando uma das permissões AWS gerenciadas fornecidas não funciona, você pode criar sua própria *permissão gerenciada pelo cliente*.

As permissões gerenciadas pelo cliente são permissões gerenciadas que você cria e mantém especificando com precisão quais ações podem ser executadas sob quais condições com recursos compartilhados usando o AWS RAM. Por exemplo, você quer limitar o acesso de leitura aos seus grupos do Gerenciador de endereços IP (IPAM) da Amazon VPC, que ajudam você a gerenciar seus endereços IP em grande escala. Você pode criar permissões gerenciadas pelo cliente para que seus desenvolvedores atribuam endereços IP, mas não visualizem o intervalo de endereços IP que outras contas de desenvolvedor atribuem. É possível seguir as práticas recomendadas de privilégio mínimo, conceda apenas as permissões necessárias para executar tarefas em recursos compartilhados.

Além disso, você pode atualizar ou excluir as permissões gerenciadas pelo cliente conforme necessário.

**Topics**
+ [Criar uma permissão gerenciada pelo cliente](#create_cmp)
+ [Criar uma nova versão de uma permissão gerenciada pelo cliente](#update_mp)
+ [Escolha uma versão diferente para ser a padrão para uma permissão gerenciada pelo cliente](#set_new_mp_default_version)
+ [Excluir uma versão de permissão gerenciada pelo cliente](#delete_mp_version)
+ [Excluir uma permissão gerenciada pelo cliente](#delete_mp)

## Criar uma permissão gerenciada pelo cliente
<a name="create_cmp"></a>

As permissões gerenciadas pelo cliente são específicas para um Região da AWS. Certifique-se de criar essa permissão gerenciada pelo cliente na região apropriada.

------
#### [ Console ]

**Para criar uma permissão gerenciada pelo cliente**

1. Execute um destes procedimentos:
   + Navegue até a **[Biblioteca de permissões gerenciadas](https://console.aws.amazon.com/ram/home#Permissions:)** e escolha **Criar uma permissão gerenciada pelo cliente**. 
   + Navegue diretamente até a página **[Criar uma permissão gerenciada pelo cliente](https://console.aws.amazon.com/ram/home#CreatePermission:)** no console.

1. Em **Detalhes da permissão gerenciada pelo cliente**, insira o nome da permissão gerenciada pelo cliente.

1. Escolha o tipo de recurso ao qual essa permissão gerenciada se aplica.

1. Para **Modelo de política**, você define quais operações podem ser executadas nesse tipo de recurso.
   + Você pode escolher **Importar permissão gerenciada** para usar ações de uma permissão gerenciada existente.
   + Selecione ou desmarque as informações do nível de acesso para atender às suas necessidades no editor visual.
   + Adicione ou modifique condições usando o **editor JSON**.

1. (Opcional) Para anexar tags à permissão gerenciada, para **Tags**, insira uma chave e um valor de tag. Para adicionar mais tags, selecione **Adicionar nova tag**. Repita esta etapa conforme necessário.

1. Quando concluir, escolha **Criar permissão gerenciada pelo cliente**.

------
#### [ AWS CLI ]

**Para criar uma permissão gerenciada pelo cliente**
+ Execute o comando [create-permission](https://docs.aws.amazon.com/cli/latest/reference/ram/create-permission.html) e especifique um nome, o tipo de recurso ao qual a permissão gerenciada pelo cliente se aplica e o corpo do texto do modelo de política.

  O comando de exemplo a seguir cria uma permissão gerenciada para o tipo de recurso `imagebuilder:Component`. 

  ```
  $ aws ram create-permission \
      --name TestCMP \
      --resource-type imagebuilder:Component \
      --policy-template "{\"Effect\":\"Allow\",\"Action\":[\"imagebuilder:ListComponents\"]}"
  {
      "permission": {
          "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP",
          "version": "1",
          "defaultVersion": true,
          "isResourceTypeDefault": false,
          "name": "TestCMP",
          "resourceType": "imagebuilder:Component",
          "status": "ATTACHABLE",
          "creationTime": 1680033769.401,
          "lastUpdatedTime": 1680033769.401
      }
  }
  ```

------

## Criar uma nova versão de uma permissão gerenciada pelo cliente
<a name="update_mp"></a>

Se o caso de uso da permissão gerenciada pelo cliente mudar, você poderá criar uma nova versão da permissão gerenciada. Isso não afeta seus compartilhamentos de recursos existentes, somente os novos compartilhamentos de recursos futuros que usarem essa permissão gerenciada pelo cliente.

Cada permissão gerenciada pode ter até cinco versões, mas você pode associar somente a versão padrão.

------
#### [ Console ]

**Para criar uma nova versão de uma permissão gerenciada pelo cliente**

1. Navegue até a **[Biblioteca de permissões gerenciadas](https://console.aws.amazon.com/ram/home#Permissions:)**.

1. Filtre a lista de permissões gerenciadas por **Gerenciado pelo cliente** ou pesquise o nome da permissão gerenciada pelo cliente que você deseja alterar.

1. Na página de detalhes da permissão gerenciada, na seção **Versões de permissões gerenciadas**, escolha **Criar versão**.

1. Para **Modelo de política**, você pode adicionar ou remover ações e condições com o editor visual ou o editor JSON.

   Você também tem a opção de escolher **Importar permissão gerenciada** para usar um modelo de política existente.

1. Quando concluir, escolha **Criar versão** na parte inferior da página.

------
#### [ AWS CLI ]

**Para criar uma nova versão de uma permissão gerenciada pelo cliente**

1. Encontre o nome do recurso da Amazon (ARN) da permissão gerenciada para a qual você deseja criar uma nova versão. Faça isso chamando [list-permissions](https://docs.aws.amazon.com/cli/latest/reference/ram/list-permissions.html) com o parâmetro `--permission-type CUSTOMER_MANAGED` para incluir somente as permissões gerenciadas pelo cliente.

   ```
   $ aws ram-cmp list-permissions --permission-type CUSTOMER_MANAGED
   {
       "permissions": [
           {
               "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP",
               "version": "2",
               "defaultVersion": true,
               "isResourceTypeDefault": false,
               "name": "TestCMP",
               "permissionType": "CUSTOMER_MANAGED",
               "resourceType": "imagebuilder:Component",
               "status": "ATTACHABLE",
               "creationTime": 1680035597.346,
               "lastUpdatedTime": 1680035597.346
           }
       ]
   }
   ```

1. Depois de ter o ARN, você pode chamar a [create-permission-version](https://docs.aws.amazon.com/cli/latest/reference/ram/create-permission-version.html)operação e fornecer o modelo de política atualizado.

   ```
   $ aws ram create-permission-version \
       --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP \
       --policy-template {"Effect":"Allow","Action":["imagebuilder:ListComponents"]}
   {
       "permission": {
           "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP",
           "version": "2",
           "defaultVersion": true,
           "isResourceTypeDefault": false,
           "name": "TestCMP",
           "status": "ATTACHABLE",
           "resourceType": "imagebuilder:Component",
           "permission": "{\"Effect\":\"Allow\",\"Action\":[\"imagebuilder:ListComponents\"]}",
           "creationTime": 1680038973.79,
           "lastUpdatedTime": 1680038973.79
       }
   }
   ```

   A saída inclui o número da nova versão.

------

## Escolha uma versão diferente para ser a padrão para uma permissão gerenciada pelo cliente
<a name="set_new_mp_default_version"></a>

Você pode definir outra versão de permissão gerenciada pelo cliente como a nova versão padrão. 

------
#### [ Console ]

**Para definir uma nova versão padrão para uma permissão gerenciada pelo cliente**

1. Navegue até a **[Biblioteca de permissões gerenciadas](https://console.aws.amazon.com/ram/home#Permissions:)**.

1. Filtre a lista de permissões gerenciadas por **Gerenciado pelo cliente** ou pesquise o nome da permissão gerenciada pelo cliente que você deseja alterar.

1. 

   Na página Detalhes da permissão gerenciada pelo cliente, na seção **Versões de permissões gerenciadas**, use a lista suspensa para escolher a versão que você deseja definir como o novo padrão.

1. Escolha **Definir como padrão**.

1. Quando a caixa de diálogo for exibida, confirme que você deseja que essa versão seja a padrão para todos os novos compartilhamentos de recursos que usarem essa permissão gerenciada pelo cliente. Se você concordar, escolha **Definir como versão padrão**.

------
#### [ AWS CLI ]

**Para definir uma nova versão padrão para uma permissão gerenciada pelo cliente**

1. Encontre o número da versão que você deseja definir como a versão padrão ligando para [list-permission-versions](https://docs.aws.amazon.com/cli/latest/reference/ram/list-permission-versions.html).

   O comando de exemplo a seguir recupera as versões atuais da permissão gerenciada especificada.

   ```
   $ aws ram list-permission-versions \
       --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP
   {
       "permissions": [
           {
               "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP",
               "version": "1",
               "defaultVersion": false,
               "isResourceTypeDefault": false,
               "name": "TestCMP",
               "permissionType": "CUSTOMER_MANAGED",
               "featureSet": "STANDARD",
               "resourceType": "imagebuilder:Component",
               "status": "UNATTACHABLE",
               "creationTime": 1680033769.401,
               "lastUpdatedTime": 1680035597.345
           },
           {
               "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP",
               "version": "2",
               "defaultVersion": true,
               "isResourceTypeDefault": false,
               "name": "TestCMP",
               "permissionType": "CUSTOMER_MANAGED",
               "featureSet": "STANDARD",
               "resourceType": "imagebuilder:Component",
               "status": "ATTACHABLE",
               "creationTime": 1680035597.346,
               "lastUpdatedTime": 1680035597.346
           }
       ]
   }
   ```

1. Depois de definir o número da versão como padrão, você pode chamar a [set-default-permission-version](https://docs.aws.amazon.com/cli/latest/reference/ram/set-default-permission-version.html)operação.

   ```
   $ aws ram-cmp set-default-permission-version \
       --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP \
       --version 2
   ```

   Este comando não retorna nenhuma saída se for bem-sucedido. Você pode executar [list-permission-versions](https://docs.aws.amazon.com/cli/latest/reference/ram/list-permission-versions.html)novamente e verificar se o `defaultVersion` campo da versão escolhida agora está definido como`true`.

------

## Excluir uma versão de permissão gerenciada pelo cliente
<a name="delete_mp_version"></a>

Você pode ter até cinco versões de cada permissão gerenciada pelo cliente. Quando uma versão não for mais necessária e não estiver em uso, você poderá excluí-la. Você não pode excluir a versão padrão de uma permissão gerenciada pelo cliente. As versões excluídas permanecem visíveis no console por até duas horas com um status excluído antes de serem completamente removidas.

------
#### [ Console ]

 **Para excluir uma versão de permissão gerenciada pelo cliente**

1. Navegue até a **[Biblioteca de permissões gerenciadas](https://console.aws.amazon.com/ram/home#Permissions:)**.

1. Filtre a lista de permissões gerenciadas por **Gerenciado pelo cliente** ou pesquise o nome da permissão gerenciada pelo cliente com a versão que você deseja excluir.

1. Certifique-se de que a versão que você deseja excluir não seja a padrão.

1. Na seção **Versões** da página, escolha a guia **Compartilhamentos de recursos associados** para ver se algum compartilhamento usa essa versão.

   Se houver algum compartilhamento associado, você deverá alterar a versão da permissão gerenciada pelo cliente antes de excluir essa versão.

1. Escolha **Excluir versão** no lado direito da seção **Versão**.

1. Na caixa de diálogo de confirmação, selecione **Excluir** para confirmar que deseja excluir essa versão da sua permissão gerenciada pelo cliente.

   Escolha **Cancelar** se não quiser excluir essa versão da sua permissão gerenciada pelo cliente.

------
#### [ AWS CLI ]

**Para excluir uma versão de uma permissão gerenciada pelo cliente**

1. Ligue para a [list-permission-versions](https://docs.aws.amazon.com/cli/latest/reference/ram/list-permission-versions.html)operação para recuperar os números de versão disponíveis.

1. Depois de ter o número da versão, forneça-o como um parâmetro para [delete-permission-version](https://docs.aws.amazon.com/cli/latest/reference/ram/delete-permission-version.html).

   ```
   $ aws ram-cmp delete-permission-version \
       --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP \
       --version 1
   ```

   Este comando não retorna nenhuma saída se for bem-sucedido. Você pode executar [list-permission-versions](https://docs.aws.amazon.com/cli/latest/reference/ram/list-permission-versions.html)novamente e verificar se a versão não está mais incluída na saída.

------

## Excluir uma permissão gerenciada pelo cliente
<a name="delete_mp"></a>

Se uma permissão gerenciada pelo cliente não for mais necessária e não estiver em uso, você poderá excluí-la. Você não pode excluir um cliente que esteja associado a uma instância gerenciada pelo cliente. A permissão excluída gerenciada pelo cliente desaparece após duas horas. Até lá, ele permanece visível na **Biblioteca de permissões gerenciadas** com um status excluído.

------
#### [ Console ]

 **Para excluir uma permissão gerenciada pelo cliente**

1. Navegue até a **[Biblioteca de permissões gerenciadas](https://console.aws.amazon.com/ram/home#Permissions:)**.

1. Filtre a lista de permissões **gerenciadas pelo cliente** ou pesquise o nome da permissão gerenciada pelo cliente que você deseja excluir.

1. Confirme se há 0 compartilhamentos associados na lista de permissões gerenciadas antes de selecionar a permissão gerenciada pelo cliente.

   Se ainda houver compartilhamentos de recursos associados à permissão gerenciada, você deverá atribuir outra permissão gerenciada a todos os compartilhamentos de recursos antes de continuar.

1. No canto superior direito da página de detalhes da permissão gerenciada pelo cliente, escolha **Excluir permissão gerenciada**.

1. Quando a caixa de diálogo de confirmação for exibida, escolha **Excluir** para excluir a permissão gerenciada.

------
#### [ AWS CLI ]

**Para excluir uma permissão gerenciada pelo cliente**

1. Encontre o ARN da permissão gerenciada que você deseja excluir chamando [list-permissions](https://docs.aws.amazon.com/cli/latest/reference/ram/list-permissions.html) com o `--permission-type CUSTOMER_MANAGED` parâmetro para incluir somente as permissões gerenciadas pelo cliente.

   ```
   $ aws ram-cmp list-permissions --permission-type CUSTOMER_MANAGED
   {
       "permissions": [
           {
               "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP",
               "version": "2",
               "defaultVersion": true,
               "isResourceTypeDefault": false,
               "name": "TestCMP",
               "permissionType": "CUSTOMER_MANAGED",
               "resourceType": "imagebuilder:Component",
               "status": "ATTACHABLE",
               "creationTime": 1680035597.346,
               "lastUpdatedTime": 1680035597.346
           }
       ]
   }
   ```

1. Depois de ter o ARN da permissão gerenciada para excluir, forneça-o como um parâmetro para a [permissão de exclusão.](https://docs.aws.amazon.com/cli/latest/reference/ram/delete-permission.html)

   ```
   $ aws ram delete-permission \
       --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP
   {
       "returnValue": true,
       "permissionStatus": "DELETING"
   }
   ```

------