Sintaxis de SCP - AWS Organizations

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.

Sintaxis de SCP

Las políticas de control de servicios (SCP) utilizan una sintaxis similar a la que se usa en las políticas de permisos de AWS Identity and Access Management (IAM) y en las políticas basadas en recursos (como las políticas de bucket de Amazon S3). Para obtener más información sobre las políticas del IAM y su sintaxis, consulte Información general de las políticas deI AM en la Guía del usuario IAM.

Una política SCP es un archivo de texto sin formato estructurado de acuerdo con las reglas JSON. Utiliza los elementos que se describen en este tema.

nota

Todos los caracteres de la SCP se contabilizan para calcular su tamaño máximo. Los ejemplos que aparecen en esta guía muestran los SCP formateados con espacios en blanco adicionales para mejorar su legibilidad. Sin embargo, para ahorrar espacio si el tamaño de la política se aproxima al tamaño máximo, puede eliminar todos los espacios en blanco, como espacios y saltos de línea, que estén fuera de las comillas.

Para obtener información general sobre las SCP, consulte Políticas de control de servicios (SCP).

Resumen de elementos

En la tabla siguiente se resumen los elementos de política que se pueden usar en las SCP. Algunos elementos de política solo están disponibles en las SCP que deniegan acciones. En la columna Efectos admitidos se enumera los tipos de efectos que se pueden usar con cada elemento de política en las SCP.

Elemento Finalidad Efectos admitidos
Versión Especifica las reglas de sintaxis del lenguaje que se utilizarán para procesar la política.

Allow, Deny

Instrucción Sirve como contenedor de elementos de política. Una SCP puede contener varias instrucciones. Allow, Deny
Statement ID (Sid) (ID de instrucción) (Opcional) Proporciona un nombre fácil de recordar para la instrucción. Allow, Deny
Effect Define si la instrucción SCP permite o deniega el acceso a los usuarios y roles IAM en una cuenta. Allow, Deny

Acción

Especifica los servicios y acciones de AWS que la SCP permite o deniega.

Allow, Deny

NotAction

Especifica los servicios y acciones de AWS que quedan exentos de la SCP. Se utiliza en lugar del elemento Action.

Deny

Recurso Especifica los recursos de AWS a los que se aplica la SCP. Deny
Condición Especifica las condiciones que determinan cuándo se aplica la instrucción. Deny

En las secciones siguientes se proporcionan más información y ejemplos sobre cómo usar los elementos de política en las SCP.

Elemento Version

Todas las SCP deben incluir un elemento Version con el valor "2012-10-17". Este es el mismo valor de versión que la versión más reciente de las políticas de permisos de IAM.

"Version": "2012-10-17",

Para obtener más información, consulte Elementos de la política de JSON de IAM: Versión en la Guía del usuario de IAM.

Elemento Statement

Una política SCP consta de uno o varios elementos Statement. Solo puede tener una palabra clave Statement en una política, pero el valor puede ser una matriz de instrucciones JSON (rodeadas por caracteres [ ]).

El siguiente ejemplo muestra una única instrucción que consta de los elementos Effect, Action y Resource.

"Statement": { "Effect": "Allow", "Action": "*", "Resource": "*" }

El siguiente ejemplo incluye dos instrucciones como una lista de matriz dentro de un elemento Statement. La primera instrucción permite todas las acciones, mientras que la segunda deniega todas las acciones de EC2. El resultado es que el administrador de la cuenta puede delegar cualquier permiso, excepto los de Amazon Elastic Compute Cloud (Amazon EC2):

"Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" }, { "Effect": "Deny", "Action": "ec2:*", "Resource": "*" } ]

Para obtener más información, consulte Elementos de la política de JSON de IAM: Instrucción en la Guía del usuario de IAM.

Elemento de ID de instrucción (Sid)

El elemento Sid es un identificador opcional que se proporciona para la instrucción de la política. Puede asignar un valor de Sid a cada instrucción de una matriz de instrucciones. En el siguiente ejemplo de SCP se incluye una instrucción Sid de muestra.

{ "Statement": { "Sid": "AllowsAllActions", "Effect": "Allow", "Action": "*", "Resource": "*" } }

Para obtener más información, consulte Elementos de la política de JSON de IAM: ID en la Guía del usuario de IAM.

Elemento Effect

Cada instrucción debe contener un elemento Effect. El valor puede ser Allow o Deny. Afecta a las acciones enumeradas en la misma instrucción.

Para obtener más información, consulte Elemento de la política de JSON de IAM: Efecto en la Guía del usuario IAM.

"Effect": "Allow"

En el siguiente ejemplo se muestra una SCP con una instrucción que contiene un elemento Effect con un valor de Allow que permite a los usuarios de la cuenta realizar acciones para el servicio Amazon S3. Este ejemplo es útil en una organización que usa la estrategia de permitidos (donde las políticas FullAWSAccess predeterminadas estén desasociadas y, por tanto, los permisos se deniegan implícitamente de forma predeterminada). El resultado es que la instrucción permite los permisos de Amazon S3 en cualquier cuenta asociada:

{ "Statement": { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } }

Tenga en cuenta que aunque esta instrucción utiliza la misma palabra clave con el valor Allow que en una política de permisos de IAM, las SCP no conceden en realidad permisos de usuario. En lugar de ello, las SCP actúan como filtros que especifican el máximo de permisos para las cuentas de una organización, unidad organizativa (OU) o cuenta. En el ejemplo anterior, aunque un usuario de la cuenta tuviera la política AdministratorAccess administrada asociada, esta SCP limita las acciones de todos los usuarios de la cuenta afectada a solo las acciones de Amazon S3.

"Effect": "Deny"

En una instrucción cuyo elemento Effect tiene el valor Deny, también puede restringir el acceso a recursos específicos o definir condiciones que determinen cuándo se aplicará la SCP.

A continuación, se muestra un ejemplo de cómo utilizar una clave de condición en una instrucción de denegación.

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringNotEquals": { "ec2:InstanceType": "t2.micro" } } } }

Esta instrucción de una SCP establece una medida de seguridad para evitar que las cuentas afectadas (cuando la SCP se adjunte a la propia cuenta o al nodo raíz de la organización o unidad organizativa que contiene la cuenta) lancen instancias Amazon EC2 si estas instancias Amazon EC2 no están establecidas en t2.micro. Aunque se adjunte a la cuenta una política de IAM que permita esta acción, la medida de seguridad creada por la SCP la impedirá.

Elementos Action y NotAction

Cada instrucción debe contener uno de los elementos siguientes:

  • En las instrucciones de permiso o denegación, un elemento Action.

  • En las instrucciones de denegación solo (cuando el valor del elemento Effect sea Deny), un elemento Action o NotAction.

El valor del elemento Action o NotAction es una lista (una matriz JSON) de cadenas que identifican los servicios y acciones de AWS que la instrucción permite o deniega.

Cada cadena consta de la abreviatura del servicio (como "s3", "ec2", "iam" u "organizaciones"), en letras minúsculas, seguida de un carácter de punto y coma y una acción de ese servicio. Las acciones e inacciones distinguen entre mayúsculas y minúsculas, y deben especificarse tal y como aparecen en la documentación de cada servicio. Por lo general, todas deben especificarse con cada palabra con la inicial en mayúsculas y el resto en minúsculas. Por ejemplo: "s3:ListAllMyBuckets".

También puede utilizar caracteres comodín tales como el asterisco (*) o el signo de interrogación de cierre (?) en una SCP:

  • Utilice un asterisco (*) como carácter comodín como representación de varias acciones que comparten parte de un nombre. El valor "s3:*" significa todas las acciones del servicio Amazon S3. El valor "ec2:Describe*" coincide solo con las acciones de EC2 que empiezan por "Describe".

  • Utilice el carácter comodín del signo de interrogación de cierre (?) como representación de un carácter único.

nota

En una política SCP, el carácter comodín (*) o (?) de un elemento Action o NotAction únicamente puede aparecer solo o al final de la cadena. No puede aparecer al principio o en el medio de la cadena. Por lo tanto, "servicename:action*" es válido, pero "servicename:*action" y "servicename:some*action" no son válidos en las políticas SCP.

Para obtener una lista de todos los servicios y las acciones que se admiten tanto en las SCP de AWS Organizations como en las políticas de permisos de IAM, consulte Acciones, recursos y claves de condición para servicios de AWS en la Guía del usuario.

Para obtener más información, consulte Elementos de la política de JSON de IAM: Action y Elementos de la política de JSON de IAM: NotAction en la Guía del usuario de IAM.

Ejemplo de elemento Action

El siguiente ejemplo muestra una política SCP con una instrucción que permite a los administradores de la cuenta delegar los permisos describe, start, stop y terminate para las instancias EC2 de la cuenta. Este es un ejemplo de una lista de permitidos, y es útil cuando las políticas Allow * predeterminadas no se adjuntan para que, de forma predeterminada, los permisos sean denegados implícitamente. Si la política Allow * predeterminada sigue estando asociada al nodo raíz, unidad organizativa o cuenta a la que la siguiente política está asociada, entonces la política no tiene ningún efecto.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeKeyPairs", "ec2:DescribeSecurityGroups", "ec2:DescribeAvailabilityZones", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:StopInstances", "ec2:StartInstances" ], "Resource": "*" } }

El siguiente ejemplo muestra cómo puede denegar el acceso a servicios que no desea usar en cuentas asociadas. Se asume que las políticas SCP "Allow *" predeterminadas siguen estando asociadas a las unidades organizativas y al nodo raíz. Esta política de ejemplo impide que los administradores de las cuentas asociadas deleguen permisos para los servicios de IAM, Amazon EC2 y Amazon RDS. Cualquier acción desde otros servicios se puede delegar siempre y cuando no exista otra política asociada que la deniegue.

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "iam:*", "ec2:*", "rds:*" ], "Resource": "*" } }

Ejemplo de elemento NotAction

En el ejemplo siguiente se muestra cómo puede utilizar un elemento NotAction para excluir servicios de AWS del efecto de la política.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LimitActionsInRegion", "Effect": "Deny", "NotAction": "iam:*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": "us-west-1" } } } ] }

Con esta instrucción, las cuentas afectadas se limitan a realizar acciones en la Región de AWS especificada, excepto cuando se usan acciones de IAM.

Elemento Resource

En las instrucciones cuyo elemento Effect tiene el valor Allow, puede especificar solamente "*" en el elemento Resource de una SCP. No puede especificar los nombres de recurso de Amazon (ARN) de los recursos individuales.

También puede utilizar caracteres comodín tales como el asterisco (*) o el signo de interrogación de cierre (?) en el elemento de recurso:

  • Utilice un asterisco (*) como carácter comodín como representación de varias acciones que comparten parte de un nombre.

  • Utilice el carácter comodín del signo de interrogación de cierre (?) como representación de un carácter único.

En las instrucciones cuyo elemento Effect tiene el valor Deny, puede especificar ARN individuales, como se muestra en el ejemplo siguiente.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessToAdminRole", "Effect": "Deny", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRole", "iam:DeleteRolePermissionsBoundary", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePermissionsBoundary", "iam:PutRolePolicy", "iam:UpdateAssumeRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": [ "arn:aws:iam::*:role/role-to-deny" ] } ] }

Esta SCP restringe a las cuentas de usuarios y roles IAM para que no puedan realizar cambios en un rol de IAM administrativo común creado en todas las cuentas de la organización.

Para obtener más información, consulte Elemento de la política de JSON de IAM: Resource en la Guía del usuario de IAM.

Elemento Condition

Puede especificar un elemento Condition en las instrucciones de denegación de una SCP.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAllOutsideEU", "Effect": "Deny", "NotAction": [ "cloudfront:*", "iam:*", "route53:*", "support:*" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": [ "eu-central-1", "eu-west-1" ] } } } ] }

Esta SCP deniega el acceso a todas las operaciones fuera de las regiones eu-central-1 y eu-west-1, excepto para las acciones de los servicios enumerados.

Para obtener más información, consulte Elementos de la política de JSON de IAM: Condition en la Guía del usuario de IAM.

Elementos no compatibles

Los siguientes elementos no son compatibles con las SCP:

  • Principal

  • NotPrincipal

  • NotResource