Applica un profilo predefinito di mappatura degli attributi
POST /v1/connections/{connection_id}/attribute-mappings:apply-profile · autorizzazione connections:write
Sostituisce le regole a destinazione fissa (email, nomi, gruppi…) di una connessione enterprise con le regole di un profilo predefinito: entra, okta, google, ping, jumpcloud o keycloak per SAML, generic per OIDC. Le regole user_metadata.<key> memorizzate vengono mantenute. L'attributo soggetto SAML non viene modificato: il soggetto è configurato separatamente e cambiarlo lascerebbe orfane le identità collegate. If-Match è obbligatorio come per la sostituzione della lista. Applicare un profilo già applicato non scrive nulla. La scrittura viene registrata nel log di audit come connection.attribute_mappings_replaced con il nome del profilo.
Richiesta
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
connection_id |
path | sì | ID della connessione enterprise (conn_…). |
If-Match |
header | sì | L'ETag dell'ultima lettura. Se manca: 428; se obsoleto: 412. |
profile |
string | sì | entra, okta, google, ping, jumpcloud, keycloak (SAML) o generic (OIDC). |
Risposta
200 OK con la lista memorizzata (vedi Ottieni le mappature degli attributi) e il nuovo ETag.
Errori
| HTTP | code | Quando |
|---|---|---|
| 404 | not_found |
La connessione non esiste in questo ambiente o non è una connessione enterprise. |
| 409 | conflict |
Il protocollo della connessione non prevede mappature degli attributi (LDAP). |
| 412 | precondition_failed |
If-Match non corrisponde alla versione attuale, oppure la lista è stata modificata nel frattempo. |
| 422 | validation_failed |
profile manca, è sconosciuto o non è un profilo predefinito del protocollo della connessione (/profile), oppure una regola user_metadata mantenuta legge un attributo del profilo con un altro NameFormat (/profile, conflicts_with_stored_mappings). |
| 428 | precondition_required |
L'header If-Match manca. |
| 401 | unauthenticated |
La credenziale manca, non è valida o è stata revocata. |
| 403 | insufficient_permissions |
La credenziale non ha l'autorizzazione richiesta. |
| 429 | rate_limited |
È stato superato il limite di frequenza; riprova dopo il periodo indicato in Retry-After. |
| 503 | service_unavailable |
Una dipendenza è temporaneamente non disponibile; riprova dopo il periodo indicato in Retry-After. |
Esempio
curl -X POST "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/attribute-mappings:apply-profile" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-H 'If-Match: "6f1c…"' \
-d '{"profile":"entra"}'
keenauth connections attribute-mappings apply-profile conn_01j9xp6q0r1s5t7v9w1x3y5z7b --profile entra --if-match '"6f1c…"'