1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Bedrock API キーで AI 開発を加速する

Posted at

はじめに

AWS が Bedrock の新機能として API キーの導入を発表。

API キー認証の仕組み

従来の認証方法の課題

これまで Bedrock を使用するには、以下の複雑な手順が必要でした:

  1. IAM アイデンティティの作成:AWS IAM Identity Center または IAM でユーザーを作成
  2. 権限の設定:適切な IAM ポリシーをアタッチ
  3. 認証情報の生成:API コール用の認証情報を取得

APIキーによる簡素化

新しい API キー機能では、これらの手順が大幅に簡素化されます。
開発者は最小限の設定で Bedrock API にアクセスできるようなりました。

APIキーの種類

Bedrock の AP Iキーには2つのタイプがある。

1. 長期 API キー(Long-term API Keys)

  • 有効期限:1 日から無期限まで設定可能
  • 用途:Amazon Bedrock の探索や学習に適している
  • 特徴
    • 自動的に作成される IAM ユーザーに関連付け
    • AmazonBedrockLimitedAccessポリシーが自動適用
    • IAM サービスで権限をカスタマイズ可能

2. 短期 API キー(Short-term API Keys)

  • 有効期限:アカウントセッション終了時または最大 12 時間
  • 用途:高いセキュリティレベルが必要な本番環境に推奨
  • 特徴
    • 現在の IAM 権限を使用
    • AWS Signature Version 4 で認証
    • スクリプトによる自動更新が可能

対応している機能

AWS ブログによると、オンデマンド推論、プロビジョニングされたスループット推論、モデルの微調整、蒸留、評価などのメソッドで API キー認証をサポートしているとのこと。

エージェントやナレッジベース、最近ではプロンプト管理も利用するため、このあたりが対応してなさそうなのはまだまだですかね。

実際の使用方法

1. APIキーの生成

左ナビゲーションで API Keys を選択し、Short-term API keys または Long-term API keys いずれかを選択し作成可能です。
スクリーンショット 2025-07-25 18.03.54.png

Long-term API keys を選択した場合、APIキーの種類 にも記載の通り、自動的に IAM ユーザーが作成され、AmazonBedrockLimitedAccessポリシーが適用されていました。
正直 足りないポリシーを追加すのであれば良いのですが、AmazonBedrockLimitedAccess ポリシーでは権限が大きく後から自信で絞る必要があるため、このあたりはデメリットにも思えました。
スクリーンショット 2025-07-25 18.14.23.png
スクリーンショット 2025-07-25 18.14.36.png

2. 環境変数の設定

API リクエストを行うときに自動的に認識されるよう、API キーを環境変数として設定します。

MacOS/Linux shell
export AWS_BEARER_TOKEN_BEDROCK=${api-key}
Windows shell
set AWS_BEARER_TOKEN_BEDROCK=${api-key}

3. API 実行

Boto3 SDK は、Bedrock クライアントを作成するときに環境変数を自動的に検出して、API が実行されるとのことです。

import boto3

client = boto3.client('bedrock-runtime')

response = client.invoke_model(
    modelId='anthropic.claude-3-sonnet-20240229-v1:0',
    contentType='application/json',
    accept='application/json',
    body=json.dumps({
        "messages": [{"role": "user", "content": "Hello, world!"}],
        "max_tokens": 100
    })
)

セキュリティ

簡素化された一方でセキュリティ対策も把握しておく必要があります。

API キーが侵害された場合

長期 API キーの場合

  • API キーのステータスを非アクティブに設定する
  • API キーをリセットする
  • API キーを完全に削除する

長期・短期 API キー共通

  • bedrock:CallWithBearerToken の IAM ポリシーをアタッチし、アクションを拒否する
    • 長期 API キー: API キーに関連付けられた IAM ユーザーへポリシーをアタッチ
    • 短期 API キー: API キーの生成に使用される IAM ロールのポリシーにアタッチ

短期 API キー共通

  • IAM ロールのセッションを無効にする
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?