View a markdown version of this page

API キー - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

API キー

Amazon Bedrock API キーを使用すると、 AWS 認証情報の代わりにベアラートークンを使用して API リクエストを認証できます。ユーザー定義変数には次の 2 種類があります。

  • 短期 – 最大 12 時間 (またはセッション期間のいずれか短い方) 続きます。生成に使用した IAM プリンシパルからアクセス許可を継承します。本番環境での使用に推奨されます。

  • 長期 – 設定された有効期限まで続きます。ポリシーがアタッチされた IAM ユーザーを作成します。探索にのみ推奨されます。

注記

すべての API コールがログインします AWS CloudTrail。API キーは認可ヘッダーとして渡され、ログに記録されません。

短期 API キーを生成する

任意の方法のタブを選択し、その手順に従います。

Console
  1. Amazon Bedrock コンソールを使用するアクセス許可を持つ IAM ID AWS マネジメントコンソール を使用して にサインインします。Amazon Bedrock コンソール (https://console.aws.amazon.com/bedrock) を開きます。

  2. 左側のナビゲーションペインで、[API キー] を選択します。

  3. 短期 API キータブで、短期 API キーの生成を選択します。

コンソールセッションの有効期限が切れると (最大 12 時間)、キーは期限切れになります。別のリージョンのキーを生成するには、まずコンソールでリージョンを切り替えます。

Python

トークンジェネレーターをインストールします。

pip install aws-bedrock-token-generator

トークンを生成します。

from aws_bedrock_token_generator import provide_token token = provide_token() print(f"Token: {token}")
Javascript

トークンジェネレーターをインストールします。

npm install @aws/bedrock-token-generator

トークンを生成します。

import { getTokenProvider } from "@aws/bedrock-token-generator"; const provideToken = getTokenProvider(); const token = await provideToken(); console.log(`Bearer Token: ${token}`);
Java

依存関係 (Maven) を追加します。

<dependency> <groupId>software.amazon.bedrock</groupId> <artifactId>aws-bedrock-token-generator</artifactId> <version>1.1.0</version> </dependency>

トークンを生成します。

import software.amazon.bedrock.token.BedrockTokenGenerator; BedrockTokenGenerator tokenGenerator = BedrockTokenGenerator.builder().build(); String token = tokenGenerator.getToken();

長期 API キーを生成する

警告

長期キーは探索専用です。本番環境では、短期キーを使用します。詳細については、「長期アクセスキーの代替」を参照してください。

任意の方法のタブを選択し、その手順に従います。

Console
  1. Amazon Bedrock コンソールを使用するアクセス許可を持つ IAM ID AWS マネジメントコンソール を使用して にサインインします。Amazon Bedrock コンソール (https://console.aws.amazon.com/bedrock) を開きます。

  2. 左側のナビゲーションペインで、[API キー] を選択します。

  3. [長期 API キー] タブで、[長期 API キーを生成] を選択します。

  4. 有効期限を選択し、オプションで Advanced アクセス許可でアクセス許可を追加します。

  5. [Generate] (生成) を選択します。

CLI
# Create an IAM user aws iam create-user --user-name bedrock-api-user # Attach permissions aws iam attach-user-policy --user-name bedrock-api-user \ --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess # Generate the API key (replace NUMBER-OF-DAYS) aws iam create-service-specific-credential \ --user-name bedrock-api-user \ --service-name bedrock.amazonaws.com \ --credential-age-days ${NUMBER-OF-DAYS}

レスポンスServiceApiKeyValueの は API キーです。

後でキーを非アクティブ化または削除するには、レスポンスServiceSpecificCredentialIdから を使用します。

# Deactivate the key aws iam update-service-specific-credential \ --user-name bedrock-api-user \ --service-specific-credential-id ${ServiceSpecificCredentialId} \ --status Inactive # Delete the key permanently aws iam delete-service-specific-credential \ --user-name bedrock-api-user \ --service-specific-credential-id ${ServiceSpecificCredentialId}
Python
import boto3 iam_client = boto3.client("iam") # Create IAM user iam_client.create_user(UserName="bedrock-api-user") # Attach permissions iam_client.attach_user_policy( UserName="bedrock-api-user", PolicyArn="arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess" ) # Generate API key response = iam_client.create_service_specific_credential( UserName="bedrock-api-user", ServiceName="bedrock.amazonaws.com", CredentialAgeDays=30 ) api_key = response["ServiceSpecificCredential"]["ServiceApiKeyValue"] print(api_key)

API キーを使用する

キーを環境変数として設定します。

# macOS/Linux export AWS_BEARER_TOKEN_BEDROCK=${api-key} # Windows setx AWS_BEARER_TOKEN_BEDROCK "${api-key}"

または、 Authorizationヘッダーに直接渡します。

Authorization: Bearer ${api-key}
例: Converse リクエストを行う

任意の方法のタブを選択し、ステップに従います。

cURL
curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-sonnet-4-6/converse" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \ -d '{ "messages": [{"role": "user", "content": [{"text": "Hello"}]}] }'
Python (boto3)
import os import boto3 os.environ['AWS_BEARER_TOKEN_BEDROCK'] = "${api-key}" client = boto3.client("bedrock-runtime", region_name="us-east-1") response = client.converse( modelId="us.anthropic.claude-sonnet-4-6", messages=[{"role": "user", "content": [{"text": "Hello"}]}] )

短期キーの自動更新

長時間実行されるアプリケーションの場合は、各リクエストの前にトークンジェネレーターを呼び出します。それでも有効な場合はキャッシュされたトークンを返すか、新しいトークンを自動的に生成します。

Python
from aws_bedrock_token_generator import provide_token import requests url = "https://bedrock-runtime.us-west-2.amazonaws.com/model/us.anthropic.claude-sonnet-4-6/converse" payload = {"messages": [{"role": "user", "content": [{"text": "Hello"}]}]} # Call provide_token() before each request — it handles caching/refresh token = provide_token() headers = {"Content-Type": "application/json", "Authorization": f"Bearer {token}"} response = requests.post(url, headers=headers, json=payload) print(response.json())
Javascript
import { getTokenProvider } from "@aws/bedrock-token-generator"; const provideToken = getTokenProvider(); const url = "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-sonnet-4-6/converse"; const payload = {messages: [{role: "user", content: [{text: "Hello"}]}]}; // provideToken() handles caching/refresh automatically const headers = { "Content-Type": "application/json", "Authorization": `Bearer ${await provideToken()}` }; await fetch(url, {method: 'POST', headers, body: JSON.stringify(payload)});

その他の例については、トークンジェネレーターのドキュメント「Python | Javascript | Java」を参照してください。

[許可を変更]

長期 API キーは IAM ユーザーに関連付けられます。アクセス許可を変更するには、そのユーザーにアタッチされているポリシーを変更します。「IAM ID アクセス許可の追加と削除」を参照してください。

コンソールから API キー > 長期 API キー > キーを選択する > IAM コンソールで を管理するに移動します。

侵害されたキー

キーが侵害された場合は、次のいずれかのアクションを実行します。

アクション キーのタイプ その方法は?
Deactivate 長期 コンソール: API キー > キーを選択 > アクション > 非アクティブ化。API: UpdateServiceSpecificCredentialStatus=Inactive
リセット 長期 コンソール: Actions > Reset key。API: ResetServiceSpecificCredential
Delete 長期 コンソール: アクション > 削除。API: DeleteServiceSpecificCredential
セッションを無効にする 短期 を拒否する ID に IAM ポリシーをアタッチするかbedrock:CallWithBearerToken、キーの生成に使用されるセッションを無効にします。

API キーを生成して使用できるユーザーを制御する

2 つの IAM アクションが API キーの生成と使用を制御します。

  • iam:CreateServiceSpecificCredential — 長期キーの生成を制御します。iam:ServiceSpecificCredentialAgeDays 条件キーを使用して、有効期限 (最大 90 日など) を制限します。

  • bedrock:CallWithBearerToken – 任意の API キーの使用を制御します。bedrock:bearerTokenType 条件キーを値または とともに使用SHORT_TERMLONG_TERMして、特定のキータイプをターゲットにします。

例: アイデンティティが API キーを使用しないようにする

このポリシーを ID にアタッチします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "bedrock:CallWithBearerToken", "Resource": "*" } ] }
例: 有効期間の短いキーのみを許可する (最大 90 日)

このポリシーを ID にアタッチします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceSpecificCredential", "Resource": "*", "Condition": { "NumericLessThanEquals": { "iam:ServiceSpecificCredentialAgeDays": "90" }, "StringEquals": { "iam:ServiceSpecificCredentialServiceName": "bedrock.amazonaws.com" } } } ] }

ポリシーの詳細な例については、「」を参照してくださいAPI キーリファレンス