

# AWS サービスの API キー
<a name="id_credentials_api_keys_for_aws_services"></a>

AWS CLI または AWS API を使用して、AWS マネジメントコンソール を通じてプログラムで AWS サービスにアクセスできます。Amazon Bedrock や Amazon CloudWatch Logs などのサービスに対してプログラムによるリクエストを行う場合は、IAM 認証情報 (一時的なセキュリティ認証情報や長期アクセスキーなど) または API キーを使用して認証できます。API キーには 2 つのタイプがあります。
+ **長期 API キー** – 長期 API キーは IAM ユーザーに関連付けられ、IAM [サービス固有の認証情報](id_credentials_service-specific-creds.md)を使用して生成されます。これらの認証情報は 単一の AWS サービスでのみ使用するように設計されており、認証情報の適用範囲を制限することでセキュリティを強化しています。長期 API キーの有効期限を設定できます。IAM またはサービス固有のコンソール (Amazon Bedrock または CloudWatch Logs コンソールなど）、AWS CLI、または AWS API を使用して、長期的な API キーを生成できます。
+ **短期 API キー** (Amazon Bedrock のみでサポート) – 短期 API キーは、AWS 署名バージョン 4 を使用する署名付き URL です。短期 API キーは、API キーを生成する ID の認証情報と同じアクセス許可と有効期限を共有し、最大 12 時間またはコンソールセッションの残り時間の短い方の時間まで有効です。Amazon Bedrock コンソール、Python パッケージ `aws-bedrock-token-generator`、および他のプログラミング言語用のパッケージを使用して、短期 API キーを生成できます。詳細については、「*Amazon Bedrock ユーザーガイド*」の「[Generate Amazon Bedrock API keys for easy access to the Amazon Bedrock API](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html)」を参照してください。

**注記**  
長期 API キーは、短期 API キーと比較してセキュリティリスクが高くなります。可能であれば、短期 API キーまたは一時的なセキュリティ認証情報を使用することをお勧めします。長期 API キーを使用する場合は、定期的なキーローテーションプラクティスを実施することをお勧めします。

## サポートされるサービス
<a name="id_credentials_api_keys_supported_services"></a>

次の表に、API キーをサポートする AWS サービスと、各サービスがサポートする API キーのタイプを示します。


| \$1 | サービス | 長期 API キー | 短期 API キー | 管理ポリシーの自動アタッチ | 
| --- | --- | --- | --- | --- | 
| 1 | Amazon Bedrock | はい | はい | [AmazonBedrockLimitedAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockLimitedAccess.html) | 
| 2 | Amazon CloudWatch Logs | はい | 該当なし | [CloudWatchLogsAPIKeyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsAPIKeyAccess.html) | 

サービスの長期 API キーを生成すると、対応する AWS マネージドポリシーが IAM ユーザーに自動的にアタッチされ、そのサービスのコアオペレーションへのアクセスが許可されます。追加のアクセスが必要な場合は、IAM ユーザーのアクセス許可を変更できます。許可の変更については、「[IAM ID のアクセス許可の追加および削除](access_policies_manage-attach-detach.md)」を参照してください。Amazon Bedrock キーの使用方法の詳細については、「Amazon Bedrock ユーザーガイド」の「[Amazon Bedrock API キーを使用する](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys-use.html)」を参照してください。Amazon CloudWatch Logs にベアラートークンを使用する方法の詳細については、「*CloudWatch Logs ユーザーガイド*」の「[ベアラートークン認証](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_HTTP_Endpoints_BearerTokenAuth.html)」を参照してください。

## 長期 API キーの前提条件
<a name="id_credentials_api_keys_prerequisites"></a>

IAM コンソールで長期 API キーを生成する前に、次の前提条件を満たす必要があります。
+ 長期 API キーに関連付ける IAM ユーザー。IAM ユーザーの作成手順については、「[AWS アカウント で IAM ユーザーを作成する](id_users_create.md)」を参照してください。
+ IAM ユーザーのサービス固有の認証情報を管理するには、次の IAM ポリシーのアクセス許可がなければなりません。このポリシー例では、サービス固有の認証情報を作成、一覧表示、更新、削除、およびリセットするアクセス許可を付与します。Resource 要素の `username` 値を、長期 API キーを生成する IAM ユーザーの名前に置き換えます。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "ManageBedrockServiceSpecificCredentials",
              "Effect": "Allow",
              "Action": [
                  "iam:CreateServiceSpecificCredential",
                  "iam:ListServiceSpecificCredentials",
                  "iam:UpdateServiceSpecificCredential",
                  "iam:DeleteServiceSpecificCredential",
                  "iam:ResetServiceSpecificCredential"
              ],
              "Resource": "arn:aws:iam::*:user/username"
          }
      ]
  }
  ```

------

## 長期 API キーの生成 (コンソール)
<a name="id_credentials_api_keys_console_create"></a>

**IAM コンソールで特定のサービスの長期 API キーを生成するには**

1. AWS マネジメントコンソール にサインインして、IAM コンソール [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) を開きます。

1. IAM コンソールのナビゲーションペインで **[ユーザー]** を選択します。

1. 長期 API キーを生成する IAM ユーザーを選択します。

1. ［**Security credentials**］タブを選択します。

1. **[API キー]** セクションで、**[API キーを生成]** を選択します。

1. **[AWS サービス]** ドロップダウンリストから、API キーを認証するサービスを選択します。

1. **API キーの有効期限**について、以下のいずれかを実行します。
   + API キーの有効期限として **1**、**5**、**30**、**90**、または **365** 日を選択します。
   + **カスタム期間**を選択して、カスタム API キーの有効期限を指定します。
   + **[有効期限なし]** (推奨されません) を選択します。

1. **[API キーの生成]** を選択します。

1. API キーをコピーまたはダウンロードします。API キー値を表示できるのは今回だけです。
**重要**  
API キーを安全に保存してください。ダイアログボックスを閉じた後は、API キーを再度取得することはできません。API キーがわからない場合または忘れた場合、取得することはできません。代わりに、新しい API キーを生成し、古いキーを非アクティブにします。

## 長期 API キーの生成 (AWS CLI)
<a name="id_credentials_api_keys_cli_create"></a>

AWS CLI を使用して長期 API キーを生成するには、次の手順を実行します。

1. [create-user](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-user.html) コマンドを使用して、Amazon Bedrock または Amazon CloudWatch Logs を使用するために必要な IAM ユーザーを作成します。

   ```
   aws iam create-user \
       --user-name APIKeyUser_1
   ```

1. [attach-user-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/attach-user-policy.html) コマンドを使用して、AWS マネージドポリシーを IAM ユーザーにアタッチします。

   Amazon Bedrock の場合:

   ```
   aws iam attach-user-policy --user-name APIKeyUser_1 \
       --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess
   ```

   Amazon CloudWatch Logs の場合:

   ```
   aws iam attach-user-policy --user-name APIKeyUser_1 \
       --policy-arn arn:aws:iam::aws:policy/CloudWatchLogsAPIKeyAccess
   ```

1. [create-service-specific-credential](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-service-specific-credential.html) コマンドを使用して、長期 API キーを生成します。

   Amazon Bedrock の場合:

   ```
   aws iam create-service-specific-credential \
       --user-name APIKeyUser_1 \
       --service-name bedrock.amazonaws.com \
       --credential-age-days 30
   ```

   Amazon CloudWatch Logs の場合:

   ```
   aws iam create-service-specific-credential \
       --user-name APIKeyUser_1 \
       --service-name logs.amazonaws.com \
       --credential-age-days 30
   ```
**注記**  
`--credential-age-days` パラメータはオプションです。1〜36600 までの日数を指定できます。このパラメータを省略しても、API キーは期限切れになりません。

レスポンスで返される `ServiceApiKeyValue` は、それぞれのサービスの長期 API キーです。`ServiceApiKeyValue` 値は後で取得できないため、安全に保管してください。

### 長期 API キーを一覧表示する (AWS CLI）
<a name="id_credentials_api_keys_cli_list"></a>

特定のユーザーの長期 API キーメタデータを一覧表示するには、[list-service-specific-credentials](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-service-specific-credentials.html) コマンドと `--user-name` パラメータを使用します。

```
aws iam list-service-specific-credentials \
    --service-name bedrock.amazonaws.com \
    --user-name APIKeyUser_1
```

**注記**  
`bedrock.amazonaws.com` を適切なサービス名 (Amazon CloudWatch Logs の場合 `logs.amazonaws.com` など) に置き換えます。

アカウント内のすべての長期 API キーメタデータを一覧表示するには、[list-service-specific-credentials](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-service-specific-credentials.html) コマンドと `--all-users`パラメータを使用します。

```
aws iam list-service-specific-credentials \
    --service-name bedrock.amazonaws.com \
    --all-users
```

### 長期 API キーステータスを更新する (AWS CLI）
<a name="id_credentials_api_keys_cli_update"></a>

長期 API キーのステータスを更新するには、[update-service-specific-credential](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/update-service-specific-credential.html) コマンドを使用します。

```
aws iam update-service-specific-credential \
    --user-name "APIKeyUser_1" \
    --service-specific-credential-id "ACCA1234EXAMPLE1234" \
    --status Inactive|Active
```

## 長期 API キーの生成 (AWS API)
<a name="id_credentials_api_keys_api"></a>

次の IAM API オペレーションを使用して、サポートされているサービスの長期 API キーを管理できます。
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html) 
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListServiceSpecificCredentials.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListServiceSpecificCredentials.html) 
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html) 
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceSpecificCredential.html) 
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html) 

## 短期 API キー (Amazon Bedrock)
<a name="id_credentials_api_keys_short_term"></a>

現在、短期 API キーは Amazon Bedrock でのみサポートされています。短期 API キーの生成と使用の詳細については、「*Amazon Bedrock ユーザーガイド*」の「[API キーを生成する](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys-generate.html)」を参照してください。

## サービス固有の情報
<a name="id_credentials_api_keys_service_info"></a>
+ Amazon Bedrock を使用した API キーの使用方法の詳細については、「Amazon Bedrock ユーザーガイド」の「[Amazon Bedrock API キーを使用する](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys-use.html)」を参照してください。
+ Amazon CloudWatch Logs で API キーを使用する方法の詳細については、「*Amazon CloudWatch Logs ユーザーガイド*」の[「HTTP エンドポイントを介したログ取り込み](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_HTTP_Endpoints.html)」を参照してください。