✅
Amazon BedrockでのAPIキー管理について
はじめに
Fusicのレオナです。本ブログでは、2025年7月のアップデートで管理が簡単になった Amazon BedrockのAPIキー機能について解説します。これまでは IAM ロールや署名付きリクエストによる認証が必要でしたが、APIキーを使うことで Bedrock Runtime
へのアクセスが容易になりました。本ブログでは、短期キーと長期キーの違い、生成方法、使用方法をまとめます。
解説
APIキーの概要
Amazon Bedrockが提供するAPIキーは大きく分けて2種類あります。
短期APIキー (Short‑term API Key)
- 有効期限:最大12時間
長期APIキー (Long‑term API Key)
- 有効期限:1日〜1年 ※キー作成時に有効期限を指定できます。
キーの生成方法
コンソールから生成する手順 (短期APIキー)
- AWSマネジメントコンソールで
Amazon Bedrock
を開く - 左側のナビゲーションから
API keys
を選択する
- 短期キーのタブで押下し、
Generate short-term API keys
ボタンを押下
- APIキーが生成されるので保存する
boto3から生成する手順 (短期APIキーのみ)
- ライブラリをインストールする
pip install aws-bedrock-token-generator
- 実装
from aws_bedrock_token_generator import BedrockTokenGenerator
import boto3
# 使用する基盤モデルと同じリージョンで作成します
region = "ap-northeast-1"
session = boto3.Session()
credentials = session.get_credentials()
# APIキーを生成する
generator = BedrockTokenGenerator()
token = generator.get_token(credentials, region)
print(token)
- 結果 (長いため一部を省略)
terminal
bedrock-api-key-YmVkcm9jay5hbWF6b25hd3MuY29tLz9BY3Rpb249Q2FsbFdpdGhCZWFyZXJUb2tlbiZ ...
コンソールから生成する手順 (長期APIキー)
- AWSマネジメントコンソールで
Amazon Bedrock
を開く - 左側のナビゲーションから
API keys
を選択する
- 長期キーのタブで押下し、
Generate long-term API keys
ボタンを押下
- 有効期限(1〜365日)を選択する
- 選択後、
Generate
ボタンを押下
- APIキーが生成されるので保存する
生成されたAPIキーを使用する
今回はPythonで生成されたAPIキーを使用してAmazon Bedrock Runtimeを呼び出してみます。筆者は.envファイルを作成しており、以下のようにして保存しています。
.env
AWS_BEARER_TOKEN_BEDROCK=bedrock-api-key-
実装
import os
import boto3
from dotenv import load_dotenv
load_dotenv()
# 環境変数にAPIキーを設定
os.getenv('AWS_BEARER_TOKEN_BEDROCK')
# Bedrock Runtimeクライアントを作成
client = boto3.client(
service_name="bedrock-runtime",
region_name="ap-northeast-1"
)
# モデルIDとメッセージを定義
model_id = "anthropic.claude-3-haiku-20240307-v1:0"
messages = [{"role": "user", "content": [{"text": "こんにちは"}]}]
# Converse APIを呼び出し
response = client.converse(
modelId=model_id,
messages=messages,
)
print(response['output']['message']['content'][0]['text'])
結果
terminal
はい、こんにちは!どうぞよろしくお願いします。何か質問や相談はありますか?私はできる限りお助けさせていただきますので、どんなことでも気軽に聞いてください。
最後に
Amazon BedrockのAPIキーを利用することで、AIチャットボットや生成アプリケーションがより簡単かつ安全にAmazon Bedrockの基盤モデルへアクセスできるようになりました。
Discussion