Quero usar políticas baseadas em recursos para controlar o acesso aos segredos do AWS Secrets Manager.
Breve descrição
Com políticas baseadas em atributos, você pode especificar o acesso do usuário a um segredo e quais ações um usuário do AWS Identity and Access Management (IAM) pode realizar.
Observação: um segredo é definido como um recurso com o Secrets Manager.
Você pode usar as políticas baseadas em recursos do Secrets Manager nos seguintes cenários comuns:
O exemplo de política baseada em recursos a seguir usa os elementos Effect, Action, Resource e Principal:
{ "Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "secretsmanager:*",
"Principal": {"AWS": "arn:aws:iam::123456789999:user/Mary"},
"Resource": "*"
}
]
}
Resolução
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Para aplicar uma política baseada em recursos no Secrets Manager, conclua as seguintes etapas:
-
Crie um segredo e anote o ARN do segredo.
-
Copie e cole essa política em seu editor de texto favorito e salve-a como um arquivo JSON, como my_explicit_deny_policy.json:
{ "Version": "2012-10-17","Statement": [
{
"Effect": "Deny",
"Action": "secretsmanager:GetSecretValue",
"Principal": {"AWS": "arn:aws:iam::123456789999:user/Mary"},
"Resource": "*"
}
]
}
-
Execute o comando put-resource-policy da AWS CLI para anexar uma política de recursos ao segredo para negar explicitamente a recuperação do valor secreto:
aws secretsmanager put-resource-policy --secret-id My_Resource_Secret --resource-policy file:// My_explicit_deny_Policy.json
Você recebe uma saída semelhante a esta:
{"ARN": "arn:aws:secretsmanager:<your region>:123456789999:secret:My_Resource_Secret",
"Name": "My_Resource_Secret"
}
Observação: a permissão decript do AWS Key Management Service (AWS KMS) é necessária somente se você usar chaves do AWS KMS para criptografar seu segredo. Quando o segredo é criptografado por uma chave padrão do AWS KMS, uma entidade principal do IAM em uma conta de terceiros não pode recuperar o segredo.
Para obter mais informações, consulte Attach a permissions policy to an AWS Secrets Manager secret.