---
name: azion-gerencie-o-acesso-condicional-por-endereco-ip
description: >-
  Crie, atualize e exclua a política que só permite o acesso à Azion a partir dos endereços IP que você lista, com a API da Azion.
---

# Gerencie o acesso condicional por endereço IP

**Preview**

Você pode gerenciar a política **Conditional Access by IP Address** pela API da Azion. A política guarda uma lista de endereços IP, e só os dispositivos que se conectam a partir desses endereços alcançam a plataforma. Enquanto a política está ativa, a Azion bloqueia o acesso de qualquer endereço IP fora da lista de permissões da organização. Para bloquear um usuário depois de tentativas de login malsucedidas, consulte [Configure Account Lockout Policy](/pt-br/documentacao/guias/seguranca-de-aplicacoes/acesso-e-compliance/configurar-account-lockout-policy/).

---

## Pré-requisitos

- Privilégios de *Account Owner* ou o privilégio *managing policies*. Uma requisição de um usuário sem nenhum dos dois retorna Erro 403.
- Uma conta com suporte **Enterprise** ou **Mission-Critical**. Para os níveis de suporte, consulte [Diretrizes de suporte](/pt-br/documentacao/suporte/).
- Um personal token para substituir `[Token]` em cada requisição. Para criar um, consulte [Gerencie personal tokens](/pt-br/documentacao/guias/plataforma/conta-e-billing/personal-tokens/).

A política que uma organização configura se aplica a todos os níveis de conta abaixo dela.

---

## Crie a política

Uma conta guarda *1 configuração desta política*, com até 200 regras. Uma regra aceita endereços IPv4 e IPv6. A busca ou a filtragem de políticas por um endereço IPv6 não é suportada.

O corpo da requisição recebe estas chaves:

| Chave        | Tipo             | Descrição                                                                                                                                                                                                                                                       |
| ------------ | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`       | String           | Nome da política de acesso condicional. Até *255 caracteres*.                                                                                                                                                                                                   |
| `active`     | Boolean          | Se a política está ativa. Valores aceitos: `true` e `false`.                                                                                                                                                                                                    |
| `rules`      | Array de objetos | As regras que definem o comportamento da política.                                                                                                                                                                                                              |
| `name`       | String           | Dentro do array `rules`, o nome de uma regra. Até *255 caracteres*.                                                                                                                                                                                             |
| `effect`     | String           | Efeito da regra. Valores aceitos: `allow` e `deny`.                                                                                                                                                                                                             |
| `resource`   | String           | O recurso ou os recursos aos quais a regra se aplica, como uma URN exata ou um padrão de correspondência. Valor aceito: `.*` (corresponde a todos os recursos). Este endpoint também aceita `platform` como recurso, que só define ações globais da plataforma. |
| `actions`    | Array de strings | A ação ou as ações às quais a regra se aplica. Valores aceitos: `create`, `retrieve`, `update` e `destroy`. Com `platform` como recurso, a única ação aceita é `access`.                                                                                        |
| `condition`  | Text             | As condições em que a regra se aplica.                                                                                                                                                                                                                          |
| `ip_address` | Array de strings | Os endereços IP que a condição avalia. Obrigatório quando o recurso é `platform`.                                                                                                                                                                               |

Envie uma requisição `POST` para o endpoint `auth/policies`:

```bash
curl --request POST \
  --url https://api.azion.com/v4/auth/policies \
  --header 'Accept: application/json' \
  --header 'Authorization: Token [TOKEN VALUE]' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "My Policy",
  "active": true,
  "rules": [
    {
      "name": "My policy rule",
      "effect": "allow",
      "resource": "platform",
      "actions": ["access"],
      "condition": {
        "ip_address": [
          "203.0.113.23",
          "198.51.100.0/24"
        ]
      }
    }
  ]
}'
```

A resposta é semelhante a esta:

```json
{
  "state": "executed",
  "data": {
    "id": 0,
    "name": "My Policy",
    "last_editor": "my_username",
    "last_modified": "2025-02-24T14:15:22Z",
    "active": true,
    "rules": [
      {
        "name": "My policy Rule",
        "effect": "allow",
        "resource": "platform",
        "actions": ["access"],
        "condition": {
          "ip_address": [
             "203.0.113.23",
          "198.51.100.0/24"
          ]
        }
      }
    ]
  }
}
```

A chave `state` informa o resultado da criação, e `id` identifica a política. A política está ativa. Um usuário que tenta acessar a plataforma a partir de um endereço IP fora da lista de permissões recebe HTTP 403.

O [Activity History](/pt-br/documentacao/guias/plataforma/conta-e-billing/activity-history/) registra toda tentativa de acesso de um usuário válido da conta, permitida ou negada, para auditoria e monitoramento.

A política não bloqueia o *Account Owner*. Essa exceção vem com medidas de segurança adicionais e impede que uma mudança de endereço IP ou da política bloqueie a conta.

---

## Liste as políticas

As requisições de atualização e de exclusão recebem o `id` de uma política, que esta lista retorna.

Envie uma requisição `GET` para o endpoint `auth/policies`:

```bash
curl --request GET \
  --url https://api.azion.com/v4/auth/policies \
  --header 'Accept: application/json' \
  --header 'Authorization: Token [TOKEN VALUE]'
```

A resposta é semelhante a esta:

```json
{
  "count": 123,
  "results": [
    {
      "id": 0,
      "name": "My policy",
      "last_editor": "my_username",
      "last_modified": "2025-02-24T14:15:22Z",
      "active": true,
      "rules": [
        {
          "name": "My policy rule",
          "effect": "allow",
          "resource": "platform",
          "actions": ["access"],
          "condition": {
            "ip_address": [
              "203.0.113.23",
              "198.51.100.0/24"
            ]
          }
        }
      ]
    }
  ]
}
```

Copie o `id` da política que você quer alterar ou remover.

---

## Atualize o status da política

Uma requisição `PUT` substitui todas as regras da política pelos dados do corpo. O exemplo define `"active": false`, o que desativa a política. Para alterar um ou mais campos e manter os outros como estão, envie uma requisição `PATCH`.

Envie uma requisição `PUT` para o endpoint `auth/policies/<id>`, com o `id` de [Liste as políticas](#liste-as-politicas) no lugar de `<id>`:

```bash
curl --request PUT \
  --url https://api.azion.com/v4/auth/policies/<id> \
  --header 'Accept: application/json' \
  --header 'Authorization: Token [TOKEN VALUE]' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "My policy",
  "active": false,
  "rules": [
    {
      "name": "My policy rule",
      "effect": "allow",
      "resource": "platform",
      "actions": ["access"],
      "condition": {
        "ip_address": [
              "203.0.113.23",
              "198.51.100.0/24"
            ]
      }
    }
  ]
}'
```

A resposta é semelhante a esta:

```json
{
  "state": "executed",
  "data": {
    "id": 0,
    "name": "My Policy",
    "last_editor": "my_username",
    "last_modified": "2025-02-24T14:15:22Z",
    "active": false,
    "rules": [
      {
        "name": "My policy Rule",
        "effect": "allow",
        "resource": "platform",
        "actions": ["access"],
        "condition": {
          "ip_address": [
            "203.0.113.23",
            "198.51.100.0/24"
          ]
        }
      }
    ]
  }
}
```

A resposta retorna `"active": false`, e a política deixa de filtrar o acesso por endereço IP.

---

## Exclua a política

Envie uma requisição `DELETE` para o endpoint `auth/policies/<id>`, com o `id` de [Liste as políticas](#liste-as-politicas) no lugar de `<id>`:

```bash
curl --request DELETE \
  --url https://api.azion.com/v4/auth/policies/<id> \
  --header 'Accept: application/json' \
  --header 'Authorization: Token [TOKEN VALUE]' \
  --header 'Content-Type: application/json'
```

A resposta é semelhante a esta:

```json
{
  "state": "exectuted",
  "data": {
    "id": 0,
    "name": "My policy",
    "last_editor": "my_username",
    "last_modified": "2025-02-24T14:15:22Z",
    "active": true,
    "rules": [
      {
        "name": "My policy rule",
        "effect": "allow",
        "resource": "platform",
        "actions": ["access"],
        "condition": {
            "ip_address": [
              "203.0.113.23",
              "198.51.100.0/24"
            ]
        }
      }
    ]
  }
}
```

A conta deixa de ter a política.

Para todos os endpoints que a API expõe, consulte a [referência da API da Azion](https://api.azion.com/).

---

## Próximos passos

- [Activity History](/pt-br/documentacao/guias/plataforma/conta-e-billing/activity-history.md): Revise as tentativas de acesso que a política permitiu e negou.
- [Configure Account Lockout Policy](/pt-br/documentacao/guias/seguranca-de-aplicacoes/acesso-e-compliance/configurar-account-lockout-policy.md): Bloqueie um usuário depois de tentativas de login malsucedidas.
- [Configure User Session Timeout](/pt-br/documentacao/guias/seguranca-de-aplicacoes/acesso-e-compliance/configurar-user-session-timeout.md): Encerre sessões ociosas e sessões longas na conta.
- [Solucionar problemas de acesso ao Azion Console](/pt-br/documentacao/suporte/acesso-a-conta.md): Recupere o acesso quando uma política ou um dispositivo perdido bloqueia um usuário.
