PATCH | Atualizar parcialmente sincronização de grupo LDAP por [id]

Prev Next

Descrição

Altere configurações selecionadas de uma sincronização de grupo LDAP na plataforma Segura™ sem enviar o recurso inteiro. O endpoint segue o JSON Merge Patch, definido na RFC 7396: os campos que você envia são alterados, os campos que você omite mantêm seus valores armazenados, e um campo definido como null retorna ao seu padrão.


Pré-requisitos


Requisição

PATCH /api/v2/iam/ldap-group-syncs/[id]

Parâmetros de caminho

Campo Tipo Obrigatório Descrição
id int Sim Código de identificação único da sincronização.

Cabeçalhos

Cabeçalho Obrigatório Descrição
Content-Type Sim Deve ser application/merge-patch+json. Qualquer outro valor retorna 415.
If-Match Sim O ETag da sincronização conforme lido pela última vez.

Corpo da requisição

Todos os campos são opcionais. Os campos aceitos são os mesmos de POST | Criar sincronização de grupo LDAP, com os mesmos tipos, limites e valores permitidos.

Enviar um campo somente leitura retorna 422 patch.field.not.allowed. Os campos somente leitura são id, active, last_sync_at, last_sync_succeeded, created_at, updated_at e tenant_code.

Atenção

O estado ativo não é editável por patch. Para alterá-lo, acesse POST | Ativar sincronização de grupo LDAP ou POST | Desativar sincronização de grupo LDAP.

Exemplo de requisição PATCH {{url}}/api/v2/iam/ldap-group-syncs/501

Corpo

{
    "group_sync": {
        "synchronization_enabled": false
    }
}

Resposta

HTTP/1.1 200 OK
ETag: "3bd6e0c95a17f482"

O header ETag carrega a nova versão da sincronização. O corpo carrega o modelo canônico completo, o mesmo de GET | Consultar sincronização de grupo LDAP por [id], não apenas os campos que mudaram.

Exemplo de corpo da resposta

{
    "data": {
        "id": "501",
        "group_sync": {
            "name": "Infrastructure operators",
            "active": true,
            "server": { "id": "10" },
            "user_group": { "id": "7" },
            "synchronization_enabled": false,
            "overwrite_user_accesses": false,
            "force_roles": true,
            "automatic_sync": false,
            "dn": "OU=Operators,DC=example,DC=com",
            "ad_username_attribute": "sAMAccountName",
            "ad_name_attribute": "displayname",
            "department": null,
            "ad_query": "(&(objectClass=group)(cn=ops-*))",
            "roles": [{ "id": 1 }, { "id": 3 }]
        },
        "domum": {
            "enabled": true,
            "type": "limited_users",
            "vendor": { "id": 22 }
        }
    },
    "meta": {
        "links": { "self": "/api/v2/iam/ldap-group-syncs/501" },
        "actions": {
            "sync": "/api/v2/iam/ldap-group-syncs/501/sync",
            "deactivate": "/api/v2/iam/ldap-group-syncs/501/deactivate"
        }
    }
}

Campos do corpo da resposta

Os campos da resposta correspondem a GET | Consultar sincronização de grupo LDAP por [id].


Erros

Código HTTP Mensagem Causa possível Solução
400 api.request.malformed O corpo não é um JSON válido. Verifique a sintaxe do JSON e reenvie a requisição.
403 api.permission.denied A aplicação não tem permissão para este recurso. Peça ao administrador para verificar a autorização Users da aplicação no A2A.
404 api.resource.not_found Não existe sincronização com o código de identificação enviado. Verifique o id e reenvie a requisição.
412 api.precondition.failed O valor de If-Match não corresponde à versão armazenada. Leia o recurso novamente, revise a alteração e reenvie a requisição com o novo ETag.
415 Unsupported Media Type Content-Type não é application/merge-patch+json. Defina o header como application/merge-patch+json.
428 api.precondition.required O header If-Match está ausente. Leia o recurso, depois reenvie a requisição com seu ETag em If-Match.
422 patch.field.not.allowed O corpo carrega um campo somente leitura. Remova id, active, last_sync_at, last_sync_succeeded, created_at, updated_at e tenant_code.
422 api.validation.invalid_reference Um recurso referenciado não existe. Confirme que os recursos referenciados existem antes de reenviar a requisição.
422 api.validation.overwrite.requires_sync_enabled O resultado do patch definiria overwrite_user_accesses como true enquanto synchronization_enabled é false. Envie os dois campos de forma consistente na mesma requisição.
422 api.enum.invalid_value ad_name_attribute ou domum.type está fora dos valores permitidos. Envie um dos valores permitidos.
429 rate_limit_exceeded A aplicação excedeu sua cota de requisições. Aguarde o período indicado no header Retry-After e reenvie a requisição.

Erros de autenticação

Mensagem Causa possível Solução
Client authentication failed. Falha na autenticação da aplicação com o servidor Segura. Verifique os parâmetros de autenticação (Access Token URL, Client ID e Client secret) e solicite um novo token de acesso.
Invalid signature Falha no reconhecimento da URL da aplicação cliente. Verifique a URL da aplicação cliente e reenvie a requisição.
No route matched with those values. Header de autorização ausente na requisição da API. Solicite um novo token de acesso.
Request timed out. A requisição excedeu o limite de tempo. Verifique a conectividade entre a origem da requisição e o servidor Segura.