

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
<a name="orgs_manage_policies_scps_syntax"></a>

Las políticas de control de servicios (SCP) utilizan una sintaxis similar a la que utilizan las políticas de permisos AWS Identity and Access Management (IAM) y las políticas [basadas en recursos (como las políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) 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](http://json.org). 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](orgs_reference_limits.md#min-max-values). 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 (SCPs)](orgs_manage_policies_scps.md).

## Resumen de elementos
<a name="scp-elements-table"></a>

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.


| Element | Finalidad | Efectos admitidos | 
| --- | --- | --- | 
| [Action](#scp-syntax-action) | Especifica el AWS servicio y las acciones que el SCP permite o deniega. | `Allow`, `Deny` | 
| [Effect](#scp-syntax-effect) | Define si la instrucción SCP [permite](orgs_manage_policies_scps_evaluation.md#how_scps_allow) o [deniega](orgs_manage_policies_scps_evaluation.md#how_scps_deny) el acceso a los usuarios y roles IAM en una cuenta. | `Allow`, `Deny` | 
| [Instrucción](#scp-syntax-statement) | Sirve como contenedor de elementos de política. Una SCP puede contener varias instrucciones. | `Allow`, `Deny` | 
| [Statement ID (Sid) (ID de instrucción)](#scp-syntax-sid) | (Opcional) Proporciona un nombre fácil de recordar para la instrucción. | `Allow`, `Deny` | 
| [Versión](#scp-syntax-version) | Especifica las reglas de sintaxis del lenguaje que se utilizarán para procesar la política. | `Allow`, `Deny` | 
| [Condición](#scp-syntax-condition) | Especifica las condiciones que determinan cuándo se aplica la instrucción. | `Allow,``Deny` | 
| [NotAction](#scp-syntax-action) | Especifica el AWS servicio y las acciones que están exentos del SCP. Se utiliza en lugar del elemento `Action`. | `Allow,``Deny` | 
| [Resource](#scp-syntax-resource) | Especifica los AWS recursos a los que se aplica el SCP. | `Allow,``Deny` | 
| [NotResource](#scp-syntax-resource) | Especifica AWS los recursos que están exentos del SCP. Se utiliza en lugar del elemento Resource. | `Allow`, `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.

**Topics**
+ [Resumen de elementos](#scp-elements-table)
+ [`Acción` y elementos `NotAction`](#scp-syntax-action)
+ [`Elemento de condición`](#scp-syntax-condition)
+ [`Elemento de efecto`](#scp-syntax-effect)
+ [`Recurso`y `NotResource` element](#scp-syntax-resource)
+ [`Elemento de declaración`](#scp-syntax-statement)
+ [Elemento de ID de declaración (`Sid`)](#scp-syntax-sid)
+ [`Elementos Version`](#scp-syntax-version)
+ [Elementos no compatibles](#scp-syntax-unsupported)

## `Acción` y elementos `NotAction`
<a name="scp-syntax-action"></a>

El valor del `NotAction` elemento `Action` o es una lista (una matriz JSON) de cadenas que identifican AWS los servicios y las acciones que la sentencia 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 y las acciones excluidas no distinguen entre mayúsculas y minúsculas. 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. 

Para obtener una lista de todos los servicios y las acciones que admiten en las políticas de permisos de los AWS Organizations SCP y de IAM, consulte las [acciones, los recursos y las claves de condición de los AWS servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actionsconditions.html) en la Guía del usuario de *IAM*.

*Para obtener más información, consulte Elementos de la [política JSON de IAM: acción y Elementos de la política](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_action.html) [JSON de IAM: NotAction en la Guía del usuario](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html) de IAM.*

### `Ejemplo de elemento de acción`
<a name="scp-syntax-action-example"></a>

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](orgs_manage_policies_scps_evaluation.md#how_scps_allow), y es útil cuando las políticas `Allow *` predeterminadas ***no*** se asocian 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.

------
#### [ JSON ]

****  

```
{
    "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](orgs_manage_policies_scps_evaluation.md#how_scps_deny) 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.

------
#### [ JSON ]

****  

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

------

### Ejemplo de elemento `NotAction`
<a name="scp-syntax-notaction-example"></a>

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

------
#### [ JSON ]

****  

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

------

Con esta declaración, las cuentas afectadas se limitan a realizar las acciones especificadas Región de AWS, excepto cuando utilizan acciones de IAM.

## `Elemento de condición`
<a name="scp-syntax-condition"></a>

Puede especificar un elemento `Condition` en las instrucciones de Allow y Deny de una SCP.

El siguiente ejemplo muestra cómo utilizar un elemento de condición con una sentencia allow en un SCP para permitir que determinados directores accedan a los servicios. AWS 

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowServicesForSpecificPrincipal",
         "Effect":"Allow",
         "Action":[
            "ec2:*",
            "s3:*",
            "rds:*",
            "lambda:*",
            "cloudformation:*",
            "iam:*",
            "cloudwatch:*"
         ],
         "Resource":"*",
         "Condition":{
            "StringEquals":{
               "aws:PrincipalArn":[
                  "arn:aws:iam::123456789012:role/{{specific-role}}"
               ]
            }
         }
      }
   ]
}
```

El siguiente ejemplo muestra cómo utilizar un elemento de condición con una instrucción Deny para restringir el acceso a cualquier operación fuera de las regiones `eu-central-1` y `eu-west-1`, excepto a las acciones en los servicios especificados. 

------
#### [ JSON ]

****  

```
{
    "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}}"
                    ]
                }
            }
        }
    ]
}
```

------

Para obtener más información, consulte [Elementos de la política de JSON de IAM: Condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) en la *Guía del usuario de IAM*.

## `Elemento de efecto`
<a name="scp-syntax-effect"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html) en la *Guía del usuario IAM*.

### `«Efecto»: «Permitir»`
<a name="scp-syntax-effect-allow"></a>

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](orgs_manage_policies_scps_evaluation.md#how_scps_allow) (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](orgs_manage_policies_scps_evaluation.md#how_scps_allow) 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.

### `«Efecto»: «Denegar»`
<a name="scp-syntax-effect-deny"></a>

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.

------
#### [ JSON ]

****  

```
{
    "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á.

## `Recurso`y `NotResource` element
<a name="scp-syntax-resource"></a>

Cada declaración de un SCP debe incluir un `NotResource` elemento `Resource` o.

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. 

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.

------
#### [ JSON ]

****  

```
{    
  "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.

En el siguiente ejemplo se muestra cómo puede utilizar un elemento `NotResource` para excluir Amazon Bedrock del efecto de la política.

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"Statement1",
         "Effect":"Deny",
         "Action":[
            "bedrock:InvokeModel",
            "bedrock:InvokeModelWithResponseStream"
         ],
         "NotResource":[
            "arn:aws:bedrock:*::foundation-model/{{model-to-permit}}"
         ]
      }
   ]
}
```

Para obtener más información, consulte [Elemento de la política de JSON de IAM: Resource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) en la *Guía del usuario de IAM*.

## `Elemento de declaración`
<a name="scp-syntax-statement"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_statement.html) en la *Guía del usuario de IAM*.

## Elemento de ID de declaración (`Sid`)
<a name="scp-syntax-sid"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_id.html) en la *Guía del usuario de IAM*.

## `Elementos Version`
<a name="scp-syntax-version"></a>

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.

Para obtener más información, consulte [Elementos de la política de JSON de IAM: Versión](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_version.html) en la *Guía del usuario de IAM*.

## Elementos no compatibles
<a name="scp-syntax-unsupported"></a>

Los siguientes elementos no son compatibles con las SCP:
+ `NotPrincipal`
+ `Principal`