Claude Platform Docs

フェデレーションルールを更新

FederationRule Organization.Federation.Rules.Update(parameters, cancellationToken = default)
POST/v1/organizations/federation_rules/{federation_rule_id}

org:adminスコープを持つOAuthアクセストークンが必要です。このトークンはant auth login --scope org:adminまたはワークロードアイデンティティフェデレーションルールから取得します。Admin APIキーは受け付けられません。Admin APIでWIFを管理するを参照してください。

フェデレーションルールを部分的に更新します。

issuer_idは変更できません。matchとtargetは、設定された場合にオブジェクト全体として 置き換えられます。参照されるサービスアカウントとワークスペースは組織内に存在している必要があり、 無効な参照は400エラーで拒否されます。アーカイブされたルールは更新できず、400が返されます。 代わりに新しいルールを作成してください。よく知られた共有発行者(GitHub Actions、GitLab、 Buildkite、Terraform Cloud、Google)に対するルールは、アイデンティティを含むクレーム、 テナントを固定するサブジェクトプレフィックス(repo:YOUR_ORG/...など)、またはそれらの アイデンティティクレームのいずれかを参照するCEL条件(例:claims.repository_owner)によって、 テナントのアイデンティティを制約する必要があります。これらの発行者では、この要件は更新のたびに 再チェックされます。既存のルールに保存されているmatchがまだテナントのアイデンティティを 制約していない場合、いかなる更新(名前や説明の変更であっても)でも、同じリクエスト内で 要件に準拠したmatchを指定する必要があります。OAuth呼び出し元が管理できるのは、oauth_scopeが workspace:developerまたはworkspace:inferenceであるルールのみです。その他のスコープには Consoleセッションが必要です。

Parameters
RuleUpdateParams parameters
required string federationRuleID⁠Path parameter

ID of the federation rule to update.

bool? appliesToAllWorkspaces

When true, enables this rule for every workspace in the org (including workspaces created later). Setting false is rejected with 400 if no workspace would remain enabled; a rule with only a legacy workspace_id binding continues to mint.

string? description

Replaces the description. Omit to leave unchanged; send null to clear (the field is stored as an empty string).

maxLength2000

Replaces the entire match object. All populated matcher fields must pass.

string? name

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

minLength1
maxLength255
string? oauthScope

Replaces the space-separated OAuth scopes granted on minted tokens. OAuth callers may only set workspace:developer or workspace:inference; other scopes (such as org:admin) require a Console session.

minLength1

Replaces the entire target object. Currently always a service_account target.

long? tokenLifetimeSeconds

Replaces the lifetime in seconds for access tokens minted via this rule (60-86400). Minted tokens are capped at max(60, min(this value, 2 × remaining assertion validity)) seconds.

minimum60
maximum86400
string? workspaceID

Replaces the existing single workspace enablement (the previous one is removed). Rejected with 400 if the rule is enabled for more than one workspace; use the /federation_rules/{federation_rule_id}/workspaces sub-resource instead.

Returns
class FederationRule { Type = "federation_rule"; ID; AppliesToAllWorkspaces; /* 15 more */ }

Authorization rule binding an external OIDC identity to Anthropic.

Evaluates the match conditions and mints an OAuth access token for the resolved target, scoped to a single workspace where the rule is enabled (chosen by the caller at exchange time when the rule is enabled for more than one). For rules enabled via workspace_ids or applies_to_all_workspaces, the target service account must be a member of that workspace (it is implicitly a member of the default workspace); rules carrying only the legacy workspace_id binding do not enforce this.

フェデレーションルールを更新
using System;
using Anthropic.Models.Organization.Federation.Rules;

RuleUpdateParams parameters = new() { FederationRuleID = "federation_rule_id" };

var federationRule = await client.Organization.Federation.Rules.Update(parameters);

Console.WriteLine(federationRule);
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"
  ]
}