プリセットの属性マッピングプロファイルを適用する

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…"'