--- title: "PUT | Atualizar política de acesso por [id]" slug: "api-v2-put-update-access-policy" updated: 2026-11-03T14:47:50Z published: 2026-11-03T14:47:50Z canonical: "docs.senhasegura.io/api-v2-put-update-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. # PUT | Atualizar política de acesso por [id] ## Descrição Atualize todas as configurações de uma política de acesso no PAM Core. O corpo da requisição tem a mesma estrutura de [POST | Criar política de acesso](/v4-2/docs/pt/api-v2-post-create-access-policy). Atenção Toda configuração não enviada no corpo da requisição é redefinida, incluindo as configurações dos namespaces que você omitir por completo. Para alterar apenas alguns campos e manter os demais inalterados, utilize [PATCH | Atualizar parcialmente a política de acesso por [id]](/v4-2/docs/pt/api-v2-patch-update-access-policy). Para alterar apenas se a política está ativa, utilize [POST | Ativar política de acesso](/v4-2/docs/pt/api-v2-post-activate-access-policy) ou [POST | Desativar política de acesso](/v4-2/docs/pt/api-v2-post-deactivate-access-policy). O estado `active` não é afetado por este endpoint. --- ## 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). - O valor atual do `ETag` da política de acesso, retornado por [GET | Listar uma política de acesso por [id]](/v4-2/docs/pt/api-v2-get-list-an-access-policy) e por todas as operações de escrita na política. - 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 `PUT` `/api/v2/pam/access-policies/{id}` ### Parâmetros de caminho | Campo | Tipo | Obrigatório | Descrição | | --- | --- | --- | --- | | `id` | integer | Sim | Código de identificação único da política de acesso. **Nota:** este valor é atribuído pelo Segura™ em [POST \| Criar política de acesso](/v4-2/docs/pt/api-v2-post-create-access-policy). | ### Cabeçalhos | Cabeçalho | Obrigatório | Descrição | | --- | --- | --- | | `Content-Type` | Sim | Deve ser `application/json`. | | `If-Match` | Sim | Valor do `ETag` da versão da política que está sendo atualizada. A requisição é rejeitada com `412` quando o valor não corresponde à versão atual da política. | ### Corpo da requisição O corpo da requisição tem a mesma estrutura de [POST | Criar política de acesso](/v4-2/docs/pt/api-v2-post-create-access-policy). Acesse esse artigo para consultar as tabelas completas de campos dos namespaces `password`, `session`, `approvers_config`, `criteria` e `access_limitation`. | 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. Redefinida como `null` quando não enviada. | | `password` | object | — | Regras de acesso a senhas. Redefinidas quando não enviadas. | | `session` | object | — | Regras de acesso a sessões. Redefinidas quando não enviadas. | | `approvers_config` | object | — | Comportamento dos aprovadores. Redefinido quando não enviado. | | `criteria` | object | — | Regras que determinam quais recursos a política abrange. Redefinidas quando não enviadas. | | `access_limitation` | object | — | Restrições de horário aplicadas à política. Redefinidas quando não enviadas. | --- ### Exemplo de requisição `PUT` `{{url}}/api/v2/pam/access-policies/3001` #### Cabeçalhos ``` Content-Type: application/json If-Match: "v1" ``` #### Corpo ``` { "name": "PAM Administrators - Updated", "description": "Updated description.", "password": { "allow_view": true, "view_mode": "complete", "require_reason": true, "require_approval": true, "approvals_required": 2, "disapprovals_to_cancel": 1, "approval_in_levels": true, "allow_emergency_access": false, "allow_change_expiration": true, "change_expiration_minutes": 60, "require_approval_days": false }, "session": { "allow_start": true, "block_during_freezing": true, "require_reason": true, "require_approval": true, "approvals_required": 2, "disapprovals_to_cancel": 1, "approval_in_levels": true, "allow_emergency_access": false, "require_change_id": true, "require_approval_days": false }, "approvers_config": { "governance_id_required": true, "always_add_user_manager": false }, "criteria": { "site_ids": [1, 2], "device_type_ids": [3], "credential_type_ids": [5], "device_tags": ["prod", "staging"] }, "access_limitation": { "days": ["monday", "tuesday", "wednesday", "thursday", "friday"], "times": ["08:00-18:00"], "period_start": null, "period_end": null } } ``` --- ## Resposta ``` HTTP/1.1 200 OK ETag: "v2" ``` O cabeçalho `ETag` contém a nova versão da política. Utilize esse valor no cabeçalho `If-Match` da próxima operação de escrita. ### Exemplo de corpo da resposta ``` { "data": { "id": 3001, "access_policy": { "name": "PAM Administrators - Updated", "active": true, "description": "Updated description." }, "password": { "allow_view": true, "view_mode": "complete", "require_reason": true, "require_approval": true, "approvals_required": 2, "disapprovals_to_cancel": 1, "approval_in_levels": true, "allow_emergency_access": false, "allow_change_expiration": true, "change_expiration_minutes": 60, "require_approval_days": false, "approval_days": [], "approval_times": [], "approval_custom_times": [] }, "session": { "allow_start": true, "block_during_freezing": true, "require_reason": true, "require_approval": true, "approvals_required": 2, "disapprovals_to_cancel": 1, "approval_in_levels": true, "allow_emergency_access": false, "require_change_id": true, "require_approval_days": false, "approval_days": [], "approval_times": [], "approval_custom_times": [] }, "approvers_config": { "governance_id_required": true, "always_add_user_manager": false }, "criteria": { "site_ids": [1, 2], "device_type_ids": [3], "credential_type_ids": [5], "devices": [], "products": [], "usernames": [], "additional_information": [], "device_tags": ["prod", "staging"], "credential_tags": [] }, "access_limitation": { "days": ["monday", "tuesday", "wednesday", "thursday", "friday"], "times": ["08:00-18:00"], "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" } } } ``` Neste exemplo, `credential_tags` foi omitido da requisição e retorna como um array vazio, o comportamento de redefinição descrito acima. --- ## Campos do corpo da resposta A resposta retorna a política de acesso completa, com os mesmos campos de [GET | Listar uma política de acesso por [id]](/v4-2/docs/pt/api-v2-get-list-an-access-policy). Acesse esse artigo para consultar as tabelas completas de campos. | Campo | Tipo | Descrição | | --- | --- | --- | | `data` | object | A política de acesso atualizada. | | `data.id` | integer | Código de identificação único da política de acesso. | | `data.access_policy` | object | Atributos principais da política de acesso. | | `data.password` | object | Regras de acesso a senhas após a atualização. | | `data.session` | object | Regras de acesso a sessões após a atualização. | | `data.approvers_config` | object | Comportamento dos aprovadores após a atualização. | | `data.criteria` | object | Regras abrangidas pela política após a atualização. | | `data.access_limitation` | object | Restrições de horário aplicadas à política após a atualização. | | `meta` | object | Metadados do recurso. | | `meta.links.self` | string | Caminho da política de acesso. | | `meta.actions` | object | Ações disponíveis para a política em seu estado atual. | --- ## 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 atualizar 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. | | `404` | `api.resource.not_found` | A política de acesso não existe ou está fora do escopo da autorização. | Verifique o código de identificação enviado no caminho. | | `409` | `api.resource.inactive` | A requisição tentou escrever em uma política de acesso inativa. | Ative a política com [POST \| Ativar política de acesso](/v4-2/docs/pt/api-v2-post-activate-access-policy) antes de atualizá-la. | | `412` | `api.precondition.failed` | O valor de `If-Match` não corresponde à versão atual da política, o que significa que a política foi alterada depois de ser lida. | Obtenha a política novamente com [GET \| Listar uma política de acesso por [id]](/v4-2/docs/pt/api-v2-get-list-an-access-policy), revise as alterações e reenvie a requisição com o novo `ETag`. | | `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).