

# API Gateway で REST API の API キーをセットアップする
<a name="api-gateway-setup-api-keys"></a>

API キーを設定するには、以下の作業を行います。
+ API キーを要求するよう API メソッドを設定します。
+ リージョンの API 用に API キーを作成またはインポートします。

API キーを設定するには、事前に API を設定し、それをステージにデプロイしている必要があります。API キー値は、作成後に変更することはできません。

API Gateway コンソールを使用して API を作成し、デプロイする方法については、「[API Gateway で REST API を開発する](rest-api-develop.md)」および「[API Gateway で REST API をデプロイする](how-to-deploy-api.md)」をそれぞれ参照してください。

API キーを作成したら、これを使用量プランに関連付ける必要があります。詳細については、「[API Gateway で REST API の使用量プランを設定する](api-gateway-create-usage-plans.md)」を参照してください。

**注記**  
考慮すべきベストプラクティスについては、「[API キーと使用量プランのベストプラクティス](api-gateway-api-usage-plans.md#apigateway-usage-plans-best-practices)」を参照してください。

**Topics**
+ [メソッドで API キーを必須とする](#api-gateway-usage-plan-configure-apikey-on-method)
+ [API キーを作成する](#api-gateway-usage-plan-create-apikey)
+ [API キーをインポートする](#api-gateway-usage-pan-import-apikey)

## メソッドで API キーを必須とする
<a name="api-gateway-usage-plan-configure-apikey-on-method"></a>

次の手順では、API キーを要求する API メソッドを設定する方法について説明します。

------
#### [ AWS マネジメントコンソール ]

**API キーを要求する API メソッドを設定するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. REST API を選択します。

1. API Gateway のメインナビゲーションペインで、[**Resources (リソース)**] を選択します。

1. [**リソース**] で、新しいメソッドを作成するか、既存のメソッドを選択します。

1. **[メソッドリクエスト]** タブの **[メソッドリクエスト設定]** で、**[編集]** を選択します。  
![\[API キーをメソッドに追加する\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/api-gateway-new-console-add-key-to-method.png)

1. **[API キーの必要性]** を選択します。

1. **[保存]** を選択します。

1. API をデプロイまたは再デプロイして要件を満たします。

**必要な API キー**のオプションを `false` に設定し、上記の手順を実行しない場合、そのメソッドに対しては API ステージに関連付けられている API キーが使用されません。

------
#### [ AWS CLI ]

次の [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html) コマンドは、API キーを要求する `PUT` メソッドを作成します。

```
aws apigateway put-method \
    --rest-api-id 1234123412 \
    --resource-id a1b2c3 \
    --http-method PUT \
    --authorization-type "NONE" \
    --api-key-required
```

次の [update-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-method.html) コマンドは、既存のメソッドを更新して API キーを要求します。

```
aws apigateway update-method \
    --rest-api-id 1234123412 \
    --resource-id a1b2c3 \
    --http-method PUT \
    --patch-operations op="replace",path="/apiKeyRequired",value="true"
```

------
#### [ REST API ]

メソッドの API キーを要求するには、次のいずれかを実行します。
+ [https://docs.aws.amazon.com/apigateway/latest/api/API_PutMethod.html](https://docs.aws.amazon.com/apigateway/latest/api/API_PutMethod.html) を呼び出してメソッドを作成します。リクエストペイロードで `apiKeyRequired` を `true` に設定します。
+ [https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateMethod.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateMethod.html) を呼び出して `apiKeyRequired` を `true` に設定します。

------

## API キーを作成する
<a name="api-gateway-usage-plan-create-apikey"></a>

次の手順で、API キーを作成する方法を示します。API キーをインポートする場合は、このステップをスキップします。

------
#### [ AWS マネジメントコンソール ]

**API キーを作成するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. REST API を選択します。

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

1. **[API の作成]** を選択します。  
![\[使用量プランの API キーの作成\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/api-gateway-new-console-usage-plan-keys-choose-create-api-key-from-actions-menu.png)

1. **[ロール名]** に名前を入力します。

1. (オプション) **[説明]** に説明を入力します。

1. **[API キー]** では、**[自動生成]** を選択して API Gateway にキー値を生成させるか、**[カスタム]** を選択して独自のキー値を作成します。

1. **[保存]** を選択します。

------
#### [ AWS CLI ]

次の [create-api-key](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-api-key.html) コマンドは、API キーを作成します。

```
 aws apigateway create-api-key \
    --name 'Dev API key' \
    --description 'API key for Devs' \
    --enabled
```

------
#### [ REST API ]

[https://docs.aws.amazon.com/apigateway/latest/api/API_CreateApiKey.html](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateApiKey.html) を呼び出して API キーを作成します。

------

## API キーをインポートする
<a name="api-gateway-usage-pan-import-apikey"></a>

次の手順は、API キーをインポートする方法について説明します。API キーを既に作成している場合は、このステップをスキップします。

------
#### [ AWS マネジメントコンソール ]

**API キーをインポートするには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. REST API を選択します。

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

1. **[アクション]** ドロップダウンメニューから、**[API キーのインポート]** を選択します。

1. カンマ区切りのキーファイルをロードするには、**[ファイルの選択]** を選択します。テキストエディターにキーを入力します。ファイル形式の詳細については、「[API Gateway API キーファイルの形式](api-key-file-format.md)」を参照してください。

1. 警告が発生した場合、**[警告を失敗とみなす]** を選択してインポートを停止するか、**[警告を無視する]** を選択して、エラーが発生した場合に、有効なキーエントリのインポートを継続します。

1. **[インポート]** を選択して API キーをインポートします。

------
#### [ AWS CLI ]

次の [import-api-keys](https://docs.aws.amazon.com/cli/latest/reference/apigateway/import-api-keys.html) コマンドは API キーをインポートします。

```
aws apigateway import-api-key \
    a--body fileb://keys.csv \
    --format csv
```

------
#### [ REST API ]

[https://docs.aws.amazon.com/apigateway/latest/api/API_ImportApiKeys.html](https://docs.aws.amazon.com/apigateway/latest/api/API_ImportApiKeys.html) を呼び出して、ファイルから API キーをインポートします。ファイル形式については、「[API Gateway API キーファイルの形式](api-key-file-format.md)」を参照してください。

------

新しい API キーの値を変更することはできません。API を作成したら、使用量プランを設定します。詳細については、「[API Gateway で REST API の使用量プランを設定する](api-gateway-create-usage-plans.md)」を参照してください。