

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

# API キー
<a name="api-keys"></a>

Amazon Bedrock API キーを使用すると、 AWS 認証情報の代わりにベアラートークンを使用して API リクエストを認証できます。ユーザー定義変数には次の 2 種類があります。
+ **短期** – 最大 12 時間 (またはセッション期間のいずれか短い方) 続きます。生成に使用した IAM プリンシパルからアクセス許可を継承します。本番環境での使用に推奨されます。
+ **長期** – 設定された有効期限まで続きます。ポリシーがアタッチされた IAM ユーザーを作成します。探索にのみ推奨されます。

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

## 短期 API キーを生成する
<a name="api-keys-gen-short"></a>

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

------
#### [ Console ]

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

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

1. **短期 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 キーを生成する
<a name="api-keys-gen-long"></a>

**警告**  
長期キーは探索専用です。本番環境では、短期キーを使用します。詳細については、[「長期アクセスキーの代替](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys)」を参照してください。

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

------
#### [ Console ]

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

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

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

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

1. **[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 キーを使用する
<a name="api-keys-use"></a>

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

```
# 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"}]}]
)
```

------

## 短期キーの自動更新
<a name="api-keys-auto-refresh"></a>

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

------
#### [ 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](https://github.com/aws/aws-bedrock-token-generator-python/blob/main/README.md) \| [Javascript](https://github.com/aws/aws-bedrock-token-generator-js/blob/main/README.md) \| [Java](https://github.com/aws/aws-bedrock-token-generator-java/blob/main/README.md)」を参照してください。

## [許可を変更]
<a name="api-keys-modify"></a>

長期 API キーは IAM ユーザーに関連付けられます。アクセス許可を変更するには、そのユーザーにアタッチされているポリシーを変更します。[「IAM ID アクセス許可の追加と削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。

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

## 侵害されたキー
<a name="api-keys-compromised"></a>

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


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

## API キーを生成して使用できるユーザーを制御する
<a name="api-keys-control"></a>

2 つの IAM アクションが API キーの生成と使用を制御します。
+ `iam:CreateServiceSpecificCredential` — 長期キーの生成を制御します。`iam:ServiceSpecificCredentialAgeDays` 条件キーを使用して、有効期限 (最大 90 日など) を制限します。
+ `bedrock:CallWithBearerToken` – 任意の API キーの使用を制御します。`bedrock:bearerTokenType` 条件キーを値または とともに使用`SHORT_TERM``LONG_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 キーリファレンス](api-keys-reference.md)。