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キー)

  1. AWSマネジメントコンソールでAmazon Bedrockを開く
  2. 左側のナビゲーションからAPI keysを選択する
  3. 短期キーのタブで押下し、Generate short-term API keysボタンを押下
  4. 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キー)

  1. AWSマネジメントコンソールでAmazon Bedrockを開く
  2. 左側のナビゲーションからAPI keysを選択する
  3. 長期キーのタブで押下し、Generate long-term API keysボタンを押下
  4. 有効期限(1〜365日)を選択する
  5. 選択後、Generateボタンを押下
  6. 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の基盤モデルへアクセスできるようになりました。

Fusic 技術ブログ

Discussion