페더레이션 규칙 생성
POST/v1/organizations/federation_rules
org:admin 범위의 OAuth 액세스 토큰이 필요합니다. 이 토큰은 ant auth login --scope org:admin 또는 워크로드 ID 페더레이션 규칙을 통해 얻을 수 있으며, Admin API 키는 허용되지 않습니다. Admin API로 WIF 관리를 참조하세요.
조직이 소유하는 페더레이션 규칙을 생성합니다.
참조된 발급자와 대상 서비스 계정은 동일한 조직에 이미 존재해야 하며,
잘못된 참조는 400 오류로 거부됩니다. 워크스페이스 참조는 검증됩니다.
멤버십은 규칙 생성 시 확인되지 않습니다. 토큰 교환은 호출당 하나의 활성화된
워크스페이스를 확인하며, 대상 서비스 계정이 해당 워크스페이스의 멤버가 아니면
거부됩니다(기본 워크스페이스에는 암묵적으로 멤버입니다).
잘 알려진 공유 발급자(GitHub Actions, GitLab, Buildkite, Terraform Cloud,
Google)에 대한 규칙은 ID를 담은 클레임, 테넌트를 고정하는 subject 접두사
(예: repo:YOUR_ORG/...), 또는 이러한 ID 클레임 중 하나를 참조하는 CEL 조건
(예: claims.repository_owner)을 통해 테넌트 ID를 제한해야 합니다. OAuth 호출자는
oauth_scope가 workspace:developer 또는 workspace:inference인 규칙만
관리할 수 있으며, 다른 범위는 Console 세션이 필요합니다.
Headers
Body
Returns
페더레이션 규칙 생성
cURL
curl https://api.anthropic.com/v1/organizations/federation_rules \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-d '{
"issuer_id": "issuer_id",
"match": {},
"name": "x",
"oauth_scope": "x",
"target": {
"service_account_id": "svac_01SDCCSbTxrXDpWc1phhtcfK",
"type": "service_account"
}
}'Response 200
{
"id": "fdrl_01SDCCSbTxrXDpWc1phhtcfK",
"applies_to_all_workspaces": true,
"archived_at": "2019-12-27T18:11:19.117Z",
"archived_by_actor_id": "archived_by_actor_id",
"attributes": {
"foo": "string"
},
"created_at": "2024-10-30T23:58:27.427722Z",
"created_by_actor_id": "created_by_actor_id",
"description": "description",
"issuer_id": "issuer_id",
"issuer_name": "issuer_name",
"match": {
"audience": "audience",
"claims": {
"foo": "string"
},
"condition": "condition",
"subject_prefix": "subject_prefix"
},
"name": "prod-deploy-pipeline",
"oauth_scope": "oauth_scope",
"target": {
"service_account_id": "svac_01SDCCSbTxrXDpWc1phhtcfK",
"type": "service_account",
"service_account_name": "service_account_name"
},
"token_lifetime_seconds": 0,
"type": "federation_rule",
"updated_at": "2024-10-30T23:58:27.427722Z",
"updated_by_actor_id": "updated_by_actor_id",
"workspace_id": "workspace_id",
"workspace_ids": [
"string"
]
}Returns Examples
Response 200
{
"id": "fdrl_01SDCCSbTxrXDpWc1phhtcfK",
"applies_to_all_workspaces": true,
"archived_at": "2019-12-27T18:11:19.117Z",
"archived_by_actor_id": "archived_by_actor_id",
"attributes": {
"foo": "string"
},
"created_at": "2024-10-30T23:58:27.427722Z",
"created_by_actor_id": "created_by_actor_id",
"description": "description",
"issuer_id": "issuer_id",
"issuer_name": "issuer_name",
"match": {
"audience": "audience",
"claims": {
"foo": "string"
},
"condition": "condition",
"subject_prefix": "subject_prefix"
},
"name": "prod-deploy-pipeline",
"oauth_scope": "oauth_scope",
"target": {
"service_account_id": "svac_01SDCCSbTxrXDpWc1phhtcfK",
"type": "service_account",
"service_account_name": "service_account_name"
},
"token_lifetime_seconds": 0,
"type": "federation_rule",
"updated_at": "2024-10-30T23:58:27.427722Z",
"updated_by_actor_id": "updated_by_actor_id",
"workspace_id": "workspace_id",
"workspace_ids": [
"string"
]
}