

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á.

# Políticas do Acesso Verificado
<a name="auth-policies"></a>

Acesso Verificado pela AWS as políticas permitem que você defina regras para acessar seus aplicativos hospedados em AWS. Eles são escritos em cedro, uma linguagem AWS política. Usando o Cedar, você pode criar políticas que são avaliadas em relação aos dados de confiança enviados pelos provedores de confiança baseados em identidade ou dispositivos que você configura para usar com o Acesso Verificado.

Para obter informações mais detalhadas sobre a linguagem política do Cedar, consulte o [Guia de referência do Cedar](https://docs.cedarpolicy.com/).

Ao [criar um grupo de Acesso Verificado](create-verified-access-group.md) ou [criar um endpoint de Acesso Verificado](verified-access-endpoints.md), você tem a opção de definir a política do Acesso Verificado. Você pode criar um grupo ou endpoint sem definir a política do Acesso Verificado, mas todas as solicitações de acesso serão bloqueadas até que você defina uma política. Você também pode adicionar ou alterar uma política em um grupo ou endpoint existente do Acesso Verificado após sua criação.

**Topics**
+ [Declarações de política](auth-policies-policy-statement-struct.md)
+ [Operadores integrados](built-in-policy-operators.md)
+ [Avaliação de políticas](auth-policies-policy-eval.md)
+ [Curto-circuito da lógica de políticas](auth-policies-policy-eval-short-circ.md)
+ [Exemplo de política](trust-data-iam-add-pol.md)
+ [Assistente de políticas](policy-assistant.md)

# Estrutura de declarações de política do Acesso Verificado
<a name="auth-policies-policy-statement-struct"></a>

A tabela a seguir mostra a estrutura de uma política do Acesso Verificado.


| Componente | Sintaxe | 
| --- | --- | 
| efeito; | `permit \| forbid` | 
| scope | `(principal, action, resource)` | 
| Cláusula de condição | <pre>when {<br />    context.policy-reference-name.attribute-name             <br />};</pre>  | 

## Componentes da política
<a name="auth-policies-policy-components"></a>

Uma política do Acesso Verificado contém os seguintes componentes:
+ **Efeito**: permite (`permit`) ou nega (`forbid`) o acesso.
+ **Escopo**: a entidade principal, as ações e os recursos aos quais o efeito se aplica. Você pode deixar o escopo no Cedar indefinido ao não identificar entidades principais, ações ou recursos específicos. Nesse caso, a política se aplica a todos os principais, ações e recursos possíveis.
+ **Cláusula de condição**: o contexto no qual o efeito se aplica.

**Importante**  
Para Acesso Verificado, as políticas são totalmente expressas referindo-se aos dados de confiança na cláusula condicional. **O escopo da política deve sempre ser mantido indefinido**. Em seguida, você pode especificar o acesso usando o contexto de confiança da identidade e do dispositivo na cláusula condicional.

## Comentários
<a name="auth-policies-policy-comments"></a>

Você pode incluir comentários em suas Acesso Verificado pela AWS políticas. Os comentários são definidos como uma linha que começa com `//` e termina com um caractere de nova linha.

O exemplo a seguir mostra comentários em uma política.

```
// grants access to users in a specific domain using trusted devices
permit(principal, action, resource)
when {
  // the user's email address is in the @example.com domain
  context.idc.user.email.address.contains("@example.com")
  // Jamf thinks the user's computer is low risk or secure.
  && ["LOW", "SECURE"].contains(context.jamf.risk)
};
```

## Cláusulas múltiplas
<a name="auth-policies-multiple-clauses"></a>

Você pode usar mais de uma cláusula de condição em uma declaração de política usando o operador `&&`.

```
permit(principal,action,resource)
when{
 context.policy-reference-name.attribute1 &&
 context.policy-reference-name.attribute2
};
```

Para obter exemplos adicionais, consulte [Exemplos de políticas do Acesso Verificado](trust-data-iam-add-pol.md).

## Caracteres reservados
<a name="auth-policies-semicolon"></a>

O exemplo a seguir mostra como escrever uma política se uma propriedade de contexto usar `:` (ponto e vírgula), que é um caractere reservado na linguagem da política.

```
permit(principal, action, resource) 
when {
    context.policy-reference-name["namespace:groups"].contains("finance")
};
```

# Operadores integrados para políticas do Acesso Verificado
<a name="built-in-policy-operators"></a>

Ao criar o contexto de uma Acesso Verificado pela AWS política usando várias condições, conforme discutido em[Estrutura de declarações de política do Acesso Verificado](auth-policies-policy-statement-struct.md), você pode usar o `&&` operador para adicionar outras condições. Há também muitos outros operadores integrados que você pode usar para adicionar mais poder expressivo às condições da sua política. A tabela a seguir contém todos os operadores integrados para referência.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/verified-access/latest/ug/built-in-policy-operators.html)

# Avaliação de políticas do Acesso Verificado
<a name="auth-policies-policy-eval"></a>

Um documento de política é um conjunto de uma ou mais declarações de política (declarações `permit` ou `forbid`). A política se aplicará se a cláusula condicional (a declaração `when`) for verdadeira. Para que um documento de política permita o acesso, pelo menos uma política de permissão no documento deve ser aplicada e nenhuma política de proibição pode ser aplicada. Se nenhuma política de permissão for aplicada, and/or uma ou mais políticas proibidas se aplicarão, o documento de política negará o acesso. Se você definiu documentos de política para o grupo de acesso verificado e o endpoint de acesso verificado, ambos os documentos devem permitir o acesso. Se você não definiu um documento de política para o endpoint de acesso verificado, somente a política de grupo de acesso verificado precisará permitir o acesso.

Acesso Verificado pela AWS valida a sintaxe ao criar a política, mas não valida os dados inseridos na cláusula condicional.

# Curto-circuito da lógica de políticas do Acesso Verificado
<a name="auth-policies-policy-eval-short-circ"></a>

Talvez você queira escrever uma Acesso Verificado pela AWS política que avalie dados que podem ou não estar presentes em um determinado contexto. Se você referenciar dados em um contexto que não existe, o Cedar produzirá um erro e avaliará a política para negar o acesso, independentemente da sua intenção. Por exemplo, isso resultaria em uma negação, pois `fake_provider` e `bogus_key` não existem nesse contexto.

```
permit(principal, action, resource) when {
  context.fake_provider.bogus_key > 42
};
```

Para evitar essa situação, você pode verificar se uma chave está presente usando o operador `has`. Se o operador `has` retornar falso, a avaliação adicional da declaração encadeada será interrompida e o Cedar não produzirá um erro ao tentar referenciar um item que não existe.

```
permit(principal, action, resource) when {
  context.identity.user has "some_key" && context.identity.user.some_key > 42
};
```

Isso é mais útil ao especificar uma política que faz referência a dois provedores de confiança diferentes.

```
permit(principal, action, resource) when {
  // user is in an allowed group
  context.aws_idc.groups has "c242c5b0-6081-1845-6fa8-6e0d9513c107"
  &&( 
    ( 
      // if CrowdStrike data is present, 
      // permit if CrowdStrike's overall assessment is over 50
      context has "crowdstrike" && context.crowdstrike.assessment.overall > 50
    )
    || 
    (
      // if Jamf data is present,
      // permit if Jamf's risk score is acceptable
      context has "jamf" && ["LOW", "NOT_APPLICABLE", "MEDIUM", "SECURE"].contains(context.jamf.risk) 
    )
  )
};
```

# Exemplos de políticas do Acesso Verificado
<a name="trust-data-iam-add-pol"></a>

Você pode usar as políticas do Acesso Verificado para conceder acesso às aplicações para usuários e dispositivos específicos.

**Topics**
+ [Exemplo 1: conceder acesso a um grupo do Centro de Identidade do IAM](#example-policy-iam-identity-center)
+ [Exemplo 2: conceder acesso a um grupo em um provedor de terceiros](#example-policy-oidc-provider)
+ [Exemplo 3: Conceder acesso usando CrowdStrike](#example-policy-crowdstrike)
+ [Exemplo 4: permitir ou negar um endereço IP específico](#example-policy-ip-address)

## Exemplo 1: conceder acesso a um grupo do Centro de Identidade do IAM
<a name="example-policy-iam-identity-center"></a>

Ao usar Centro de Identidade do AWS IAM, é melhor se referir aos grupos usando seus IDs. Isso ajuda a evitar a violação de uma declaração de política se você alterar o nome do grupo.

O exemplo de política a seguir permite acesso somente aos usuários do grupo especificado que têm um endereço de e-mail verificado. O ID do grupo é c242c5b0-6081-1845-6fa8-6e0d9513c107.

```
permit(principal,action,resource)
when {
    context.policy-reference-name.groups has "c242c5b0-6081-1845-6fa8-6e0d9513c107"
    && context.policy-reference-name.user.email.verified == true
};
```

O exemplo de política a seguir permite acesso somente quando o usuário está no grupo especificado, o usuário tem um endereço de e-mail verificado e a pontuação de risco do dispositivo Jamf é `LOW`.

```
permit(principal,action,resource)
when {
    context.policy-reference-name.groups has "c242c5b0-6081-1845-6fa8-6e0d9513c107"
    && context.policy-reference-name.user.email.verified == true
    && context.jamf.risk == "LOW"
};
```

Para ter mais informações sobre dados de confiança, consulte [Centro de Identidade do AWS IAM contexto para dados de confiança do Verified Access](trust-data-iam.md).

## Exemplo 2: conceder acesso a um grupo em um provedor de terceiros
<a name="example-policy-oidc-provider"></a>

O exemplo de política a seguir permite acesso somente quando o usuário está no grupo especificado, o usuário tem um endereço de e-mail verificado e a pontuação de risco do dispositivo Jamf é LOW. O nome do grupo é “finance”.

```
permit(principal,action,resource)
when {
     context.policy-reference-name.groups.contains("finance") 
     && context.policy-reference-name.email_verified == true
     && context.jamf.risk == "LOW"
};
```

Para ter mais informações sobre dados de confiança, consulte [Contexto de provedor de confiança de terceiros para dados de confiança do Acesso Verificado](trust-data-third-party-trust.md).

## Exemplo 3: Conceder acesso usando CrowdStrike
<a name="example-policy-crowdstrike"></a>

O exemplo de política a seguir permite acesso quando a pontuação geral da avaliação é maior que 50.

```
permit(principal,action,resource)
when {
    context.crwd.assessment.overall > 50 
};
```

## Exemplo 4: permitir ou negar um endereço IP específico
<a name="example-policy-ip-address"></a>

O exemplo de política a seguir permite solicitações HTTP do endereço IP especificado.

```
permit(principal, action, resource) 
when {
    context.http_request.client_ip == "192.0.2.1"
};
```

O exemplo de política a seguir nega solicitações HTTP do endereço IP especificado.

```
forbid(principal,action,resource) 
when { 
    ip(context.http_request.client_ip).isInRange(ip("192.0.2.1/32")) 
};
```

O exemplo de política a seguir permite solicitações TCP do endereço IP especificado.

```
permit(principal, action, resource) 
when {
    context.tcp_flow.client_ip == "192.0.2.1"
};
```

# Assistente de políticas do Acesso Verificado
<a name="policy-assistant"></a>

O assistente de políticas do Acesso Verificado é uma ferramenta no console do Acesso Verificado que você pode usar para testar e desenvolver as políticas. Ele apresenta a política de endpoint, a política de grupo e o contexto de confiança em uma tela, na qual você pode testar e editar as políticas.

Os formatos do contexto de confiança variam entre os diferentes provedores de confiança e, às vezes, o administrador do Acesso Verificado pode não saber o formato exato que um determinado provedor de confiança usa. É por isso que pode ser muito útil ver o contexto de confiança e as políticas de grupo e de endpoint em um só lugar para fins de teste e desenvolvimento.

As seções a seguir descrevem os princípios do uso do editor de políticas.

**Topics**
+ [Etapa 1: especificar os recursos](#specify-resources)
+ [Etapa 2: testar e editar as políticas](#test-and-edit)
+ [Etapa 3: revisar e aplicar as alterações](#review-and-commit)

## Etapa 1: especificar os recursos
<a name="specify-resources"></a>

Na primeira página do assistente de políticas, especifique o endpoint do Acesso Verificado que você deseja usar. Você também especificará um usuário (identificado pelo endereço de e-mail) e, opcionalmente, o nome do usuário, and/or um identificador de dispositivo. Por padrão, a decisão de autorização mais recente é extraída dos logs do Acesso Verificado do usuário especificado. Opcionalmente, você pode escolher especificamente a decisão mais recente de permissão *ou* negação.

Por fim, o contexto de confiança, a decisão de autorização, a política de endpoint e a política de grupo serão todos exibidos na próxima tela. 

**Para abrir o assistente de políticas e especificar seus recursos**

1. Abra o console da Amazon VPC em [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação, escolha **Instâncias do Acesso Verificado** e clique no **ID da instância do Acesso Verificado** para a instância com a qual você deseja trabalhar.

1. Escolha **Iniciar assistente de políticas**.

1. Em **Endereço de e-mail do usuário**, insira o endereço de e-mail do usuário.

1. Em **Endpoint do Acesso Verificado**, selecione o endpoint para o qual você deseja editar e testar as políticas.

1. (Opcional) Em **Nome**, forneça o nome do usuário.

1. (Opcional) Em **Identificador do dispositivo**, forneça o identificador exclusivo do dispositivo.

1. (Opcional) Em **Resultado da autorização**, escolha o tipo de resultado da autorização recente que você deseja usar. Por padrão, o resultado da autorização mais recente será usado.

1. Escolha **Próximo**.

## Etapa 2: testar e editar as políticas
<a name="test-and-edit"></a>

Nesta página, você receberá as seguintes informações com as quais trabalhar:
+ O contexto de confiança enviado pelo seu provedor de confiança para o usuário e (opcionalmente) para o dispositivo que você especificou na etapa anterior.
+ A política do Cedar para o endpoint do Acesso Verificado especificada na etapa anterior.
+ A política do Cedar para o grupo do Acesso Verificado ao qual o endpoint pertence.

As políticas do Cedar para o endpoint e o grupo do Acesso Verificado podem ser editadas nesta página, mas o contexto de confiança é estático. Agora você pode usar esta página para visualizar o contexto de confiança junto com as políticas do Cedar.

Teste as políticas em relação ao contexto de confiança escolhendo o botão **Testar políticas** e o resultado da autorização será exibido na tela. Você pode fazer edições nas políticas e testar novamente suas alterações, repetindo o processo conforme necessário.

Quando as alterações feitas nas políticas estiverem satisfatórias, escolha **Avançar** para continuar na próxima tela do assistente de políticas.

## Etapa 3: revisar e aplicar as alterações
<a name="review-and-commit"></a>

Na página final do assistente de políticas, as alterações feitas nas políticas serão destacadas para facilitar a revisão. Agora você pode revisar as políticas pela última vez e escolher **Aplicar alterações** para confirmá-las.

Você também tem a opção de voltar à página anterior escolhendo **Anterior** ou cancelar completamente o assistente de políticas escolhendo **Cancelar**.