

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 e exemplos de políticas declarativas
<a name="orgs_manage_policies_declarative_syntax"></a>

Esta página fornece sintaxe e exemplos das políticas declarativas.

## Considerações
<a name="declarative-policy-syntax-considerations"></a>
+ Quando você configura um atributo de serviço usando uma política declarativa, isso pode afetar vários APIs. Qualquer ação não compatível falhará.
+ Os administradores da conta não poderão modificar o valor do atributo de serviço no nível da conta individual.

## Sintaxe para políticas declarativas
<a name="declarative-policy-syntax-reference"></a>

Uma política declarativa é um arquivo de texto sem formatação estruturado de acordo com as regras do [JSON](http://json.org). A sintaxe para políticas declarativas segue a sintaxe para todos os tipos de política de gerenciamento. Para obter uma discussão completa sobre essa sintaxe, consulte [Sintaxe de política e herança para tipos de política de gerenciamento](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_inheritance_mgmt.html). Este tópico se concentra na aplicação dessa sintaxe geral aos requisitos específicos do tipo de política declarativa.

O exemplo a seguir mostra a sintaxe básica para uma política declarativa:

```
{
  "ec2_attributes": {
    "exception_message": {
      "@@assign": "Your custom error message.https://myURL"
    }
  }
}
```
+ O nome da chave de campo `ec2_attributes`. As políticas declarativas sempre começam com um nome de chave fixo para o determinado AWS service (Serviço da AWS). É a linha superior na política de exemplo acima. Atualmente, as políticas declarativas só oferecem suporte a serviços relacionados ao Amazon EC2.
+ Em `ec2_attributes`, você pode usar `exception_message` para definir uma mensagem de erro personalizada. Para obter mais informações, consulte [Mensagens de erro personalizadas para políticas declarativas](orgs_manage_policies_declarative.md#orgs_manage_policies_declarative-custom-message).
+ Em `ec2_attributes`, você pode inserir uma ou mais das políticas declarativas compatíveis. Para esses esquemas, consulte [Políticas declarativas compatíveis](#declarative-policy-examples).

## Políticas declarativas compatíveis
<a name="declarative-policy-examples"></a>

A seguir estão os atributos Serviços da AWS e que as políticas declarativas suportam. Em alguns dos exemplos a seguir, a formatação de espaço em branco JSON pode ser compactada para economizar espaço.
+ Bloqueio de acesso público a VPC
+ Acesso ao console de série
+ Bloqueio de acesso público a imagens
+ Configurações de imagens permitidas
+ Metadados da instância
+ Bloqueio do acesso público a snapshots

------
#### [ VPC Block Public Access ]

**Efeito da política**

Controla se os recursos na Amazon VPCs e nas sub-redes podem acessar a Internet por meio de gateways da Internet (). IGWs Para obter mais informações, consulte [Configuração para acesso à Internet](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-igw-internet-access.html) no *Guia do usuário da Amazon Virtual Private Cloud*.

**Conteúdo da política**

```
{
  "ec2_attributes": {
    "vpc_block_public_access": {
      "internet_gateway_block": {
        "mode": {
          "@@assign": "block_ingress"
        },
        "exclusions_allowed": {
          "@@assign": "enabled"
        }
      }
    }
  }
}
```

Os campos disponíveis para este atributo são os seguintes:
+ `"internet_gateway"`:
  + `"mode"`:
    + `"off"`: o bloqueio de acesso público a VPC não está habilitado.
    + `"block_ingress"`: Todo o tráfego da Internet para o VPCs (exceto para VPCs as sub-redes que estão excluídas) está bloqueado. Apenas o tráfego de e para gateways NAT e gateways da Internet somente de saída é permitido porque esses gateways só permitem o estabelecimento de conexões de saída.
    + `"block_bidirectional"`: todo o tráfego de e para gateways de internet e gateways de internet somente de saída (exceto excluídos VPCs e sub-redes) está bloqueado.
+ `"exclusions_allowed"`: uma exclusão é um modo que pode ser aplicado a uma única VPC ou sub-rede, isentando-a do modo BPA da VPC da conta e permitindo acesso bidirecional ou somente de saída.
  + `"enabled"`: as exclusões podem ser criadas pela conta.
  + `"disabled"`: as exclusões não podem ser criadas pela conta.
**nota**  
É possível usar o atributo para configurar se as exclusões são permitidas, mas não é possível criar exclusões com o próprio atributo. Para criar exclusões, você deve criá-las na conta proprietária da VPC. Para obter mais informações sobre como criar exclusões de BPA na VPC, consulte [Criar e excluir exclusões](https://docs.aws.amazon.com//vpc/latest/userguide/security-vpc-bpa.html#security-vpc-bpa-exclusions) no *Manual do usuário da Amazon VPC*.

**Considerações**

Se você usar esse atributo em uma política declarativa, não poderá usar as operações a seguir para modificar a configuração imposta para as contas no escopo. Essa lista não é exaustiva:
+ `ModifyVpcBlockPublicAccessOptions`
+ `CreateVpcBlockPublicAccessExclusion`
+ `ModifyVpcBlockPublicAccessExclusion`

------
#### [ Serial Console Access ]

**Efeito da política**

Controla se o console de série do EC2 está acessível. Para obter mais informações sobre o console de série do EC2, consulte [Console de série do EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-serial-console.html) no *Guia do usuário do Amazon Elastic Compute Cloud*.

**Conteúdo da política**

```
{
  "ec2_attributes": {
    "serial_console_access": {
      "status": {
        "@@assign": "enabled"
      }
    }
  }
}
```

Os campos disponíveis para este atributo são os seguintes:
+ `"status"`:
  + `"enabled"`: o acesso ao console de série do EC2 é permitido. 
  + `"disabled"`: o acesso ao console de série do EC2 está bloqueado. 

**Considerações**

Se você usar esse atributo em uma política declarativa, não poderá usar as operações a seguir para modificar a configuração imposta para as contas no escopo. Essa lista não é exaustiva:
+ `EnableSerialConsoleAccess`
+ `DisableSerialConsoleAccess`

------
#### [ Image Block Public Access ]

**Efeito da política**

Controla se as Amazon Machine Images (AMIs) podem ser compartilhadas publicamente. Para obter mais informações sobre AMIs, consulte [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) no *Guia do usuário do Amazon Elastic Compute Cloud*.

**Conteúdo da política**

```
{
  "ec2_attributes": {
    "image_block_public_access": {
      "state": {
        "@@assign": "block_new_sharing"
      }
    }
  }
}
```

Os campos disponíveis para este atributo são os seguintes:
+ `"state"`:
  + `"unblocked"`: Sem restrições ao compartilhamento público de AMIs.
  + `"block_new_sharing"`: Bloqueia o novo compartilhamento público de AMIs. AMIs que já foram compartilhados publicamente permanecem disponíveis publicamente. 

**Considerações**

Se você usar esse atributo em uma política declarativa, não poderá usar as operações a seguir para modificar a configuração imposta para as contas no escopo. Essa lista não é exaustiva:
+ `EnableImageBlockPublicAccess`
+ `DisableImageBlockPublicAccess`

------
#### [ Allowed Images Settings ]

**Efeito da política**

Controla a descoberta e o uso de Amazon Machine Images (AMI) no Amazon EC2 com Allowed. AMIs Para obter mais informações sobre isso AMIs, consulte [Controle a descoberta e o uso de AMIs no Amazon EC2 com](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-allowed-amis.html) Allowed no Guia do AMIs usuário do *Amazon Elastic Compute Cloud.*

**Conteúdo da política**

Os campos disponíveis para este atributo são os seguintes:

```
{
  "ec2_attributes": {
    "allowed_images_settings": {
      "state": {
        "@@assign": "enabled"
      },
      "image_criteria": {
        "criteria_1": {
          "allowed_image_providers": {
            "@@append": [
              "amazon"
            ]
          }
        }
      }
    }
  }
}
```
+ `"state"`:
  + `"enabled"`: o atributo está ativo e em vigor.
  + `"disabled"`: o atributo está inativo e não está em vigor.
  + `"audit_mode"`: o atributo está no modo de auditoria. Isso significa que o sistema identificará imagens não conformes, mas não bloqueará o uso delas.
+ `"image_criteria"`: uma lista de critérios. Suporte para até 10 critérios com nomes de criteria\_1 a criteria\_10.
  + `"allowed_image_providers"`: uma lista separada por vírgulas da conta de 12 dígitos IDs ou alias do proprietário da amazon, aws\_marketplace, aws\_backup\_vault.
  + `"image_names"`: os nomes das imagens permitidas. Os nomes podem incluir curingas (? e \*). Comprimento: 1–128 caracteres. Com o caractere ?, o mínimo é de 3 caracteres.
  + `"marketplace_product_codes"`: Os códigos de produto do AWS Marketplace para imagens permitidas. Comprimento: 1-25 caracteres Caracteres válidos: letras (A-Z, a-z) e números (0-9)
  + `"creation_date_condition"`: idade máxima permitida para as imagens.
    + `"maximum_days_since_created"`: o número máximo de dias que se passaram desde que a imagem foi criada. Intervalo válido: valor mínimo de 0. Valor máximo de 2147483647.
  + `"deprecation_time_condition"`: o período máximo desde a descontinuação para imagens permitidas.
    + `"maximum_days_since_deprecated"`: o número máximo de dias que se passaram desde que a imagem foi descontinuada. Intervalo válido: valor mínimo de 0. Valor máximo de 2147483647.

**Considerações**

Se você usar esse atributo em uma política declarativa, não poderá usar as operações a seguir para modificar a configuração imposta para as contas no escopo. Essa lista não é exaustiva:
+ `EnableAllowedImagesSettings`
+ `ReplaceImageCriteriaInAllowedImagesSettings`
+ `DisableAllowedImagesSettings`

------
#### [ Instance Metadata ]

**Efeito da política**

Controla os padrões do IMDS e a aplicação do IMDSv2 para todas as novas inicializações de instâncias do EC2. *Para obter mais informações sobre os padrões e a IMDSv2 aplicação do IMDS, consulte [Usar metadados de instância para gerenciar sua instância do EC2 no Guia do usuário do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).*

**Conteúdo da política**

Os campos disponíveis para este atributo são os seguintes:

```
{
  "ec2_attributes": {
    "instance_metadata_defaults": {
      "http_tokens": {
        "@@assign": "required"
      },
      "http_put_response_hop_limit": {
        "@@assign": "4"
      },
      "http_endpoint": {
        "@@assign": "enabled"
      },
      "instance_metadata_tags": {
        "@@assign": "enabled"
      },
      "http_tokens_enforced": {
        "@@assign": "enabled"
      }
    }
  }
}
```
+ `"http_tokens"`:
  + `"no_preference"`: outros padrões se aplicam. Por exemplo, a AMI usa como padrão, se aplicável. 
  + `"required"`: IMDSv2 deve ser usado. IMDSv1 não é permitido. 
  + `"optional"`: Ambos IMDSv1 IMDSv2 são permitidos.
**nota**  
**Versão de metadados**  
Antes de `http_tokens` configurar como `required` (IMDSv2 deve ser usado), certifique-se de que nenhuma das suas instâncias esteja fazendo IMDSv1 chamadas. Para obter mais informações, consulte [Etapa 1: Identificar instâncias com IMDSv2 =opcional e auditar o IMDSv1 uso](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-transition-to-version-2.html#path-step-1) no Guia do usuário do *Amazon EC2*.
+ `"http_put_response_hop_limit"`:
  + `"{{Integer}}"`: valor inteiro de -1 a 64, representando o número máximo de saltos que o token de metadados pode percorrer. Para indicar que não há preferência, especifique -1.
**nota**  
**Limite de salto**  
Se `http_tokens` estiver definido como `required`, é recomendável definir `http_put_response_hop_limit` para um mínimo de 2. Para obter mais informações, consulte [Considerações sobre o acesso aos metadados da instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html#imds-considerations) no *Guia do usuário do Amazon Elastic Compute Cloud*.
+ `"http_endpoint"`:
  + `"no_preference"`: outros padrões se aplicam. Por exemplo, a AMI usa como padrão, se aplicável. 
  + `"enabled"`: o endpoint do serviço de metadados da instância está acessível.
  + `"disabled"`: o endpoint do serviço de metadados da instância não está acessível.
+ `"instance_metadata_tags"`:
  + `"no_preference"`: outros padrões se aplicam. Por exemplo, a AMI usa como padrão, se aplicável. 
  + `"enabled"`: as tags de instância podem ser acessadas a partir dos metadados da instância. 
  + `"disabled"`: as tags da instância não podem ser acessadas a partir dos metadados da instância.
+ `"http_tokens_enforced":`
  + `"no_preference"`: outros padrões se aplicam. Por exemplo, a AMI usa como padrão, se aplicável.
  + `"enabled"`: IMDSv2 deve ser usado. As tentativas de iniciar uma IMDSv1 instância ou ativá-la IMDSv1 em instâncias existentes falharão.
  + `"disabled"`: Ambos IMDSv1 IMDSv2 são permitidos.
**Atenção**  
**IMDSv2 fiscalização**  
Ativar a IMDSv2 fiscalização enquanto permite IMDSv1 e IMDSv2 (token opcional) causará falhas de inicialização, a menos que IMDSv1 seja explicitamente desativado, seja por meio de parâmetros de execução ou padrões da AMI. Para obter mais informações, consulte [Falha ao iniciar uma instância IMDSv1 habilitada](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/troubleshooting-launch.html#launching-an-imdsv1-enabled-instance-fails) no Guia do usuário do *Amazon EC2*.

------
#### [ Snapshot Block Public Access ]

**Efeito da política**

Controla se os snapshots do Amazon EBS estão acessíveis ao público. Consulte mais informações sobre snapshots do EBS, consulte [Snapshots do Amazon Elastic Block Store](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html) no *Guia do usuário do Amazon Elastic Block Store*.

**Conteúdo da política**

```
{
  "ec2_attributes": {
    "snapshot_block_public_access": {
      "state": {
        "@@assign": "block_new_sharing"
      }
    }
  }
}
```

Os campos disponíveis para este atributo são os seguintes:
+ `"state"`:
  + `"block_all_sharing"`: bloqueia todos os compartilhamentos públicos dos snapshots. Os snapshots que já foram compartilhados publicamente são tratados como privados e não estão mais disponíveis publicamente. 
  + `"block_new_sharing"`: bloqueia o novo compartilhamento público de snapshots. Os snapshots que já foram compartilhados publicamente permanecem disponíveis publicamente. 
  + `"unblocked"`: sem restrições ao compartilhamento público de snapshots. 

**Considerações**

Se você usar esse atributo em uma política declarativa, não poderá usar as operações a seguir para modificar a configuração imposta para as contas no escopo. Essa lista não é exaustiva:
+ `EnableSnapshotBlockPublicAccess`
+ `DisableSnapshotBlockPublicAccess`

------