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
).