Solución de problemas de políticas de control de servicios (SCPs) con AWS Organizations - 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.

Solución de problemas de políticas de control de servicios (SCPs) con AWS Organizations

Utilice la información aquí para diagnosticar y corregir los errores comunes que se encuentran en las políticas de control de servicios (SCPs).

Políticas de control de servicios (SCPs) en AWS Organizations son similares a IAM las políticas y comparten una sintaxis común. Esta sintaxis comienza con las reglas de la notación de JavaScript objetos (JSON). JSONdescribe un objeto con los pares de nombre y valor que lo componen. La gramática de las IAM políticas se basa en ello al definir qué nombres y valores tienen significado y qué son entendidos por los Servicios de AWS que utilizan políticas para conceder permisos.

AWS Organizations utiliza un subconjunto de la IAM sintaxis y la gramática. Para obtener más información, consulte SCPsintaxis.

Más de un objeto de política

Un objeto SCP debe constar de un solo JSON objeto. Los objetos se indican incluyéndolos en llaves { }. Aunque se pueden anidar otros objetos dentro de un JSON objeto insertando {} llaves adicionales en el par exterior, una política solo puede contener un par más externo de {} llaves. El ejemplo siguiente es incorrecto porque contiene dos objetos en el nivel superior (denominados red):

{ "Version": "2012-10-17", "Statement": { "Effect":"Allow", "Action":"ec2:Describe*", "Resource":"*" } } { "Statement": { "Effect": "Deny", "Action": "s3:*", "Resource": "*" } }

Sin embargo, podría satisfacer la intención del ejemplo anterior con el uso de la gramática de políticas correcta. En lugar de incluir dos objetos de política completos, cada uno con su propio elemento Statement, puede combinar los dos bloques en un único elemento Statement. El elemento Statement tiene una matriz de dos objetos como su valor, tal y como se muestra en el ejemplo siguiente:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource":" *" }, { "Effect": "Deny", "Action": "s3:*", "Resource": "*" } ] }

Este ejemplo no se puede comprimir en una instrucción Statement con un solo elemento, porque los dos elementos tienen efectos diferentes. Por lo general, solo puede combinar instrucciones cuando los elementos Effect y Resource de cada instrucción sean idénticos.

Más de un elemento Statement

Este error podría parecer a simple vista una variante del error de la sección anterior. Sin embargo, es un tipo de error diferente desde el punto de vista sintáctico. En el siguiente ejemplo, solo hay un objeto de política indicado por un único par de llaves { } en el nivel superior. Sin embargo, ese objeto contiene dos elementos Statement en su interior.

A SCP debe contener solo un Statement elemento, compuesto por el nombre (Statement) que aparece a la izquierda de dos puntos, seguido de su valor a la derecha. El valor de un elemento Statement debe ser un objeto, identificado por llaves { }, que contiene un elemento Effect, un elemento Action y un elemento Resource. El siguiente ejemplo es incorrecto porque contiene dos elementos Statement en el objeto de política:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }, "Statement": { "Effect": "Deny", "Action": "s3:*", "Resource": "*" } }

Como un objeto de valor puede ser una matriz de varios objetos de valor, puede resolver este problema combinando los dos elementos Statement en un elemento con una matriz de objetos, tal y como se muestra en el ejemplo siguiente:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource":"*" }, { "Effect": "Deny", "Action": "s3:*", "Resource": "*" } ] }

El valor del elemento Statement es una matriz de objetos. La matriz del ejemplo se compone de dos objetos, cada uno de los cuales es un valor correcto para un elemento Statement. Cada objeto de la matriz está separado por comas.

El documento de política supera el tamaño máximo

El tamaño máximo de un SCP documento es de 5.120 caracteres. Este tamaño máximo incluye todos los caracteres, incluido el espacio en blanco. Para reducir el tamañoSCP, puede eliminar todos los espacios en blanco (como espacios y saltos de línea) que no estén entre comillas.

nota

Si guarda la política mediante el AWS Management Console, los espacios en blanco adicionales entre JSON los elementos y fuera de las comillas se eliminan y no se cuentan. Si guarda la política mediante una SDK operación o AWS CLI, la política se guardará exactamente como la has indicado y no se eliminarán automáticamente los caracteres.