> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/keeperpam/jp/privileged-access-manager/getting-started/gateways/advanced-configuration/gateway-configuration-with-aws-kms.md).

# AWS KMSでのゲートウェイ構成

## 概要 <a href="#overview" id="overview"></a>

KeeperゲートウェイをAWS EC2インスタンス上で運用する場合、ゲートウェイ構成ファイルをAWS Secrets Managerに保存し、AWS KMSで保護できます。インスタンス上に構成ファイルを置く必要がなくなります。

## AWSキー管理サービス (KMS) キー <a href="#aws-key-management-service-kms-key" id="aws-key-management-service-kms-key"></a>

AWS KMSは、データの暗号化と復号化に使用される暗号化キーを簡単に作成および制御できる、完全に管理されたサービスです。このサービスは他のAWSサービスと統合されているため、データの暗号化とキーの管理が簡単になります。このプロセスの一環としてAWS KMSキーが必要になります。このキーに権限を割り当てる際には、最小権限の原則に従うことをお勧めします。

## 要件 <a href="#create-keeper-gateway-configuration" id="create-keeper-gateway-configuration"></a>

AWS KMSを使用してKeeperゲートウェイの構成シークレットを保護するには、IAMロールが適用されるEC2インスタンスにKeeperゲートウェイをインストールする必要があります。DockerインストールとLinuxインストールのいずれでも利用できます。

* [Dockerインストール](/keeperpam/jp/privileged-access-manager/getting-started/gateways/gateway-with-docker.md)
* [Linuxインストール](/keeperpam/jp/privileged-access-manager/getting-started/gateways/linux-installation.md)

## 構成を作成 <a href="#create-keeper-gateway-configuration" id="create-keeper-gateway-configuration"></a>

Keeperボルトで、**\[Secrets Manager]** > **\[アプリケーション]** に進み、ゲートウェイが構成されたアプリケーションを選択します。その後、**\[ゲートウェイ]** タブを開いて **\[ゲートウェイのプロビジョン]** をクリックします。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fl7r4jyhRAW6CEGeDdKIx%2Fimage.png?alt=media&#x26;token=9262903e-be5a-43b8-b63b-cb0023fa6343" alt=""><figcaption></figcaption></figure>

ゲートウェイの初期化方法として **\[構成]** を選択し、**\[次へ]** をクリックします。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fq2aYeaDUmsep3LYCr9Qh%2Fimage.png?alt=media&#x26;token=adc0fcce-b759-4bfa-ab5a-507f7f38e4a0" alt=""><figcaption><p>構成方式を選択</p></figcaption></figure>

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FgLy3clCQBzdLIuwrnvKE%2Fimage.png?alt=media&#x26;token=db37535a-6e71-423b-8df1-64a419c7009e" alt=""><figcaption><p>Base64構成をコピー</p></figcaption></figure>

または、ワンタイムアクセストークンを生成し、Keeperゲートウェイの `gateway ott-init` コマンドを利用することも可能です。

```
gateway ott-init [ONE-TIME-TOKEN]
```

いずれの場合でも、base64エンコードされた構成が取得できます。以降の手順で使用するため、保存しておいてください。

## AWS Secrets Managerでシークレットを作成

AWSコンソールから、Secrets Managerへ移動し、新しいシークレットを作成します。

* **\[Other type of secret]** (その他の種類のシークレット) の選択
* **\[Plaintext]** (プレーンテキスト) の選択とBase64値の貼り付け
* **\[Next]** のクリック

**\[Secret Name]** と説明を入力してから、**\[Next]**、**\[Next]**、**\[Store]** の順にクリックします。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FBR8OloPYxORK5bTYx3Ed%2Fimage.png?alt=media&#x26;token=43882f5a-abed-4be7-a3a8-d0861d2cdab1" alt=""><figcaption><p>シークレットの名前と説明</p></figcaption></figure>

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FvqVbkhKbo2hfBQdiPQjY%2Fimage.png?alt=media&#x26;token=b78afdf1-dde3-4c9a-97c8-646b82106e57" alt=""><figcaption><p>シークレットを閲覧</p></figcaption></figure>

### インスタンスロールにポリシーを割り当てる

EC2インスタンスのロールには、以下のように特定のAWS Secrets Managerキーに対する読み取りアクセスを提供するポリシーを割り当てる必要があります。

```
{
    "Sid": "SecretsManagerPermissions",
    "Effect": "Allow",
    "Action": [
        "secretsmanager:GetSecretValue"
     ],
     "Resource": "arn:aws:secretsmanager:us-west-1:XXX:secret:XXX"
}
```

### アクセスを確認

EC2インスタンスから以下のコマンドを実行することで、ポリシーが適用されているかを確認できます。

{% code overflow="wrap" %}

```
aws secretsmanager get-secret-value --secret-id YourSecretName --query SecretString --output text
```

{% endcode %}

### Keeperゲートウェイの構成

Dockerインストール方式

Dockerインストールの場合、`GATEWAY_CONFIG`エントリを削除し、`AWS_KMS_SECRET_NAME`を追加して、その値にAWS Secrets Managerのシークレット名を指定します。

```
services:
      keeper-gateway:
        platform: linux/amd64
        image: keeper/gateway:latest
        shm_size: 2g
        security_opt:
          - seccomp:./docker-seccomp.json
          - apparmor=./guacd-apparmor-profile
        environment:
          ACCEPT_EULA: Y
          AWS_KMS_SECRET_NAME: "YourSecretName"
```

その後、新しい環境変数でサービスを更新します。

```
docker compose pull
docker compose down
docker compose up -d
```

#### Linuxインストール方式

Keeperゲートウェイのサービスユニットファイルを開きます。

`/etc/systemd/system/keeper-gateway.service`

「ExecStart」行を以下のように変更し、「YourSecretName」を割り当てられた名前に置き換えます。

{% code overflow="wrap" %}

```
ExecStart=/bin/bash -c "/usr/local/bin/gateway start --service --aws-kms-secret-name="YourSecretName" --log-to-stdout"
```

{% endcode %}

サービスに変更を適用します。

```
sudo systemctl daemon-reload
sudo systemctl restart keeper-gateway
```

起動時にエラーが発生した場合は、以下のコマンドで確認できます。

```
systemctl status keeper-gateway.service
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/privileged-access-manager/getting-started/gateways/advanced-configuration/gateway-configuration-with-aws-kms.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
