--- title: "POST | Criar política de acesso" slug: "api-v2-post-create-access-policy" updated: 2026-11-09T19:11:00Z published: 2026-11-09T19:11:00Z canonical: "docs.senhasegura.io/api-v2-post-create-access-policy" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.senhasegura.io/llms.txt > Use this file to discover all available pages before exploring further. # POST | Criar política de acesso ## Descrição Crie uma política de acesso no PAM Core. Uma única requisição define o nome da política, suas regras de senha e de sessão, o comportamento dos aprovadores, os critérios que determinam quais credenciais e dispositivos a política abrange e suas limitações de horário de acesso. --- ## Pré-requisitos - Uma aplicação com a autorização **Access Policy (V2)** concedida pelo administrador no A2A, com a **Permissão do recurso PAM** definida como **Leitura e escrita**. Para mais informações, acesse [Como gerenciar autorizações no A2A](/v4-2/docs/pt/how-to-manage-authorizations-in-a2a). - Um token de acesso OAuth 2.0 válido. Para mais informações, acesse [Como autenticar uma aplicação A2A](/v4-2/docs/pt/how-to-authenticate-an-application-in-a2a). - Os sites, tipos de dispositivo e tipos de credencial referenciados em `criteria` devem existir previamente. Info Um token de acesso carrega apenas as autorizações que existiam no momento em que foi gerado. Depois que o administrador habilitar a autorização **Access Policy (V2)**, gere um novo token para a aplicação — um token existente não passa a ter a nova autorização. --- ## Requisição `POST` `/api/v2/pam/access-policies` ### Cabeçalhos | Cabeçalho | Obrigatório | Descrição | | --- | --- | --- | | `Content-Type` | Sim | Deve ser `application/json`. | | `Idempotency-Key` | Não | UUID gerado pelo cliente que permite reenviar a requisição com segurança, sem criar políticas duplicadas. | ### Corpo da requisição | Campo | Tipo | Obrigatório | Descrição | | --- | --- | --- | --- | | `name` | string | Sim | Nome da política de acesso. Espaços no início e no fim são removidos e o resultado não pode ser vazio. | | `description` | string | Não | Descrição da política de acesso. Retorna `null` quando não informada. | | `password` | object | — | Regras de acesso a senhas. Consulte [Password](/v4-2/docs/pt/api-v2-post-create-access-policy#password). | | `session` | object | — | Regras de acesso a sessões. Consulte [Session](/v4-2/docs/pt/api-v2-post-create-access-policy#session). | | `approvers_config` | object | — | Comportamento dos aprovadores. Consulte [Approvers config](/v4-2/docs/pt/api-v2-post-create-access-policy#approvers-config). | | `criteria` | object | — | Regras que determinam quais recursos a política abrange. Consulte [Criteria](/v4-2/docs/pt/api-v2-post-create-access-policy#criteria). | | `access_limitation` | object | — | Restrições de horário aplicadas à política. Consulte [Access limitation](/v4-2/docs/pt/api-v2-post-create-access-policy#access-limitation). | Info O estado `active` não pode ser definido aqui. Uma política é ativada e desativada por meio de [POST | Ativar política de acesso](/v4-2/docs/pt/api-v2-post-activate-access-policy) e [POST | Desativar política de acesso](/v4-2/docs/pt/api-v2-post-deactivate-access-policy). #### Password | Campo | Tipo | Descrição | | --- | --- | --- | | `password.allow_view` | boolean | Habilita a visualização da senha. | | `password.view_mode` | string | Quanto da senha é exibido. Valores permitidos: `complete`, `first_part`, `second_part`. | | `password.require_reason` | boolean | Exige que o usuário informe uma justificativa. | | `password.require_approval` | boolean | Exige aprovação antes de o acesso ser concedido. | | `password.approvals_required` | number | Número de aprovações necessárias para conceder o acesso. | | `password.disapprovals_to_cancel` | number | Número de reprovações que cancelam a solicitação. | | `password.approval_in_levels` | boolean | Habilita a aprovação por níveis. | | `password.allow_emergency_access` | boolean | Habilita o acesso emergencial. | | `password.allow_change_expiration` | boolean | Permite alterar a expiração do acesso. | | `password.change_expiration_minutes` | number | Tempo máximo de expiração, em minutos. | | `password.require_approval_days` | boolean | Restringe a aprovação a dias específicos. | | `password.approval_days` | array[string] | Dias em que a aprovação é aceita. | | `password.approval_times` | array[string] | Janelas de horário em que a aprovação é aceita. | | `password.approval_custom_times` | array[object] | Janelas de horário de aprovação personalizadas. | #### Session | Campo | Tipo | Descrição | | --- | --- | --- | | `session.allow_start` | boolean | Habilita o início de sessões. | | `session.block_during_freezing` | boolean | Bloqueia sessões durante o freezing. | | `session.require_reason` | boolean | Exige que o usuário informe uma justificativa. | | `session.require_approval` | boolean | Exige aprovação antes de a sessão ser iniciada. | | `session.approvals_required` | number | Número de aprovações necessárias para iniciar a sessão. | | `session.disapprovals_to_cancel` | number | Número de reprovações que cancelam a solicitação. | | `session.approval_in_levels` | boolean | Habilita a aprovação por níveis. | | `session.allow_emergency_access` | boolean | Habilita o acesso emergencial. | | `session.require_change_id` | boolean | Exige um Change Audit ID para iniciar a sessão. | | `session.require_approval_days` | boolean | Restringe a aprovação a dias específicos. | | `session.approval_days` | array[string] | Dias em que a aprovação é aceita. | | `session.approval_times` | array[string] | Janelas de horário em que a aprovação é aceita. | | `session.approval_custom_times` | array[object] | Janelas de horário de aprovação personalizadas. | #### Approvers config | Campo | Tipo | Descrição | | --- | --- | --- | | `approvers_config.governance_id_required` | boolean | Exige um Governance ID na solicitação de acesso. | | `approvers_config.always_add_user_manager` | boolean | Adiciona automaticamente o gestor do usuário como aprovador. | #### Criteria O objeto `criteria` contém as regras que determinam quais recursos a política abrange. Os critérios são combinados com lógica AND; os valores dentro de cada array são combinados com lógica OR. Um array vazio desabilita o critério. | Campo | Tipo | Descrição | | --- | --- | --- | | `criteria.site_ids` | array[number] | Códigos de identificação dos sites abrangidos pela política. | | `criteria.device_type_ids` | array[number] | Códigos de identificação dos tipos de dispositivo abrangidos pela política. | | `criteria.credential_type_ids` | array[number] | Códigos de identificação dos tipos de credencial abrangidos pela política. | | `criteria.devices` | array[string] | Hostnames dos dispositivos abrangidos pela política. | | `criteria.products` | array[string] | Produtos ou modelos abrangidos pela política. | | `criteria.usernames` | array[string] | Nomes de usuário abrangidos pela política. | | `criteria.additional_information` | array[string] | Valores de informações adicionais abrangidos pela política. | | `criteria.device_tags` | array[string] | Tags de dispositivo abrangidas pela política. | | `criteria.credential_tags` | array[string] | Tags de credencial abrangidas pela política. | Info O filtro por fabricante do dispositivo não está disponível nesta versão da API. A interface web oferece esse critério, portanto políticas que dependem dele não podem ser criadas nem editadas pela API. #### Access limitation | Campo | Tipo | Descrição | | --- | --- | --- | | `access_limitation.days` | array[string] | Dias em que o acesso é permitido. Valores permitidos: `all`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`. | | `access_limitation.times` | array[string] | Janelas de horário em que o acesso é permitido. Valores permitidos: `all`, `00:00-04:00`, `04:00-08:00`, `08:00-12:00`, `12:00-16:00`, `16:00-20:00`, `20:00-00:00`. | | `access_limitation.custom_times` | array[object] | Janelas de horário personalizadas em que o acesso é permitido. | | `access_limitation.period_start` | datetime | Início do período em que a política se aplica. `null` significa sem restrição. | | `access_limitation.period_end` | datetime | Fim do período em que a política se aplica. `null` significa sem restrição. | --- ### Exemplo de requisição `POST` `{{url}}/api/v2/pam/access-policies` #### Corpo ``` { "name": "PAM Administrators", "description": "Full access for PAM admins.", "password": { "allow_view": true, "view_mode": "complete", "require_reason": false, "require_approval": true, "approvals_required": 1, "disapprovals_to_cancel": 1, "approval_in_levels": true, "allow_emergency_access": true, "allow_change_expiration": true, "change_expiration_minutes": 30, "require_approval_days": false }, "session": { "allow_start": true, "block_during_freezing": false, "require_reason": true, "require_approval": true, "approvals_required": 1, "disapprovals_to_cancel": 1, "approval_in_levels": true, "allow_emergency_access": true, "require_change_id": true, "require_approval_days": true, "approval_days": ["all"], "approval_times": ["all"] }, "approvers_config": { "governance_id_required": true, "always_add_user_manager": true }, "criteria": { "site_ids": [1], "device_type_ids": [3], "credential_type_ids": [5], "device_tags": ["prod"], "credential_tags": ["finance"] }, "access_limitation": { "days": ["all"], "times": ["all"], "period_start": null, "period_end": null } } ``` --- ## Resposta ``` HTTP/1.1 201 Created Location: /api/v2/pam/access-policies/3001 ETag: "v1" ``` O cabeçalho `Location` contém o caminho da política criada e o cabeçalho `ETag` contém sua versão atual. Guarde o valor do `ETag` — [PUT | Atualizar política de acesso por [id]](/v4-2/docs/pt/api-v2-put-update-access-policy), [PATCH | Atualizar parcialmente a política de acesso por [id]](/v4-2/docs/pt/api-v2-patch-update-access-policy) e [DELETE | Excluir política de acesso por [id]](/v4-2/docs/pt/api-v2-delete-access-policy) o utilizam no cabeçalho `If-Match` para detectar alterações concorrentes. ### Exemplo de corpo da resposta ``` { "data": { "id": 3001, "access_policy": { "name": "PAM Administrators", "active": true, "description": "Full access for PAM admins." }, "password": { "allow_view": true, "view_mode": "complete", "require_reason": false, "require_approval": true, "approvals_required": 1, "disapprovals_to_cancel": 1, "approval_in_levels": true, "allow_emergency_access": true, "allow_change_expiration": true, "change_expiration_minutes": 30, "require_approval_days": false, "approval_days": [], "approval_times": [], "approval_custom_times": [] }, "session": { "allow_start": true, "block_during_freezing": false, "require_reason": true, "require_approval": true, "approvals_required": 1, "disapprovals_to_cancel": 1, "approval_in_levels": true, "allow_emergency_access": true, "require_change_id": true, "require_approval_days": true, "approval_days": ["all"], "approval_times": ["all"], "approval_custom_times": [] }, "approvers_config": { "governance_id_required": true, "always_add_user_manager": true }, "criteria": { "site_ids": [1], "device_type_ids": [3], "credential_type_ids": [5], "devices": [], "products": [], "usernames": [], "additional_information": [], "device_tags": ["prod"], "credential_tags": ["finance"] }, "access_limitation": { "days": ["all"], "times": ["all"], "custom_times": [], "period_start": null, "period_end": null } }, "meta": { "links": { "self": "/api/v2/pam/access-policies/3001" }, "actions": { "deactivate": "/api/v2/pam/access-policies/3001/deactivate" } } } ``` --- ## Campos do corpo da resposta | Campo | Tipo | Descrição | | --- | --- | --- | | `data` | object | A política de acesso criada. | | `data.id` | integer | Código de identificação único da política de acesso, atribuído pelo Segura™. | | `data.access_policy` | object | Atributos principais da política de acesso. | | `data.access_policy.name` | string | Nome da política de acesso. | | `data.access_policy.active` | boolean | Indica se a política está ativa. | | `data.access_policy.description` | string | Descrição da política de acesso. Retorna `null` quando não informada. | | `data.password` | object | Regras de acesso a senhas. Os campos correspondem aos do corpo da requisição, com os arrays não definidos retornados vazios. | | `data.session` | object | Regras de acesso a sessões. Os campos correspondem aos do corpo da requisição, com os arrays não definidos retornados vazios. | | `data.approvers_config` | object | Comportamento dos aprovadores. Os campos correspondem aos do corpo da requisição. | | `data.criteria` | object | Regras abrangidas pela política. Os nove critérios são retornados, com os não definidos como arrays vazios. | | `data.access_limitation` | object | Restrições de horário aplicadas à política. | | `meta` | object | Metadados do recurso. | | `meta.links` | object | Links de navegação para o recurso criado. | | `meta.links.self` | string | Caminho da política de acesso criada. | | `meta.actions` | object | Ações disponíveis para a política em seu estado atual. Uma política criada como ativa oferece `deactivate`. | | `meta.actions.deactivate` | string | Caminho utilizado para desativar a política. | --- ## Erros | Código HTTP | Mensagem | Causa possível | Solução | | --- | --- | --- | --- | | `400` | `api.request.malformed` | O corpo da requisição não é um JSON válido. | Verifique a sintaxe do corpo e reenvie a requisição. | | `401` | `api.auth.token.invalid` | O token de acesso está ausente ou expirou. | Solicite um novo token de acesso. | | `403` | `api.permission.denied` | A autorização não tem permissão para criar políticas de acesso. | Peça ao administrador para verificar a autorização **Access Policy (V2)** e a **Permissão do recurso PAM** no A2A e gere um novo token. | | `422` | `api.validation.required_field` | Um campo obrigatório está ausente no corpo da requisição. | Adicione o campo ausente e reenvie a requisição. | | `422` | `api.validation.invalid_reference` | Um site, tipo de dispositivo ou tipo de credencial referenciado não existe. | Verifique os códigos de identificação enviados em `criteria`. | | `422` | `api.enum.invalid_value` | Um campo recebeu um valor fora da lista de valores permitidos. | Verifique os valores permitidos para o campo e reenvie a requisição. | | `429` | `rate_limit_exceeded` | O limite de requisições foi excedido. | Reduza a frequência de requisições e tente novamente. | | `500` | `api.internal.error` | Erro interno do servidor. | Entre em contato com a equipe de suporte da Segura™. | Para mensagens de erros de autenticação e a política de `403` versus `404`, acesse [API v2 - Convenções e comportamentos compartilhados](/v4-2/docs/pt/api-v2-conventions-and-shared-behaviors).