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

275
Visualizações
La acción del depósito de S3 no se aplica a ningún recurso

Estoy siguiendo las instrucciones de esta respuesta para generar la siguiente política de depósito S3:

 { "Id": "Policy1495981680273", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1495981517155", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::surplace-audio", "Principal": "*" } ] }

me devuelve el siguiente error:

La acción no se aplica a ningún recurso(s) en la declaración

¿Qué me falta en mi póliza?

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

0

Debe verificar el patrón del arn definido en la etiqueta de recurso para la política-

"Recurso": "arn:aws:s3:::s3mybucketname/*"

Agregar "/*" al final ayudaría a resolver el problema si lo enfrenta incluso después de haber desbloqueado su política de acceso público para su depósito.

over 4 years ago · Santiago Trujillo Relatório

0

También me he enfrentado a un problema similar al crear el depósito.

 { "Version": "2012-10-17", "Statement": [ { "Sid": "AddPerm", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::mrt9949" ] } ] }

He cambiado el código anterior a

 { "Version": "2012-10-17", "Statement": [ { "Sid": "AddPerm", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::mrt9949/*" ] } ] }

agregue /* al nombre de su depósito, resolverá el problema

Aquí mi nombre de cubo es mrt9949

over 4 years ago · Santiago Trujillo Relatório

0

En mi caso la solución a este error fue intentar eliminar algunas de las Acciones que estaba aplicando. Algunos de ellos no son relevantes o no pueden funcionar con este recurso. En este caso no me dejaría incluir estos:

GetBucketAcl ListBucket ListBucketMultipartUploads

over 4 years ago · Santiago Trujillo Relatório

0

También puede configurar ListBuckets para cada carpeta, así

 { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSESPuts-1521238702575", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::buckets.email/*", "Condition": { "StringEquals": { "aws:Referer": "[red]" } } }, { "Sid": "Stmt1586754972129", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::596322993031:user/[red]" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::buckets.email", "Condition": { "StringEquals": { "s3:delimiter": "/", "s3:prefix": [ "", "domain.co", "domain.co/user" ] } } }, { "Sid": "Stmt1586754972129", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::596322993031:user/[red]" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::buckets.email", "Condition": { "StringLike": { "s3:prefix": "domain.co/user/*" } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::596322993031:user/[red]" }, "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::buckets.email/domain.co/user/*" } ] }

Estas reglas se usan junto con SES para recibir un correo electrónico, pero permiten que un usuario externo vea los archivos que SES colocó en el depósito. Seguí las instrucciones de aquí: https://aws.amazon.com/blogs/security/writing-iam-policies-grant-access-to-user-specific-folders-in-an-amazon-s3-bucket/

Además, debe especificar el prefijo como domain.co/user/ CON una barra inclinada al final cuando use el SDK; de lo contrario, se le denegará el acceso. espero que ayude a alguien

over 4 years ago · Santiago Trujillo Relatório

0

  • Vaya a Amazon S3 en su instancia.
  • Vaya a la pestaña Permisos -> Acceso público.
  • Selecciona Editar y desmarca Bloquear todos los accesos públicos y guardar.
  • Verá la etiqueta 'Público' en la pestaña Permiso y en la Lista de control de acceso.
over 4 years ago · Santiago Trujillo Relatório

0

Siempre que intente aplicar políticas de depósito de uso. Recuerde esto, si está utilizando acciones como "s3:ListBucket", "s3:GetBucketPolicy", "s3:GetBucketAcl", etc. que están relacionadas con el depósito, el atributo de recurso en la política debe mencionarse como <"Resource": " arn:aws:s3:::nombre_depósito">.

Ex.

 { "Version": "2012-10-17", "Id": "Policy1608224885249", "Statement": [ { "Sid": "Stmt1608226298927", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetBucketPolicy", "s3:GetBucketAcl", "s3:ListBucket" ], "Resource": "arn:aws:s3:::bucket_name" } ] }

Si utiliza acciones como "s3:GetObject", "s3:DeleteObject", "s3:GetObject", etc., que están relacionadas con el objeto, el atributo de recurso en la política debe mencionarse como <"Resource": "arn:aws: s3:::nombre_depósito/*">.

ex.

 { "Id": "Policy1608228066771", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1608228057071", "Action": [ "s3:DeleteObject", "s3:GetObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::bucket_name/*", "Principal": "*" } ] }

Finalmente, si usa acciones como "s3:ListBucket", "s3:GetObject", etc., estas acciones están relacionadas tanto con el depósito como con el objeto, entonces el atributo de recurso en la política debe mencionarse como <"Recurso": ["arn:aws: s3:::bucket_name/*", "Resource": "arn:aws:s3:::bucket_name">.

ex.

 { "Version": "2012-10-17", "Id": "Policy1608224885249", "Statement": [ { "Sid": "Stmt1608226298927", "Effect": "Allow", "Principal": "*", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucket_name", "arn:aws:s3:::bucket_name/*" ] } ] }
over 4 years ago · Santiago Trujillo Relatório

0

Esto es tan simple que solo agrega "/*" al final. Solo ha proporcionado el enlace del directorio raíz, pero la acción debe aplicarse al objeto.

Escriba, "Recurso": "arn:aws:s3:::surplace-audio/*"

over 4 years ago · Santiago Trujillo Relatório

0

Desde AWS > Documentación > AWS Identity and Access Management > Guía del usuario https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html

Está claramente definido en una nota. Algunos servicios no le permiten especificar acciones para recursos individuales.

usa el comodín * en el elemento Resource

"Recurso": "arn:aws:s3:::surplace-audio/*"

over 4 years ago · Santiago Trujillo Relatório

0

De los documentos de IAM, http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Action

Algunos servicios no le permiten especificar acciones para recursos individuales; en su lugar, cualquier acción que enumere en el elemento Action o NotAction se aplica a todos los recursos de ese servicio. En estos casos, utiliza el comodín * en el elemento Resource.

Con esta información, el recurso debería tener un valor como el siguiente:

 "Resource": "arn:aws:s3:::surplace-audio/*"
over 4 years ago · Santiago Trujillo Relatório

0

La acción de error no se aplica a ningún recurso en la declaración

Simplemente significa que la acción (que escribió en la política) no se aplica al recurso. Estaba tratando de hacer público mi cubo para que cualquiera pueda descargarlo. Recibía un error hasta que eliminé ("s3:ListBucket") de mi estado de cuenta.

 { "Id": "Policyxxxx961", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmtxxxxx4365", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::bucket-name/*", "Principal": "*" } ] }

Debido a que el depósito de lista no se aplica dentro del depósito, al eliminar esta política de acción funcionó bien.

over 4 years ago · Santiago Trujillo Relatório

0

Me encontré con este problema y encontré una solución más corta para aquellos que desean tener ListBucket y GetObject en la misma política. Lo importante es enumerar tanto el nombre del depósito como el nombre del depósito/* en Recurso.

 { "Id": "Policyxxxx961", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmtxxxxx4365", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ], "Principal": "*" } ] }
over 4 years ago · Santiago Trujillo Relatório

0

Simplemente quitar el permiso s3:ListBucket no fue realmente una solución lo suficientemente buena para mí, y probablemente no lo sea para muchos otros.

Si desea el permiso s3:ListBucket , solo necesita tener el arn simple del depósito (sin /* al final), ya que este permiso se aplica al depósito en sí y no a los elementos dentro del depósito.

Como se muestra a continuación, debe tener el permiso s3:ListBucket como una declaración separada de los permisos relacionados con elementos dentro del depósito como s3:GetObject y s3:PutObject :

 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Principal": { "AWS": "[IAM ARN HERE]" }, "Resource": "arn:aws:s3:::my-bucket-name" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Principal": { "AWS": "[IAM ARN HERE]" }, "Resource": "arn:aws:s3:::my-bucket-name/*" } ] }
over 4 years ago · Santiago Trujillo Relatório

0

Solo haga un cambio en el recurso de política json.

 "Resource": ["arn:aws:s3:::bucket-name/*"]

Nota: agregue /* después del nombre del depósito

Documentos de referencia: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html

over 4 years ago · Santiago Trujillo Relatório

0

Para solucionar este problema, lo que debe hacer en la regla de política es ubicar el Resource y agregar su arn en la matriz, uno con * y el segundo sin * al final. Esto solucionará el error.

 { "Version": "2012-10-17", "Id": "Policy3783783783738", "Statement": [ { "Sid": "Stmt1615891730703", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::76367367633:user/magazine-demo-root-user" }, "Action": [ "s3:ListBucket", "s3:ListBucketVersions", "s3:GetBucketLocation", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:Get*", "s3:Put*" ], "Resource": [ "arn:aws:s3:::magazine-demo", "arn:aws:s3:::magazine-demo/*" ] } ] }
over 4 years ago · Santiago Trujillo Relatório

0

Es posible que tenga varias declaraciones de política y este error es muy genérico. Lo mejor es comentar todas las demás declaraciones excepto cualquiera (como solo GetObject, ListBuckets o PutObject) y ejecutar el código y ver. Si funciona bien, significa que la ruta del ARN es correcta. De lo contrario, el ARN debe incluir solo el nombre del depósito o un nombre de depósito con /*.

Algunos recursos como ListBucket aceptan ARN con el nombre completo como "arn:aws:s3:::bucket_name", mientras que GetObject o PutObject esperan /* después de bucket_name. ¡Cambie los ARN de acuerdo con el servicio y debería funcionar ahora!

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