

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Sintaxe de SCP
<a name="orgs_manage_policies_scps_syntax"></a>

As políticas de controle de serviços (SCPs) usam uma sintaxe semelhante à usada pelas políticas de permissão AWS Identity and Access Management (IAM) e políticas [baseadas em recursos (como as políticas de bucket do](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) Amazon S3). Para obter mais informações sobre as políticas do IAM e sua sintaxe, consulte [Visão geral das políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) no *Guia do usuário do IAM*.

Uma SCP é um arquivo de texto sem formatação estruturado de acordo com as regras do [JSON](http://json.org). Ela usa os elementos que são descritos neste tópico.

**nota**  
Todos os caracteres em sua conta de SCP contam em relação ao seu [tamanho máximo](orgs_reference_limits.md#min-max-values). Os exemplos deste guia mostram as SCPs formatadas com espaço em branco adicional para melhorar a legibilidade. No entanto, para economizar espaço quando o tamanho da política se aproximar do tamanho máximo, é possível excluir todos os espaços em branco, como caracteres de espaço e quebras de linhas, que estiverem fora das aspas.

Para obter informações gerais sobre SCPs, consulte [Políticas de controle de serviços (SCPs)](orgs_manage_policies_scps.md).

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

A seguinte tabela resume os elementos de políticas que você pode usar em SCPs. Alguns elementos de políticas estão disponíveis apenas em SCPs que negam ações. A coluna **Supported effects (Efeitos com suporte)** lista o tipo de efeito que você pode usar com cada elemento de política em SCPs.


| Elemento | Finalidade | Efeitos com suporte | 
| --- | --- | --- | 
| [Ação](#scp-syntax-action) | Especifica o AWS serviço e as ações que o SCP permite ou nega. | `Allow`, `Deny` | 
| [Efeito](#scp-syntax-effect) | Define se a instrução da SCP [permite](orgs_manage_policies_scps_evaluation.md#how_scps_allow) ou [nega](orgs_manage_policies_scps_evaluation.md#how_scps_deny) o acesso principal a usuários e funções do IAM em uma conta. | `Allow`, `Deny` | 
| [Instrução](#scp-syntax-statement) | Serve como o contêiner para elementos de políticas. Você pode ter várias instruções em SCPs. | `Allow`, `Deny` | 
| [ID da instrução (Sid)](#scp-syntax-sid) | (Opcional) Fornece um nome amigável para a instrução. | `Allow`, `Deny` | 
| [Versão](#scp-syntax-version) | Especifica as regras da sintaxe da linguagem a serem usadas para processar a política. | `Allow`, `Deny` | 
| [Condição](#scp-syntax-condition) | Especifica as condições em que a instrução está em vigor. | `Allow,``Deny` | 
| [NotAction](#scp-syntax-action) | Especifica AWS serviços e ações que estão isentos do SCP. Usado em vez do elemento `Action`. | `Allow,``Deny` | 
| [Recurso](#scp-syntax-resource) | Especifica os AWS recursos aos quais o SCP se aplica. | `Allow,``Deny` | 
| [NotResource](#scp-syntax-resource) | Especifica AWS os recursos que estão isentos do SCP. Usado em vez do elemento Resource. | `Allow`, `Deny` | 

As seguintes seções oferecem mais informações e exemplos de como os elementos de políticas são usados em SCPs.

**Topics**
+ [Resumo de elementos](#scp-elements-table)
+ [`Ação` e `NotAction`elementos](#scp-syntax-action)
+ [`Elemento de condição`](#scp-syntax-condition)
+ [`Elemento Effect`](#scp-syntax-effect)
+ [`Recurso`e `NotResource` Elemento](#scp-syntax-resource)
+ [Elemento de `declaração`](#scp-syntax-statement)
+ [Elemento de ID da declaração (`Sid`)](#scp-syntax-sid)
+ [`Elemento Version`](#scp-syntax-version)
+ [Elementos sem suporte](#scp-syntax-unsupported)

## `Ação` e `NotAction`elementos
<a name="scp-syntax-action"></a>

O valor do `NotAction` elemento `Action` or é uma lista (uma matriz JSON) de cadeias de caracteres que identificam AWS serviços e ações que são permitidos ou negados pela instrução.

Cada string consiste na abreviação do serviço (como "s3", "ec2", "iam" ou "organizations"), tudo em letras minúsculas, seguida por um ponto e vírgula e uma ação desse serviço. As ações e notações não diferenciam maiúsculas de minúsculas. Em geral, todas elas são inseridas com cada palavra começando com uma letra maiúscula e o restante em minúsculas. Por exemplo: `"s3:ListAllMyBuckets"`.

Você também pode usar caracteres curinga, como asterisco (\*) ou ponto de interrogação (?) em uma SCP:
+ Você também pode usar um asterisco como um curinga para corresponder a várias ações que compartilham parte de um nome. O valor `"s3:*"` significa todas as ações no serviço Amazon S3. O valor de `"ec2:Describe*"` corresponde apenas às ações do EC2 que começam com "Describe".
+ Use o curinga ponto de interrogação (?) para corresponder a um único caractere. 

Para obter uma lista de todos os serviços e ações que eles suportam nas políticas de permissão do IAM e das AWS Organizations SCPs, consulte [Ações, recursos e chaves de condição para AWS serviços](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actionsconditions.html) no *Guia do usuário do IAM*.

Para obter mais informações, consulte Elementos de [política JSON do IAM: ação e Elementos](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_action.html) da [política JSON do IAM: NotAction](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html) no Guia do *usuário do IAM*.

### Exemplo de elemento de `ação`
<a name="scp-syntax-action-example"></a>

O seguinte exemplo mostra uma SCP com uma instrução que permite que os administradores de contas deleguem permissões para descrever, iniciar, interromper e encerrar a instâncias do EC2 na conta. Este é um exemplo de uma [lista de permissões](orgs_manage_policies_scps_evaluation.md#how_scps_allow) e é útil quando as políticas `Allow *` padrão ***não*** são anexadas, para que, por padrão, as permissões sejam implicitamente negadas. Se a política `Allow *` padrão ainda estiver anexada à raiz, à UO ou à conta à qual a política a seguir está anexada, a política não terá efeito.

------
#### [ 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": "*"
    }
}
```

------

O exemplo a seguir mostra como é possível [negar o acesso](orgs_manage_policies_scps_evaluation.md#how_scps_deny) a serviços que você não deseja que sejam usados em contas anexadas. Ele pressupõe que as SCPs `"Allow *"` padrão ainda estejam anexadas a todas as UOs e à raiz. Esse exemplo de política impede que os administradores de contas anexadas deleguem permissões para os serviços IAM, Amazon EC2 e Amazon RDS . Qualquer ação de outros serviços pode ser delegada, desde que não haja outra política anexada que a negue.

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

****  

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

------

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

O exemplo a seguir mostra como você pode usar um `NotAction` elemento para excluir AWS serviços do efeito da política.

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

****  

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

------

Com essa declaração, as contas afetadas estão limitadas a realizar ações no especificado Região da AWS, exceto ao usar ações do IAM.

## `Elemento de condição`
<a name="scp-syntax-condition"></a>

Você pode especificar um elemento `Condition` em instruções de permissão e negação em uma SCP.

O exemplo a seguir mostra como usar um elemento condicional com uma instrução de permissão em um SCP para permitir que diretores específicos AWS acessem serviços.

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

O exemplo a seguir mostra como usar um elemento condicional com uma declaração de negação em uma SCP para restringir o acesso a qualquer operação fora das regiões `eu-central-1` e `eu-west-1`, exceto as ações nos serviços 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 obter mais informações, consulte [IAM JSON Policy Elements: Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) (Elementos da política JSON do IAM: Condição) no *Guia do usuário do IAM*.

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

Cada instrução deve conter um elemento `Effect`. O valor pode ser `Allow` ou `Deny`. Isso afeta todas as ações listadas na mesma instrução.

Para obter mais informações, consulte [Elementos de política JSON do IAM: efeito](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html) no *Guia do usuário do IAM*.

### `“Efeito”: “Permitir”`
<a name="scp-syntax-effect-allow"></a>

O seguinte exemplo mostra uma SCP com uma instrução que contém um elemento `Effect` com um valor de `Allow` que permite que os usuários da conta executem ações para o serviço Amazon S3. Esse exemplo é útil em uma organização que usa a [estratégia de lista de permissões](orgs_manage_policies_scps_evaluation.md#how_scps_allow) (em que todas as políticas de `FullAWSAccess` padrão são desvinculadas para que as permissões sejam implicitamente negadas por padrão). O resultado é que a instrução [permite](orgs_manage_policies_scps_evaluation.md#how_scps_allow) as permissões do Amazon S3 para todas as contas anexadas:

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

Embora ele use a mesma palavra-chave de valor `Allow` como uma política de permissões do IAM, em uma SCP, ele na realidade não concede permissões a um usuário para fazer alguma coisa. Em vez disso, as SCPs agem como filtros que especificam o máximo de permissões para as contas em uma organização, unidade organizacional (UO) ou conta. No exemplo anterior, mesmo que um usuário na conta tivesse a política gerenciada `AdministratorAccess` anexada, a SCP limitaria ***todos*** os usuários na conta para apenas ações do Amazon S3.

### `“Efeito”: “Negar”`
<a name="scp-syntax-effect-deny"></a>

Em uma instrução em que o elemento `Effect` tem um valor de `Deny`, você também pode restringir o acesso a recursos específicos ou definir condições para quando SCPs estiverem em vigor. 

A seguinte tabela mostra um exemplo de como usar uma chave de condição em uma instrução de negação.

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

****  

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

------

Essa instrução em uma SCP define uma proteção para impedir que as contas afetadas (em que a SCP é anexada à própria conta ou à raiz ou UO da organização que contém a conta) executem instâncias do Amazon EC2 se a instância do Amazon EC2 não estiver definida como `t2.micro`. Mesmo que uma política do IAM que permite essa ação seja anexada à conta, a proteção criada pela SCP impedirá isso.

## `Recurso`e `NotResource` Elemento
<a name="scp-syntax-resource"></a>

Cada declaração em um SCP deve incluir um `NotResource` elemento `Resource` ou.

Em instruções em que o elemento `Effect` tem um valor de `Allow`, você pode especificar apenas "\*" no elemento `Resource` de uma SCP. Você não pode especificar nomes de recursos da Amazon (ARNs) individuais. 

Você pode usar caracteres curinga, como asterisco (\*) ou ponto de interrogação (?) no elemento de recurso:
+ Você também pode usar um asterisco como um curinga para corresponder a várias ações que compartilham parte de um nome. 
+ Use o curinga ponto de interrogação (?) para corresponder a um único caractere. 

Em instruções em que o elemento `Effect` tem um valor de `Deny`, você *pode* especificar ARNs individuais, conforme mostrado no seguinte exemplo.

------
#### [ 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 que as entidades principais do IAM em contas façam alterações em uma função administrativa comum do IAM criada em todas as contas em sua organização.

O exemplo a seguir mostra como usar um elemento `NotResource` para excluir modelos específicos do Amazon Bedrock do efeito da 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 obter mais informações, consulte [Elementos da política JSON do IAM: recurso](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) no *Guia do usuário do IAM*.

## Elemento de `declaração`
<a name="scp-syntax-statement"></a>

Uma SCP consiste em um ou mais elementos `Statement`. Você pode ter apenas uma palavra-chave `Statement` em uma política, mas o valor pode ser uma matriz JSON de instruções (entre os caracteres []).

O exemplo a seguir mostra uma única instrução que consiste em elementos `Effect`, `Action` e `Resource` únicos.

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

O exemplo a seguir inclui duas instruções como uma lista de matrizes dentro de um elemento `Statement`. A primeira instrução permite todas as ações, enquanto a segunda nega todas as ações do EC2. O resultado é que um administrador da conta pode delegar qualquer permissão, *exceto* as do Amazon Elastic Compute Cloud (Amazon EC2).

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

Para obter mais informações, consulte [Elementos de política JSON do IAM: instrução](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_statement.html) no *Guia do usuário do IAM*.

## Elemento de ID da declaração (`Sid`)
<a name="scp-syntax-sid"></a>

O `Sid` é um identificador opcional que você fornece para a instrução da política. Você pode atribuir um valor `Sid` a cada instrução em uma matriz de instruções. A seguinte SCP de exemplo mostra uma instrução `Sid`. 

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

Para obter mais informações, consulte [Elementos de política JSON do IAM: Id](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_id.html) no *Guia do usuário do IAM*.

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

Cada SCP deve incluir um elemento `Version` com o valor `"2012-10-17"`. Este é o mesmo valor da versão mais recente das políticas de permissão do IAM.

Para obter mais informações, consulte [Elementos de política JSON do IAM: versão](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_version.html) no *Guia do usuário do IAM*.

## Elementos sem suporte
<a name="scp-syntax-unsupported"></a>

Os seguintes elementos não são compatíveis em SCPs:
+ `NotPrincipal`
+ `Principal`