

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

# Usando políticas baseadas em identidade (políticas do IAM) para CodeCommit
<a name="auth-and-access-control-iam-identity-based-access-control"></a>

Os exemplos a seguir de políticas baseadas em identidade demonstram como um administrador de conta pode anexar políticas de permissões às identidades do IAM (usuários, grupos e funções) para conceder permissões para realizar operações em recursos. CodeCommit 

**Importante**  
Recomendamos que você primeiro analise os tópicos introdutórios que explicam os conceitos básicos e as opções disponíveis para gerenciar o acesso aos seus CodeCommit recursos. Para obter mais informações, consulte [Visão geral do gerenciamento de permissões de acesso aos seus CodeCommit recursos](auth-and-access-control.md#auth-and-access-control-iam-access-control-identity-based).

**Topics**
+ [Permissões necessárias para usar o CodeCommit console](#console-permissions)
+ [Visualizar recursos no console](#console-resources)
+ [AWS políticas gerenciadas para CodeCommit](security-iam-awsmanpol.md)
+ [Exemplos de política gerenciada pelo cliente](customer-managed-policies.md)

O seguinte é um exemplo de uma política de permissões com base em identidade: 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codecommit:BatchGetRepositories"
      ],
      "Resource" : [
        "arn:aws:codecommit:us-east-2:{{111122223333}}:MyDemoRepo",
        "arn:aws:codecommit:us-east-2:{{111122223333}}:MyDemo*"
      ]
    }
  ]
}
```

------

Essa política tem uma declaração que permite ao usuário obter informações sobre o CodeCommit repositório nomeado `MyDestinationRepo` e todos os CodeCommit repositórios que começam com o nome `MyDemo` na Região. **us-east-2** 

## Permissões necessárias para usar o CodeCommit console
<a name="console-permissions"></a>

Para ver as permissões necessárias para cada operação de CodeCommit API e para obter mais informações sobre CodeCommit operações, consulte[CodeCommit referência de permissões](auth-and-access-control-permissions-reference.md).

Para permitir que os usuários usem o CodeCommit console, o administrador deve conceder a eles permissões para CodeCommit ações. Por exemplo, você pode anexar a política [AWSCodeCommitPowerUser](security-iam-awsmanpol.md#managed-policies-poweruser)gerenciada ou equivalente a um usuário ou grupo.

Além das permissões concedidas aos usuários por políticas baseadas em identidade, CodeCommit requer permissões para ações AWS Key Management Service (AWS KMS). Um usuário do IAM não precisa de permissões `Allow` explícitas para essas ações, mas não deve ter uma política anexada que defina as seguintes permissões como `Deny`:

```
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:DescribeKey"
```

Para obter mais informações sobre criptografia e CodeCommit, consulte[AWS KMS e criptografia](encryption.md).

## Visualizar recursos no console
<a name="console-resources"></a>

O CodeCommit console exige a `ListRepositories` permissão para exibir uma lista de repositórios para sua conta da Amazon Web Services no Região da AWS local em que você está conectado. O console também inclui uma função **Go to resource (Acessar recurso)** para realizar uma pesquisa por recursos que diferencia letras maiúsculas de minúsculas. Essa pesquisa é realizada na sua conta da Amazon Web Services no Região da AWS local em que você está conectado. Os seguintes recursos são exibidos nos seguintes serviços:
+ AWS CodeBuild: projetos de compilação
+ AWS CodeCommit: repositórios
+ AWS CodeDeploy: aplicativos
+ AWS CodePipeline: pipelines

Para realizar essa pesquisa nos recursos em todos os serviços, você deve ter as seguintes permissões:
+ CodeBuild: `ListProjects`
+ CodeCommit: `ListRepositories`
+ CodeDeploy: `ListApplications`
+ CodePipeline: `ListPipelines`

Os resultados não serão retornados para os recursos de um serviço se você não tiver permissões para esse serviço. Mesmo se você tiver permissões para visualizar recursos, recursos específicos não serão retornados se houver um `Deny` explícito para visualizar esses recursos.