Claude Platform Docs

Créer une clé externe

beta.organization.external_keys.create(**kwargs) -> BetaExternalKey
POST/v1/organizations/external_keys

Créez une configuration de clé externe appartenant à l'organisation de l'appelant.

Parameters
provider_config: ProviderConfig

KMS provider identity and auth coordinates.

One of the following:
class BetaAWSExternalKeyConfig: type: "aws"; kms_arn; region; role_arn
type: Literal["aws"]
kms_arn: str

Full ARN of the AWS KMS key. On Claude Platform on AWS the key must be a single-Region key in your organization's own AWS account; cross-account keys, multi-Region keys, and alias ARNs are rejected.

maxLength2048
region: Optional[str]

AWS region. Derived from kms_arn if omitted.

role_arn: Optional[str]⁠Deprecated

IAM role ARN. Deprecated — Anthropic reaches the KMS key through its own intermediate role (or, on Claude Platform on AWS, with credentials AWS issues for the Workspace); this field is ignored.

class BetaGCPExternalKeyConfig: type: "gcp"; key_name
type: Literal["gcp"]
key_name: str

Full resource name of the Cloud KMS key.

class BetaAzureExternalKeyConfigParam: type: "azure"; key_name; tenant_id; ... # 2 more

Azure Key Vault provider configuration.

type: Literal["azure"]
key_name: str

Name of the key within the vault.

tenant_id: str

Azure AD tenant ID.

vault_uri: str

Key Vault data-plane URI — https://{vault-name}.vault.azure.net or https://{hsm-name}.managedhsm.azure.net.

client_id: Optional[str]

Azure AD application (client) ID. Omit to use Anthropic's multitenant app. Provide only if using a single-tenant app registration in the customer's directory.

display_name: Optional[str]

Human-friendly display name.

minLength1
maxLength255
geo: Optional[Literal["us"]]

Data residency geo. Only us is supported.

Returns
class BetaExternalKey: type: "external_key"; id; attachment; ... # 5 more

CMEK external key config belonging to the caller's organization.

Configs are organization-scoped. Workspaces attach to a config; once any workspace references it, the provider fields become effectively immutable (existing encrypted data needs the config for decrypt).

Créer une clé externe
import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ.get(
        "ANTHROPIC_API_KEY"
    ),  # This is the default and can be omitted
)
beta_external_key = client.beta.organization.external_keys.create(
    provider_config={
        "kms_arn": "arn:aws:kms:us-east-1:111122223333:key/abcd1234-5678-90ab-cdef-000011112222",
        "type": "aws",
    },
)
print(beta_external_key.id)
Returns Examples
Response 200
{
  "id": "ekey_01SDCCSbTxrXDpWc1phhtcfK",
  "attachment": {
    "type": "attached"
  },
  "created_at": "2024-10-30T23:58:27.427722Z",
  "display_name": "prod-us-key",
  "geo": "us",
  "provider_config": {
    "kms_arn": "arn:aws:kms:us-east-1:111122223333:key/abcd1234-5678-90ab-cdef-000011112222",
    "type": "aws",
    "region": "us-east-1",
    "role_arn": "arn:aws:iam::111122223333:role/anthropic-cmek"
  },
  "type": "external_key",
  "updated_at": "2024-10-30T23:58:27.427722Z"
}