Meu bucket do Amazon Simple Storage Service (Amazon S3) tem criptografia padrão do AWS Key Management Service (AWS KMS). Estou tentando fazer upload de arquivos para o bucket, mas o Amazon S3 retorna uma mensagem de erro de acesso negado. Como posso corrigir isso?
Resolução
Primeiro, confirme se:
Em seguida, atualize as permissões do AWS KMS do seu usuário ou perfil do IAM com base na mensagem de erro que você recebe.
Importante:
- Se a chave do AWS KMS e o perfil do IAM pertencerem a contas diferentes da AWS, a política do IAM e a política de chave do KMS deverão ser atualizadas. Certifique-se de adicionar as permissões do KMS à política do IAM e à política de chave do KMS.
- Para usar uma política do IAM para controlar o acesso a uma chave do KMS, a política de chave da chave do KMS deve dar permissão à conta para usar as políticas do IAM.
“Ocorreu um erro (AccessDenied) ao chamar a operação PutObject: acesso negado”
Essa mensagem de erro indica que seu usuário ou perfil do IAM precisa de permissão para a ação kms:GenerateDataKey.
Siga estas etapas para adicionar permissão para kms:GenerateDataKey:
1. Abra o console do IAM.
2. Escolha o usuário ou o perfil do IAM que você está usando para fazer upload de arquivos para o bucket do Amazon S3.
3. Na guia Permissões, expanda cada política para ver seu documento de política JSON.
4. Nos documentos de política JSON, procure políticas relacionadas a acesso ao AWS KMS. Revise as declarações com “Efeito”: “Permitir” para verificar se o usuário ou o perfil tem permissões para a ação kms:GenerateDataKey na chave do AWS KMS do bucket.
5. Se essa permissão estiver ausente, adicione-a à política apropriada. Para obter instruções, consulte Adicionar permissões a um usuário (console) ou Modificar uma política de permissões de perfil (console).
6. Nos documentos de política JSON, procure declarações com “Efeito”: “Negar”. Confirme se essas declarações não negam a ação s3:PutObject no bucket. As declarações não devem negar ao usuário ou perfil do IAM o acesso à ação kms:GenerateDataKey na chave usada para criptografar o bucket. Além disso, as permissões necessárias do KMS e do S3 não devem ser restritas ao usar políticas de endpoint da VPC, políticas de controle de serviços, limites de permissões ou políticas de sessão.
“Ocorreu um erro (AccessDenied) ao chamar a operação CreateMultipartUpload: acesso negado”
Essa mensagem de erro indica que seu usuário ou perfil do IAM precisa de permissão para as ações kms:GenerateDataKey e kms:Decrypt.
Siga estas etapas para adicionar permissões para kms:GenerateDataKey e kms:Decrypt:
1. Abra o console do IAM.
2. Escolha o usuário ou o perfil do IAM que você está usando para fazer upload de arquivos para o bucket do Amazon S3.
3. Na guia Permissões, expanda cada política para ver seu documento de política JSON.
4. Nos documentos de política JSON, procure políticas relacionadas a acesso ao AWS KMS. Revise as declarações com “Efeito”: “Permitir” para verificar se o perfil tem permissões para kms:GenerateDataKey e kms:Decrypt na chave do AWS KMS do bucket.
5. Se essas permissões estiverem ausentes, adicione-as à política apropriada. Para obter instruções, consulte Adicionar permissões a um usuário (console) ou Modificar uma política de permissões de perfil (console).
6. Nos documentos de política JSON, procure declarações com “Efeito”: “Negar”. Em seguida, confirme se essas declarações não negam a ação s3:PutObject no bucket. As declarações não devem negar ao usuário ou perfil do IAM o acesso às ações kms:GenerateDataKey e kms:Decrypt na chave usada para criptografar o bucket. Além disso, as permissões necessárias do KMS e do S3 não devem ser restritas ao usar políticas de endpoint da VPC, políticas de controle de serviços, limites de permissões ou políticas de sessão.
Informações relacionadas
Definir o comportamento padrão de criptografia do lado do servidor para buckets do Amazon S3