Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

185
Visualizações
Problema de acceso denegado en AWS Cross Account S3 PutObject cifrado por AWS Managed Key

Estoy tratando de colocar un archivo de texto de Lambda que está en la cuenta B en el depósito S3 en la cuenta A. El depósito S3 (depósito de prueba) tiene el cifrado AWS-KMS con la clave administrada aws/s3 habilitada. 1. Agregué los siguientes permisos en el depósito Cuenta A- S3 (depósito de prueba):

 ``` {"Version": "2012-10-17", "Id": "ExamplePolicy", "Statement": [ { "Sid": "ExampleStmt", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountB:role/Lambda-Role" }, "Action": "s3:*", "Resource": "arn:aws:s3:::test-bucket/*" } ] }
  1. Se agregó la siguiente política en línea a mi rol de ejecución de Lambda en la Cuenta B:
     {"Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:ReEncrypt*" ], "Resource": [ "arn:aws:kms:us-west-2:AccountA:key/AWS-KMS-ID" ] } ] }

Este es mi Código Lambda:

 res = s3.put_object( Body=message, Key=file_name, Bucket='test-bucket', ACL='bucket-owner-full-control' )

Obteniendo el siguiente error al ejecutar este código desde la cuenta B Lambda:

 An error occurred (AccessDenied) when calling the PutObject operation: Access Denied

Dado que el depósito S3 está cifrado por AWS Managed Key, no puedo editar la política de KMS, lo que hacemos en el caso de la clave administrada por el cliente.

Alguien, por favor, guíeme, ¿qué me estoy perdiendo?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Intente otorgar a su función lambda s3:PutObject . Entonces, la política en línea de su rol lambda debería ser algo así como

 { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:ReEncrypt*" ], "Resource": [ "arn:aws:kms:us-west-2:AccountA:key/AWS-KMS-ID" ] }, { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::test-bucket/*" } ] }
over 4 years ago · Santiago Trujillo Relatório

0

Yo mismo he estado resolviendo este problema durante un par de horas.

No creo que esto sea posible con la "clave administrada de AWS" predeterminada cuando se usa SSE-KMS. En su lugar, debe crear una CMK y otorgar acceso de usuario de cuenta cruzada a esta clave.

HTH

over 4 years ago · Santiago Trujillo Relatório

0

No se puede otorgar acceso entre cuentas para AWS Managed Key. Necesidad de utilizar la clave administrada por el cliente o el cifrado predeterminado.

Esto puede ser útil: https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-access-default-encryption/

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda