Claude Platform Docs

페더레이션 발급자 생성

organization.federation.issuers.create(**kwargs) -> FederationIssuer
POST/v1/organizations/federation_issuers

org:admin 범위가 있는 OAuth 액세스 토큰이 필요합니다. 이 토큰은 ant auth login --scope org:admin 또는 워크로드 ID 페더레이션 규칙에서 얻을 수 있으며, Admin API 키는 허용되지 않습니다. Admin API로 WIF 관리를 참조하세요.

Anthropic이 조직의 "workload identity federation"(워크로드 ID 페더레이션)에 대해 신뢰할 OIDC 발급자를 등록합니다.

jwks 필드는 발급자의 서명 키를 얻는 방법을 제어하며, type으로 선택되는 세 가지 형태 중 하나를 취합니다: discovery(OIDC 디스커버리를 통해 키 확인), explicit_url(고정된 JWKS URL에서 키 가져오기), inline(정적 키 세트 제공). jwks.type이 discovery이고 discovery_base가 설정되지 않은 경우, Anthropic이 디스커버리 문서를 가져올 수 있도록 발급자 URL은 HTTPS를 통해 공개적으로 접근 가능해야 합니다. explicit_url 및 inline 모드에서는 발급자 URL이 JWT의 iss 클레임과 매칭되는 데만 사용되며 가져오지 않습니다.

Parameters
issuer_url: str

The iss claim value to match against.

minLength1
name: str

Slug identifier (lowercase, digits, hyphens). Unique within the organization; a duplicate name returns 409.

minLength1
maxLength255
check_jti: Optional[bool]

Whether the jwt-bearer exchange enforces JTI single-use (replay protection) for tokens from this issuer. Defaults to true. Applies only to assertions carrying a jti claim; tokens without one are accepted without single-use enforcement.

jwks: Optional[JWKS]

How signing keys are obtained. Defaults to OIDC discovery.

One of the following:
class JWKSDiscovery: type: "discovery"; ca_cert_pem; discovery_base

JWKS via the issuer's OIDC discovery document.

type: Literal["discovery"]
ca_cert_pem: Optional[str]

Optional custom CA (PEM) for TLS verification of the JWKS fetch.

maxLength8192
discovery_base: Optional[str]

Set when the discovery URL differs from issuer_url.

class JWKSExplicitURL: type: "explicit_url"; url; ca_cert_pem

JWKS fetched from a fixed endpoint.

type: Literal["explicit_url"]
url: str

JWKS endpoint.

minLength1
ca_cert_pem: Optional[str]

Optional custom CA (PEM) for TLS verification of the JWKS fetch.

maxLength8192
class JWKSInline: type: "inline"; keys

JWKS supplied directly; no network fetch.

type: Literal["inline"]
keys: List[Dict[str, object]]

Inline JWK objects.

minItems1
max_jwt_lifetime_seconds: Optional[int]

Maximum allowed iat→exp spread for assertions from this issuer (1-176400 seconds, i.e. up to 49h). Defaults to 3600 (1h). Assertions must carry both iat and exp; a missing iat is rejected.

minimum1
maximum176400
Returns
class FederationIssuer: type: "federation_issuer"; id; archived_at; ... # 12 more

Registered external OIDC identity provider.

Records an external IdP the organization trusts for the RFC 7523 jwt-bearer grant. The issuer_url must match the JWT iss claim exactly.

페더레이션 발급자 생성
import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ.get(
        "ANTHROPIC_API_KEY"
    ),  # This is the default and can be omitted
)
federation_issuer = client.organization.federation.issuers.create(
    issuer_url="x",
    name="x",
)
print(federation_issuer.id)
Returns Examples
Response 200
{
  "id": "fdis_01SDCCSbTxrXDpWc1phhtcfK",
  "archived_at": "2019-12-27T18:11:19.117Z",
  "archived_by_actor_id": "archived_by_actor_id",
  "check_jti": true,
  "created_at": "2024-10-30T23:58:27.427722Z",
  "created_by_actor_id": "created_by_actor_id",
  "issuer_url": "https://token.actions.githubusercontent.com",
  "jwks": {
    "type": "discovery",
    "ca_cert_pem": "ca_cert_pem",
    "discovery_base": "discovery_base"
  },
  "jwks_polling_disabled_at": "2019-12-27T18:11:19.117Z",
  "max_jwt_lifetime_seconds": 0,
  "name": "github-actions",
  "poll_status": {
    "consecutive_failures": 0,
    "last_fetched_at": "2019-12-27T18:11:19.117Z",
    "next_poll_at": "2019-12-27T18:11:19.117Z"
  },
  "type": "federation_issuer",
  "updated_at": "2024-10-30T23:58:27.427722Z",
  "updated_by_actor_id": "updated_by_actor_id"
}