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

Prev Next

Descrição

Substitua todas as configurações de uma sincronização de grupo LDAP na plataforma Segura™. A requisição carrega o recurso completo: qualquer campo opcional que você omitir retorna ao seu valor padrão. Para alterar alguns campos e manter o restante intacto, acesse PATCH | Atualizar parcialmente sincronização de grupo LDAP por [id].


Pré-requisitos


Requisição

PUT /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/json.
If-Match Sim O ETag da sincronização conforme lido pela última vez. A plataforma rejeita a requisição quando a versão armazenada é diferente.

Corpo da requisição

O corpo carrega os mesmos objetos e campos de POST | Criar sincronização de grupo LDAP. Todo campo obrigatório deve estar presente.

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. Para alterar o estado ativo, acesse POST | Ativar sincronização de grupo LDAP ou POST | Desativar sincronização de grupo LDAP.

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

Corpo

{
    "group_sync": {
        "name": "Infrastructure operators",
        "server_id": 10,
        "user_group_id": 7,
        "synchronization_enabled": true,
        "overwrite_user_accesses": true,
        "force_roles": true,
        "automatic_sync": true,
        "dn": "OU=Operators,DC=example,DC=com",
        "ad_username_attribute": "sAMAccountName",
        "ad_name_attribute": "displayname",
        "ad_query": "(&(objectClass=group)(cn=ops-*))",
        "role_ids": [1, 3, 8]
    },
    "domum": {
        "enabled": true,
        "type": "full_users",
        "vendor_id": 22
    }
}

Resposta

HTTP/1.1 200 OK
ETag: "9f2c71ab04e85d16"

O header ETag carrega a nova versão da sincronização. Use esse valor no próximo header If-Match.

Info

Alterar role_ids também altera o ETag, mesmo quando nenhum outro campo é diferente.

Exemplo de corpo da resposta

A resposta carrega o mesmo modelo canônico de GET | Consultar sincronização de grupo LDAP por [id].

{
    "data": {
        "id": "501",
        "group_sync": {
            "name": "Infrastructure operators",
            "active": true,
            "server": { "id": "10" },
            "user_group": { "id": "7" },
            "synchronization_enabled": true,
            "overwrite_user_accesses": true,
            "force_roles": true,
            "automatic_sync": true,
            "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 }, { "id": 8 }]
        },
        "domum": {
            "enabled": true,
            "type": "full_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. Outro cliente alterou o recurso. Leia o recurso novamente, revise a alteração e reenvie a requisição com o novo ETag.
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 api.validation.required_field Um campo obrigatório está ausente ou é null. Envie todos os campos obrigatórios. Um PUT substitui o recurso inteiro.
422 api.validation.invalid_reference server_id, user_group_id, department_id, uma entrada em role_ids ou domum.vendor_id não existe. Confirme que os recursos referenciados existem antes de reenviar a requisição.
422 api.validation.overwrite.requires_sync_enabled overwrite_user_accesses é true enquanto synchronization_enabled é false. Defina synchronization_enabled como true, ou defina overwrite_user_accesses como false.
422 api.validation.unknown_field O corpo carrega uma chave que não faz parte do esquema do recurso. Remova a chave. Verifique se o corpo usa os objetos group_sync e domum.
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.feature.unavailable O bloco domum foi enviado sem o módulo de licença cote. Remova o bloco domum, ou peça ao administrador para licenciar o módulo.
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.