Como aplico uma política baseada em recursos em um segredo do AWS Secrets Manager?

3 minuto de leitura
0

Como posso controlar o acesso aos segredos do AWS Secrets Manager usando políticas baseadas em recursos?

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.

Os casos de uso comuns das políticas baseadas em recursos do Secrets Manager são:

Neste exemplo de política baseada em recursos, o elemento IAM Efeito especifica se a instrução resulta em permissão ou negação explícita. O elemento do IAM Ação define as ações que são executadas com o segredo. O elemento do IAM Recurso é o segredo ao qual a política está anexada. O elemento do IAM Entidade principal especifica o usuário com acesso para realizar ações com o segredo.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "secretsmanager:*",
      "Principal": {"AWS": "arn:aws:iam::123456789999:user/Mary"},
      "Resource": "*"
    }
  ]
}

Resolução

Siga estas instruções para aplicar uma política baseada em recursos no Secrets Manager:

Observação: Se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.

1.    Siga as instruções para criar um segredo. Anote o ARN do segredo.

2.    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": "*"
    }
  ]
}

3.    Use o comando put-resource-policy da AWS CLI para colocar uma política de recursos para o segredo para negar explicitamente que o usuário do IAM Maryrecupere o valor do segredo.

aws secretsmanager put-resource-policy --secret-id My_Resource_Secret --resource-policy file:// My_explicit_deny_Policy.json

4.    Você recebe uma saída semelhante à seguinte:

{
"ARN": "arn:aws:secretsmanager:<your region>:123456789999:secret:My_Resource_Secret",
"Name": "My_Resource_Secret"
}

Observação: a permissão decodificar do AWS Key Management Service (AWS KMS) é necessária somente se você usar as chaves do AWS KMS para criptografar seu segredo. Um segredo não pode ser recuperado por uma entidade principal do IAM em uma conta de terceiros se o segredo for criptografado pela chave padrão do AWS KMS.

Para obter mais informações, consulte Uso de políticas baseadas em recursos para o Secrets Manager.


AWS OFICIAL
AWS OFICIALAtualizada há 3 anos