はじめに
Amazon Bedrock 基盤モデルのAPIを利用だけできれば良いというときのIAMポリシーの参考を記載します。
IAM Policyを作成するときに必要となる基盤モデルのARNそのものが書かれているページが見つからなかったので、併せてARNも記載しておきます。
結論
IAMポリシー
以下は東京リージョンでClaude v2.1を利用するためのポリシーです。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "allow to invoke specifiic foundation model",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream",
],
"Resource": "arn:aws:bedrock:ap-northeast-1::foundation-model/anthropic.claude-v2:1"
}
]
}
見たままですが一応説明しますと"Action"は
bedrock:InvokeModel
はモデルAPIの利用権限、
bedrock:InvokeModelWithResponseStream
はモデルAPIのストリームモードの利用権限です。
チャットボットなどでストリーム処理が必要な場合は、WithResponseStreamも必要になります。
また"Resource"には、基盤モデルのARNを指定します。
Bedrock基盤モデルのARN
現在(2024/3/10時点)のARN
東京、バージニア北部リージョンのARNを以下に記載しておきます。
東京(ap-northeast-1)
プロバイダ | モデル名 | ARN |
---|---|---|
Amazon | Titan Text G1 - Express | arn:aws:bedrock:ap-northeast-1::foundation-model/amazon.titan-text-express-v1:0:8k |
Amazon | Titan Text G1 - Express | arn:aws:bedrock:ap-northeast-1::foundation-model/amazon.titan-text-express-v1 |
Amazon | Titan Embeddings G1 - Text | arn:aws:bedrock:ap-northeast-1::foundation-model/amazon.titan-embed-text-v1:2:8k |
Amazon | Titan Embeddings G1 - Text | arn:aws:bedrock:ap-northeast-1::foundation-model/amazon.titan-embed-text-v1 |
Anthropic | Claude Instant | arn:aws:bedrock:ap-northeast-1::foundation-model/anthropic.claude-instant-v1:2:18k |
Anthropic | Claude Instant | arn:aws:bedrock:ap-northeast-1::foundation-model/anthropic.claude-instant-v1 |
Anthropic | Claude | arn:aws:bedrock:ap-northeast-1::foundation-model/anthropic.claude-v2:1:18k |
Anthropic | Claude | arn:aws:bedrock:ap-northeast-1::foundation-model/anthropic.claude-v2:1:200k |
Anthropic | Claude | arn:aws:bedrock:ap-northeast-1::foundation-model/anthropic.claude-v2:1 |
バージニア北部(us-east-1)
プロバイダ | モデル名 | ARN |
---|---|---|
Amazon | Titan Text Large | arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-tg1-large |
Amazon | Titan Image Generator G1 | arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-image-generator-v1:0 |
Amazon | Titan Image Generator G1 | arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-image-generator-v1 |
Amazon | Titan Text Embeddings v2 | arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-g1-text-02 |
Amazon | Titan Text G1 - Lite | arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-text-lite-v1:0:4k |
Amazon | Titan Text G1 - Lite | arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-text-lite-v1 |
Amazon | Titan Text G1 - Express | arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-text-express-v1:0:8k |
Amazon | Titan Text G1 - Express | arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-text-express-v1 |
Amazon | Titan Embeddings G1 - Text | arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v1:2:8k |
Amazon | Titan Embeddings G1 - Text | arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v1 |
Amazon | Titan Multimodal Embeddings G1 | arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-image-v1:0 |
Amazon | Titan Multimodal Embeddings G1 | arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-image-v1 |
Stability AI | SDXL 0.8 | arn:aws:bedrock:us-east-1::foundation-model/stability.stable-diffusion-xl |
Stability AI | SDXL 0.8 | arn:aws:bedrock:us-east-1::foundation-model/stability.stable-diffusion-xl-v0 |
Stability AI | SDXL 1.0 | arn:aws:bedrock:us-east-1::foundation-model/stability.stable-diffusion-xl-v1:0 |
Stability AI | SDXL 1.0 | arn:aws:bedrock:us-east-1::foundation-model/stability.stable-diffusion-xl-v1 |
AI21 Labs | J2 Grande Instruct | arn:aws:bedrock:us-east-1::foundation-model/ai21.j2-grande-instruct |
AI21 Labs | J2 Jumbo Instruct | arn:aws:bedrock:us-east-1::foundation-model/ai21.j2-jumbo-instruct |
AI21 Labs | Jurassic-2 Mid | arn:aws:bedrock:us-east-1::foundation-model/ai21.j2-mid |
AI21 Labs | Jurassic-2 Mid | arn:aws:bedrock:us-east-1::foundation-model/ai21.j2-mid-v1 |
AI21 Labs | Jurassic-2 Ultra | arn:aws:bedrock:us-east-1::foundation-model/ai21.j2-ultra |
AI21 Labs | Jurassic-2 Ultra | arn:aws:bedrock:us-east-1::foundation-model/ai21.j2-ultra-v1 |
Anthropic | Claude Instant | arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-instant-v1:2:100k |
Anthropic | Claude Instant | arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-instant-v1 |
Anthropic | Claude | arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2:0:18k |
Anthropic | Claude | arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2:0:100k |
Anthropic | Claude | arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2:1:18k |
Anthropic | Claude | arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2:1:200k |
Anthropic | Claude | arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2:1 |
Anthropic | Claude | arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2 |
Anthropic | Claude 3 Sonnet | arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-sonnet-20240229-v1:0 |
Cohere | Command | arn:aws:bedrock:us-east-1::foundation-model/cohere.command-text-v14:7:4k |
Cohere | Command | arn:aws:bedrock:us-east-1::foundation-model/cohere.command-text-v14 |
Cohere | Command Light | arn:aws:bedrock:us-east-1::foundation-model/cohere.command-light-text-v14:7:4k |
Cohere | Command Light | arn:aws:bedrock:us-east-1::foundation-model/cohere.command-light-text-v14 |
Cohere | Embed English | arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-english-v3 |
Cohere | Embed Multilingual | arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-multilingual-v3 |
Meta | Llama 2 Chat 13B | arn:aws:bedrock:us-east-1::foundation-model/meta.llama2-13b-chat-v1:0:4k |
Meta | Llama 2 Chat 13B | arn:aws:bedrock:us-east-1::foundation-model/meta.llama2-13b-chat-v1 |
Meta | Llama 2 Chat 70B | arn:aws:bedrock:us-east-1::foundation-model/meta.llama2-70b-chat-v1:0:4k |
Meta | Llama 2 Chat 70B | arn:aws:bedrock:us-east-1::foundation-model/meta.llama2-70b-chat-v1 |
Meta | Llama 2 13B | arn:aws:bedrock:us-east-1::foundation-model/meta.llama2-13b-v1:0:4k |
Meta | Llama 2 13B | arn:aws:bedrock:us-east-1::foundation-model/meta.llama2-13b-v1 |
Meta | Llama 2 70B | arn:aws:bedrock:us-east-1::foundation-model/meta.llama2-70b-v1:0:4k |
Meta | Llama 2 70B | arn:aws:bedrock:us-east-1::foundation-model/meta.llama2-70b-v1 |
※上記表の中にはOn-demand ThroughputのものとProvisioned Throughputのものが混在しているため注意してください。
ARN情報の取得コード
最新のARNは、以下のコマンドで取得できます。
region_name
はお好きなリージョンに変更してください。
import boto3
bedrock = boto3.client(service_name='bedrock', region_name='us-east-1')
bedrock.list_foundation_models()
※実行にはAction: "bedrock:ListFoundationModels"
の許可が必要です
補足
ARNは基本的に以下のページのmodel idをfoundation-model/
以降につけただけのようです。
https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html#model-ids-arns
以上