Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Elemento de la política de JSON de IAM: NotAction
NotAction
es un elemento de política avanzada que hace coincidir explícitamente todo, salvo la lista de acciones especificada. El uso de NotAction
puede traducirse en una política abreviada; se publican únicamente unas cuantas acciones
que no deben coincidir, en vez de publicar una larga lista de acciones que sí coincidirán.
Cuando utilice NotAction
, debe tener en cuenta que las acciones especificadas en este elemento son las únicas acciones que están limitadas. Esto, a su vez, significa que todas las acciones o
servicios aplicables que no están en la lista están permitidos cuando se usa el efecto
Allow
. Además, las acciones o servicios que no están en la lista se deniegan cuando se
usa el efecto Deny
. Cuando se utiliza NotAction
con el elemento Resource
, proporciona el ámbito de la política. Esta es la forma en que AWS determina qué
acciones o servicios son aplicables. Para obtener más información, consulte la siguiente
política de ejemplo.
NotAction con Allow
Puede utilizar el elemento NotAction
en una instrucción con "Effect":
"Allow"
para proporcionar acceso a todas las acciones de un servicio de AWS, salvo las acciones
especificadas en NotAction
. Puede utilizarla con el elemento Resource
para proporcionar el ámbito de la política, limitando las acciones permitidas a las
acciones que puede llevar a cabo en el recurso especificado.
En el siguiente ejemplo se permite a los usuarios obtener acceso a todas las acciones
de Amazon S3 que se pueden realizar en cualquier recurso de S3, salvo la eliminación de un bucket. Esto no permite a los usuarios utilizar la operación
del API ListAllMyBuckets
de S3, ya que dicha acción requiere el recurso "*". Esta política además no permite
acciones en otros servicios, ya que otras acciones de servicio no son aplicables a
los recursos de S3.
"Effect": "Allow", "NotAction": "s3:DeleteBucket", "Resource": "arn:aws:s3:::*",
En ocasiones, es posible que desee permitir el acceso a un gran número de acciones.
El elemento NotAction
le permite invertir la instrucción, lo que se traducirá en una lista de acciones
más corta. Por ejemplo, debido al gran número de servicios de AWS, es posible que
desee crear una política que permita al usuario hacer todo salvo obtener acceso a
acciones de IAM.
En el siguiente ejemplo se permite a los usuarios obtener acceso a todas las acciones de todos los servicios de AWS, salvo IAM.
"Effect": "Allow", "NotAction": "iam:*", "Resource": "*"
Sea precavido al usar los elementos NotAction
y "Effect": "Allow"
en la misma instrucción o en otra instrucción de una misma política. NotAction
hace coincidir todos los servicios y acciones que no se mencionan explícitamente
en la lista o son aplicables al recurso especificado, lo que podría dar como resultado
que se concediera a los usuarios más permisos de los que en realidad se pretendía.
NotAction con Deny
Puede utilizar el elemento NotAction
en una instrucción con "Effect":
"Deny"
para denegar el acceso a todas los recursos de una lista, salvo las acciones especificadas
en el elemento NotAction
. Esta combinación no permite los elementos de la lista, pero deniega de forma explícita
las acciones que no figuran en la lista. Debe seguir dando permiso las acciones que
quiere permitir.
En el siguiente ejemplo condicional se deniega el acceso a las acciones no relacionadas
con IAM cuando el usuario no ha iniciado la sesión con MFA. Si el usuario ha iniciado
sesión con MFA, la condición "Condition"
no se cumple y la instrucción "Deny"
final no tiene efecto. Tenga en cuenta, sin embargo, que esto no supone conceder
al usuario acceso a ninguna acción. Simplemente se deniegan explícitamente todas las
acciones salvo las de IAM.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "DenyAllUsersNotUsingMFA", "Effect": "Deny", "NotAction": "iam:*", "Resource": "*", "Condition": {"BoolIfExists": {"aws:MultiFactorAuthPresent": "false"}} }] }
Para ver una política de ejemplo que deniegue el acceso a las acciones fuera de las regiones especificadas, excepto las acciones de servicios determinados, consulte AWS: deniega el acceso a AWS en función de la región solicitada..