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
- Uma aplicação com a autorização Users concedida pelo administrador no A2A, com a permissão do recurso definida como Leitura e escrita. Para mais informações, acesse Como gerenciar autorizações no A2A.
- Um token de acesso OAuth 2.0 válido. Para mais informações, acesse Como autenticar uma aplicação no A2A.
- O
ETagatual da sincronização, retornado por GET | Consultar sincronização de grupo LDAP por [id].
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.
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. |