Claude Platform Docs

페더레이션 발급자 생성

FederationIssuer organization().federation().issuers().create(params, requestOptions = RequestOptions.none())
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
IssuerCreateParams params
String issuerUrl

The iss claim value to match against.

minLength1
String name

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

minLength1
maxLength255
Optional<Boolean> checkJti

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.

Optional<Jwks> jwks

How signing keys are obtained. Defaults to OIDC discovery.

class JwksDiscovery { type = "discovery"; caCertPem; discoveryBase; }

JWKS via the issuer's OIDC discovery document.

JsonValue type = "discovery"
Optional<String> caCertPem

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

maxLength8192
Optional<String> discoveryBase

Set when the discovery URL differs from issuer_url.

class JwksExplicitUrl { type = "explicit_url"; url; caCertPem; }

JWKS fetched from a fixed endpoint.

JsonValue type = "explicit_url"
String url

JWKS endpoint.

minLength1
Optional<String> caCertPem

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

maxLength8192
class JwksInline { type = "inline"; keys; }

JWKS supplied directly; no network fetch.

JsonValue type = "inline"
List<Key> keys

Inline JWK objects.

minItems1
Optional<Long> maxJwtLifetimeSeconds

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; archivedAt; /* 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.

페더레이션 발급자 생성
package com.anthropic.example;

import com.anthropic.client.AnthropicClient;
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
import com.anthropic.models.organization.federation.issuers.FederationIssuer;
import com.anthropic.models.organization.federation.issuers.IssuerCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        AnthropicClient client = AnthropicOkHttpClient.fromEnv();

        IssuerCreateParams params = IssuerCreateParams.builder()
            .issuerUrl("x")
            .name("x")
            .build();
        FederationIssuer federationIssuer = client.organization().federation().issuers().create(params);
    }
}
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"
}