Mettre à jour une règle de fédération
Nécessite un jeton d'accès OAuth avec la portée org:admin, obtenu via ant auth login --scope org:admin ou une règle de workload identity federation (fédération d'identité de charge de travail) ; les clés Admin API ne sont pas acceptées. Consultez Gérer WIF avec l'Admin API.
Mettez à jour partiellement une règle de fédération.
issuer_id est immuable. match et target sont remplacés en tant qu'objets
complets lorsqu'ils sont définis. Les comptes de service et espaces de travail référencés doivent exister
dans votre organisation ; les références invalides sont rejetées avec une erreur 400.
Les règles archivées ne peuvent pas être mises à jour ; cela renvoie 400. Créez plutôt une nouvelle
règle. Les règles portant sur des émetteurs partagés bien connus (GitHub Actions, GitLab,
Buildkite, Terraform Cloud, Google) doivent contraindre l'identité du locataire via
une revendication porteuse d'identité, un préfixe de sujet épinglant le locataire (tel que
repo:YOUR_ORG/...), ou une condition CEL référençant l'une de ces
revendications d'identité (par ex. claims.repository_owner). Sur ces émetteurs, l'exigence
est revérifiée à chaque mise à jour ; si le match stocké d'une règle existante ne
contraint pas encore l'identité du locataire, toute mise à jour (même un renommage
ou une modification de description) doit également fournir un match conforme dans la même
requête. Les appelants OAuth ne peuvent gérer que les règles dont l'oauth_scope est
workspace:developer ou workspace:inference ; les autres portées nécessitent une
session Console.
Parameters
Returns
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_rule = client.organization.federation.rules.update(
federation_rule_id="federation_rule_id",
)
print(federation_rule.id){
"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
{
"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"
]
}