

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

# Políticas baseadas em recursos
<a name="auth-and-access_resource-policies"></a>

Em uma política baseada em recursos, especifique quem pode acessar o segredo e as ações que essa pessoa pode executar no segredo. É possível usar políticas baseadas em recursos para:
+ Conceder acesso a vários usuários e funções a um único segredo. 
+ Conceda acesso a usuários ou funções em outras AWS contas.

Quando você anexa uma política baseada em recursos a um segredo no console, o Secrets Manager usa o mecanismo de raciocínio automatizado [Zelkova](https://aws.amazon.com/blogs/security/protect-sensitive-data-in-the-cloud-with-automated-reasoning-zelkova/) e a API `ValidateResourcePolicy` para impedir que você conceda acesso a seus segredos a uma ampla gama de entidades principais do IAM. Você também pode chamar a API `PutResourcePolicy` com o parâmetro `BlockPublicPolicy` da CLI ou do SDK. 

**Importante**  
A validação da política de recursos e o parâmetro `BlockPublicPolicy` ajudam a proteger seus recursos, impedindo que o acesso público seja concedido por meio de políticas de recursos diretamente vinculadas aos segredos. Além de usar esses atributos, inspecione com cuidado as seguintes políticas para garantir que elas não concedam acesso público:  
Políticas baseadas em identidade vinculadas aos AWS diretores associados (por exemplo, funções do IAM) 
Políticas baseadas em recursos anexadas aos AWS recursos associados (por exemplo, chaves AWS Key Management Service (AWS KMS)) 
Para revisar as permissões de seus segredos, consulte [Determinação de quem tem permissões para seus segredos do ](determine-acccess_examine-iam-policies.md).

**Para visualizar, alterar ou excluir a política de recursos de um segredo (console)**

1. Abra o console do Secrets Manager em [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Na lista de segredos, escolha o segredo.

1. Na página de detalhes do segredo, na guia de **Visão geral** da seção **Permissões de recursos**, escolha **Editar permissões**.

1. No campo do código, siga um dos procedimentos a seguir e escolha **Save** (Salvar):
   + Para anexar ou modificar uma política de recursos, insira a política. 
   + Para excluir a política, limpe o campo do código.

## AWS CLI
<a name="auth-and-access_resource_cli"></a>

**Example Recuperar uma política de recursos**  
O exemplo de [https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-resource-policy.html](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-resource-policy.html) a seguir recupera a política baseada em recurso anexada a um segredo.  

```
aws secretsmanager get-resource-policy \
    --secret-id MyTestSecret
```

**Example Excluir uma política de recurso**  
O exemplo de [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-resource-policy.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-resource-policy.html) a seguir exclui a política baseada em recurso anexada a um segredo.  

```
aws secretsmanager delete-resource-policy \
    --secret-id MyTestSecret
```

**Example Adicionar uma política de recurso**  
O exemplo de [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/put-resource-policy.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/put-resource-policy.html) a seguir adiciona uma política de permissões a um segredo, verificando primeiro se a política não fornece acesso amplo ao segredo. A política é lida de um arquivo. Para obter mais informações, consulte [Carregando AWS CLI parâmetros de um arquivo](https://docs.aws.amazon.com//cli/latest/userguide/cli-usage-parameters-file.html) no Guia AWS CLI do usuário.  

```
aws secretsmanager put-resource-policy \
    --secret-id MyTestSecret \
    --resource-policy file://mypolicy.json \
    --block-public-policy
```
Conteúdo de `mypolicy.json`:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:role/MyRole"
            },
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "*"
        }
    ]
}
```

## AWS SDK
<a name="auth-and-access_resource_sdk"></a>

Para recuperar a política anexada a um segredo, use [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetResourcePolicy.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetResourcePolicy.html).

Para excluir a política anexada a um segredo, use [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteResourcePolicy.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteResourcePolicy.html).

Para anexar uma política a um segredo, use [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutResourcePolicy.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutResourcePolicy.html). Se já houver uma política anexada, o comando a substituirá pela nova política. O documento da política deve estar formatado como texto JSON estruturado. Consulte [Estrutura de documento de política JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies-introduction).

Para obter mais informações, consulte [AWS SDKs](asm_access.md#asm-sdks).

## Exemplos
<a name="auth-and-access_resource-policy-examples"></a>

**Topics**
+ [Exemplo: permissão para recuperar valores de segredos individuais](#auth-and-access_examples_read)
+ [Exemplo: permissões e VPCs](#auth-and-access_examples_vpc)
+ [Exemplo: entidade principal de serviço](#auth-and-access_service)

### Exemplo: permissão para recuperar valores de segredos individuais
<a name="auth-and-access_examples_read"></a>

Para conceder permissão para recuperar valores de segredos, é possível anexar políticas a segredos ou identidades. Para obter ajuda na determinação do tipo de política a ser usado, consulte [Políticas baseadas em identidades e políticas baseadas em recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html). Para obter informações sobre como anexar uma política, consulte [Políticas baseadas em recursos](#auth-and-access_resource-policies) e [Políticas baseadas em identidade](auth-and-access_iam-policies.md).

Esse exemplo é útil quando você quer conceder acesso a um único segredo a vários usuários ou funções. Para conceder permissão para recuperar um grupo de segredos em uma chamada de API em lote, consulte [Exemplo: permissão para recuperar um grupo de valores de segredos em um lote](auth-and-access_iam-policies.md#auth-and-access_examples_batch).

**Example Ler um segredo**  
É possível conceder acesso a um segredo anexando a seguinte política ao segredo.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/EC2RoleToAccessSecrets"
            },
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "*"
        }
    ]
}
```

### Exemplo: permissões e VPCs
<a name="auth-and-access_examples_vpc"></a>

Se você precisar acessar o Secrets Manager de uma VPC, verifique se as solicitações para o Secrets Manager vêm da VPC ao incluir uma condição nas políticas de permissões. Para obter mais informações, consulte [Limite solicitações com condições do endpoint da VPC](best-practices.md#iam-contextkeys-vpcendpoint) e [Usando um AWS Secrets Manager VPC endpoint](vpc-endpoint-overview.md).

Certifique-se de que as solicitações para acessar o segredo de outros AWS serviços também venham da VPC, caso contrário, essa política negará o acesso a eles.

**Example Exigir que as solicitações sejam enviadas por meio de um endpoint da VPC**  
A política a seguir permite que um usuário execute operações do Secrets Manager somente quando a solicitação é fornecida por meio do endpoint do VPC *`vpce-1234a5678b9012c`*.    
****  

```
{
"Id": "example-policy-1",
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Sid": "RestrictGetSecretValueoperation",
  "Effect": "Deny",
  "Principal": "*",
  "Action": "secretsmanager:GetSecretValue",
  "Resource": "*",
  "Condition": {
    "StringNotEquals": {
      "aws:sourceVpce": "vpce-12345678"
    }
  }
}
]
}
```

**Example Exigir que as solicitações sejam provenientes de uma VPC**  
A política a seguir permite que os comandos criem e gerenciem segredos somente quando eles são provenientes da *`vpc-12345678`*. Além disso, a política permite operações que usam o acesso ao valor criptografado do segredo somente quando as solicitações são recebidas de `vpc-2b2b2b2b`. Será possível usar uma política como essa se uma aplicação for executada em uma VPC, mas você usa uma segunda VPC isolada para funções de gerenciamento.     
****  

```
{
"Id": "example-policy-2",
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Sid": "AllowAdministrativeActionsfromONLYvpc-12345678",
  "Effect": "Deny",
  "Principal": "*",
  "Action": [
    "secretsmanager:Create*",
    "secretsmanager:Put*",
    "secretsmanager:Update*",
    "secretsmanager:Delete*",
    "secretsmanager:Restore*",
    "secretsmanager:RotateSecret",
    "secretsmanager:CancelRotate*",
    "secretsmanager:TagResource",
    "secretsmanager:UntagResource"
  ],
  "Resource": "*",
  "Condition": {
    "StringNotEquals": {
      "aws:sourceVpc": "vpc-12345678"
    }
  }
},
{
  "Sid": "AllowSecretValueAccessfromONLYvpc-2b2b2b2b",
  "Effect": "Deny",
  "Principal": "*",
  "Action": [
    "secretsmanager:GetSecretValue"
  ],
  "Resource": "*",
  "Condition": {
    "StringNotEquals": {
      "aws:sourceVpc": "vpc-2b2b2b2b"
    }
  }
}
]
}
```

### Exemplo: entidade principal de serviço
<a name="auth-and-access_service"></a>

Se a política de recursos anexada ao seu segredo incluir um [diretor de AWS serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services), recomendamos que você use as chaves de condição SourceAccount globais [aws: SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) [e aws:](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount). O ARN e os valores da conta só são incluídos no contexto de autorização quando uma solicitação chega ao Secrets Manager diretamente de outro serviço da AWS . Essa combinação de condições evita um potencial [confused deputy scenario](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) (cenário de substituto confuso). 

Se um ARN de recurso incluir caracteres que não sejam permitidos em uma política de recurso, você não poderá usar esse ARN de recurso no valor da chave de condição `aws:SourceArn`. Em vez disso, use a chave de condição `aws:SourceAccount`. Para obter mais informações, consulte os [requisitos do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-names).

Os diretores de serviços normalmente não são usados como diretores em uma política anexada a um segredo, mas alguns AWS serviços exigem isso. Para obter informações sobre as políticas de recursos que um serviço exige que você anexe a um segredo, consulte a documentação do serviço.

**Example Permitir que um serviço acesse um segredo usando uma entidade principal de serviço**    
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Effect": "Allow",
  "Principal": {
    "Service": [
      "s3.amazonaws.com"
    ]
  },
  "Action": "secretsmanager:GetSecretValue",
  "Resource": "*",
  "Condition": {
    "ArnLike": {
      "aws:sourceArn": "arn:aws:s3::123456789012:*"
    },
    "StringEquals": {
      "aws:sourceAccount": "123456789012"
    }
  }

}
]
}
```