virginia servidores services page east aws amazon-web-services amazon-s3 amazon-iam

amazon web services - servidores - AWS IAM: ¿Puedes usar varios comodines(*) en un valor?



aws login page (1)

No estoy seguro, pero "de repente" (ya sabes de lo que estoy hablando) está funcionando en el simulador de políticas con:

  • Política 1: "permitir permisos S3 específicos en cualquier segmento" (por ejemplo, un rol de editor)
  • Política 2: "denegar todas las acciones de S3 a menos que se encuentre en la carpeta de un usuario en todos los contenedores" (es decir, solo puede ver sus archivos)

Donde ''Política 2'' es:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExplicitlyDenyAnythingExceptOwnNamedFolder", "Action": [ "s3:*" ], "Effect": "Deny", "NotResource": [ "arn:aws:s3:::mynamespace-property*/subfolder/${aws:username}/*" ] } ] }

Como nota al margen, tenga en cuenta que arn:aws:s3:::mynamespace-property*/${aws:username}/* (ninguna subcarpeta explícita) coincidirá con y sin subcarpetas "intervinientes":

  • arn:aws:s3:::mynamespace-property-suffix/subfolder/theuser/files..."
  • arn:aws:s3:::mynamespace-property-suffix/theuser/files..."

En todos los ejemplos de políticas de IAM, mencionan el uso de comodines ( * ) como marcadores de posición para "cosas". Sin embargo, los ejemplos siempre los usan al final, y / o solo demuestran con un comodín (por ej., Para listar todo en la carpeta "xyz" con .../xyz/* ).

No encuentro nada definitivo con respecto al uso de varios comodines, por ejemplo, para hacer coincidir cualquier elemento de las subcarpetas en varios sectores:

arn:aws:s3:::mynamespace-property*/logs/*

para permitir que algo vea cualquier archivo de log través de un mynamespace-property-prod "producción" ( mynamespace-property-prod ) y "sandbox" ( mynamespace-property-sand ).