プリセットの属性マッピングプロファイルを適用する
POST /v1/connections/{connection_id}/attribute-mappings:apply-profile · 権限 connections:write
エンタープライズ接続の固定ターゲットのルール(メール、氏名、グループなど)を、プリセットプロファイルのルールで置き換えます。プロファイルは、SAMLの場合は entra、okta、google、ping、jumpcloud、keycloak、OIDCの場合は generic です。保存済みの user_metadata.<key> ルールは保持されます。SAMLのサブジェクト属性は変更されません。サブジェクトは別途設定されており、変更すると連携済みのIDが孤立するためです。一覧を置き換える場合と同様に If-Match が必要です。すでに適用済みのプロファイルを適用しても、何も書き込まれません。書き込みは、プロファイル名を含めて connection.attribute_mappings_replaced として監査ログに記録されます。
リクエスト
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
connection_id |
path | はい | エンタープライズ接続のID(conn_…)。 |
If-Match |
header | はい | 前回の読み取りで取得した ETag。未指定の場合は 428、古い場合は 412 になります。 |
profile |
string | はい | entra、okta、google、ping、jumpcloud、keycloak(SAML)、または generic(OIDC)。 |
レスポンス
保存されている一覧(属性マッピングを取得するを参照)と新しい ETag を含む 200 OK を返します。
エラー
| HTTP | code | 発生条件 |
|---|---|---|
| 404 | not_found |
この環境に接続が存在しないか、エンタープライズ接続ではありません。 |
| 409 | conflict |
接続のプロトコルには属性マッピングがありません(LDAP)。 |
| 412 | precondition_failed |
If-Match が現在のバージョンと一致しないか、一覧が同時に変更されました。 |
| 422 | validation_failed |
profile が未指定、不明、または接続のプロトコルのプリセットではありません(/profile)。または、保持される user_metadata ルールが、別の NameFormat でプロファイル属性を読み取っています(/profile、conflicts_with_stored_mappings)。 |
| 428 | precondition_required |
If-Match ヘッダーがありません。 |
| 401 | unauthenticated |
認証情報が未指定、無効、または取り消されています。 |
| 403 | insufficient_permissions |
認証情報に必要な権限がありません。 |
| 429 | rate_limited |
レート制限を超えました。Retry-After の期間が経過してから再試行してください。 |
| 503 | service_unavailable |
依存先サービスが一時的に利用できません。Retry-After の期間が経過してから再試行してください。 |
例
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…"'