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á.
RBAC para AWS KMS
O controle de acesso baseado em funções (RBAC) é uma estratégia de autorização que fornece aos usuários somente as permissões necessárias para realizar suas tarefas e nada mais. O AWS KMS é viabiliza o RBAC permitindo que você controle o acesso às suas chaves especificando permissões granulares sobre o uso da chave nas políticas de chave. As políticas de chave especificam um recurso, ação, efeito, entidade principal e condições opcionais para conceder acesso às chaves.
Para implementar o RBAC no AWS KMS, recomendamos separar as permissões dos usuários de chave e administradores de chave.
- Key users
-
O exemplo de política de chave a seguir permite que o perfil do IAM ExampleUserRole
use a chave do KMS.
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/ExampleUserRole"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
}
Seus usuários de chave podem precisar de menos permissões do que o usuário neste exemplo. Atribua apenas as permissões necessárias para o usuário. Use as seguintes perguntas para ajudar a refinar ainda mais as permissões.
-
Quais entidades principais do IAM (perfis ou usuários) precisam acessar a chave?
-
Quais ações cada entidade principal precisa realizar com a chave? Por exemplo, a entidade principal precisa somente das permissões de Criptografar e Assinar?
-
O usuário é humano ou um serviço da AWS? Se for um serviço da AWS, você pode usar a chave de condição para restringir o uso da chave a um serviço específico da AWS.
- Key administrators
-
O exemplo de política de chave a seguir permite que o perfil do IAM ExampleAdminRole
administre a chave do KMS.
{
"Sid": "Allow access for Key Administrators",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/ExampleAdminRole"
},
"Action": [
"kms:Create*",
"kms:Describe*",
"kms:Enable*",
"kms:List*",
"kms:Put*",
"kms:Update*",
"kms:Revoke*",
"kms:Disable*",
"kms:Get*",
"kms:Delete*",
"kms:TagResource",
"kms:UntagResource",
"kms:ScheduleKeyDeletion",
"kms:CancelKeyDeletion"
],
"Resource": "*"
}
Seus administradores de chave podem precisar de menos permissões do que o administrador neste exemplo. Atribua somente as permissões de que seus administradores de chave precisam.
Dê aos usuários somente as permissões necessárias para cumprir suas funções. As permissões de um usuário podem variar dependendo se a chave é usada em ambientes de teste ou de produção. Se você usar permissões menos restritivas em determinados ambientes que não sejam de produção, implemente um processo para testar as políticas antes que elas sejam liberadas para produção.