# Docker Compose

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2Fo58hCMn7giu4SBv6o4pd%2FDocker%20Compose.jpg?alt=media&#x26;token=78695959-8582-4ce5-8268-eaaf1e591c53" alt=""><figcaption></figcaption></figure>

本ページでは、DockerまたはDocker Composeを実行できるLinuxインスタンスでKeeperオートメーターを実行するための手順を解説します。

{% hint style="info" %}
SSL証明書が必要となりますので、お持ちでない場合は[カスタムSSL証明書の作成](/sso-connect-cloud/jp/device-approvals/automator/custom-ssl-certificate.md)ページをご参照ください。
{% endhint %}

#### Docker Composeには、標準のDockerよりも利点が多くあります。

* コンテナの更新間でデータが保持されます
* 将来の更新のインストールと保守が簡単です

Docker Composeメソッドを使用したオートメーターのインストール手順は以下のとおりです。

1. DockerとDocker Composeのインストール

DockerとDocker Composeのインストール手順はプラットフォームによって異なります。以下の公式ドキュメントをご参照ください。

<https://docs.docker.com/compose/install/>

LinuxにDockerおよびDocker Composeインストール手順をご参照ください。

* [DockerをLinuxにインストール](/keeperpam/jp/privileged-access-manager/references/installing-docker-on-linux.md)

備&#x8003;**:** Linuxでは`docker compose`の代わりに`docker-compose`を使用できます。

インストール後にDockerサービスが動作していない場合は、Dockerサービスの起動が必要になる場合があります。

```
sudo service docker start
```

次に、サービスが自動的に開始するように設定します。

```
sudo systemctl enable docker.service
```

root以外のユーザーにDockerの実行を許可するには (セキュリティ要件を満たしている場合）、以下のコマンドを実行します。

```
sudo chmod 666 /var/run/docker.sock
```

2. docker-compose.ymlファイルを作成します

以下のコードを`docker-compose.yml`ファイルとして、サーバーのdocker composeコマンドを実行する場所に保存します。

```yaml
name: keeper-automator
services:
  automator:
    container_name: "automator"
    environment:
      - AUTOMATOR_PORT=443
      - AUTOMATOR_HOST=localhost
      - SSL_MODE=certificate
    restart: on-failure
    image: "keeper/automator:latest"
    ports:
      - 8089:443
    volumes:
      - automatordata:/usr/mybin/config
volumes:
  automatordata:
```

3. コンテナをインストールして起動

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

4. [SSL証明書作成](/sso-connect-cloud/jp/device-approvals/automator/custom-ssl-certificate.md)のページで作成したSSL証明書とパスワードファイルをコピー

```
docker cp ssl-certificate.pfx automator:/usr/mybin/config/
docker cp ssl-certificate-password.txt automator:/usr/mybin/config/
```

5. 新しい証明書でサービスを再起動

```
docker compose restart
```

6. **Keeperコマンダーをインストール**

この時点でサービスは実行中ですが、Keeperとはまだ通信できない状態です。

ご利用のワークステーション、サーバー、コンピュータなどにKeeperコマンダーCLIをインストールします。初期設定に使用のみとなります。バイナリインストーラーを含むインストール手順については[こちら](/keeperpam/jp/commander-cli/commander-installation-setup.md)をご覧ください。\
\
コマンダーをインストールした後、`keeper shell`と入力してセッションを開いてから`login`コマンドを使用してログインします。オートメーターをセットアップするには、Keeper管理者、またはSSOノードを管理できる管理者としてログインする必要があります。

```
$ keeper shell

My Vault> login admin@company.com
.
.
My Vault>
```

7. **コマンダーで初期化します**

Keeperコマンダーにログインし、`automator create`で始まる一連のコマンドを使用してオートメーターを有効化します。

```
My Vault> automator create --name="My Automator" --node="Azure Cloud"
```

ノード名 (この場合は、Azure Cloud) は、以下に示すように管理コンソールのUIに表示されます。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FNdYz9XWKABSVqtIAV5Ff%2FScreen%20Shot%202021-09-10%20at%203.59.58%20PM.png?alt=media&#x26;token=3c897624-3ae2-465e-9749-c4357015dacc" alt=""><figcaption><p>オートメーター作成</p></figcaption></figure>

コマンドの出力には、IDプロバイダから取得したメタデータを含むオートメーターの設定が表示されます。

```
                    Automator ID:1477468749950
                            Name:My Automator
                             URL:
                         Enabled:No
                     Initialized:No
                          Skills:Device Approval
```

URLはまだ設定されていないませんので、選択したFQDNを使用してURLを編集します。

以下のようにautomator editコマンドを実行します。これによりURLとスキルが設定されます (`team`、 `team_for_user`、`device`）。

{% code overflow="wrap" %}

```
automator edit --url https://<application URL> --skill=team --skill=team_for_user --skill=device "My Automator"
```

{% endcode %}

次にキーを交換します。オートメーター公開キーで暗号化されたエンタープライズ秘密キーがオートメーターに提供されます。

```
automator setup "My Automator"
```

新しい設定でオートメーターを初期化します。

```
automator init "My Automator"
```

オートメーターサービスを有効にします。

```
automator enable "My Automator"
```

この時点で設定は完了となります。

自動ヘルスチェックには以下のURLをご使用になれます。

**https\://\<server>/health**

以下はその例です。

```
$ curl https://automator.lurey.com/health
OK
```

#### ログのモニタリング

Docker Compose コマンドを使用してオートメーターログをモニターできます。

```
docker compose logs -f
```

#### AD FSを使用した環境の場合

IDプロバイダとしてAD FSを使用してKeeperオートメーターを有効にする場合、以下の手順に従ってKeeper 証明書を更新するまでログインできません。

* Keeper管理コンソールへログインします。
* **\[管理者]** > **SSOノード** > **\[プロビジョニング]**&#x306B;移動し、SSOクラウド設定を見ます。
* **\[SP証明書をエクスポート]**&#x3092;クリックします。
* AD FS管理コンソールで、KeeperクラウドSSO証明書利用者信頼プロパティを選択します。
* **\[暗号化]**&#x30BF;ブで、古い証明書をこの新しい証明書に置き換えます。
* **\[署名]**&#x30BF;ブで、新しいSP証明書をこの新しい証明書に置き換えます。

### サービスの確保

Keeperのサーバーおよびご利用のワークステーションからサービスへのネットワークアクセスを制限することを推奨します。許可するKeeper IPアドレスのリストについては、[イングレス要件](/sso-connect-cloud/jp/device-approvals/automator/ingress-requirements.md)のページをご参照ください。

### アップデート

オートメーターの新バージョンが利用できるようになった際には、コンテナのアップデートするだけでご利用になれます。

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

## ユーザー体験のテスト

Keeperオートメーターがデプロイされましたので、エンドユーザー体験のテストが可能となります。ユーザーがSSO IDプロバイダで認証した後は、承認を求めるプロンプトは必要なくなります。

最も簡単なテスト方法は、ブラウザでシークレットモードのウィンドウを開いてKeeperウェブボルトへアクセスし、SSOクラウドでログインすることとなります。デバイスの承認を求めるプロンプトは表示されなくなります。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FnAGBNvh99hgIOnNOuJdv%2FScreen%20Shot%202021-09-10%20at%205.17.42%20PM.png?alt=media&#x26;token=e8222ad6-49b4-4b22-9e5b-bde5fd35beb0" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FbqTOKRYMbSo5HTGpHTQX%2FScreen%20Shot%202021-09-10%20at%205.18.15%20PM.png?alt=media&#x26;token=73817b67-9c8b-4e42-b585-3e73d0a6b437" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2F2ePvTbVgjp70enV5sTmc%2FScreen%20Shot%202021-09-10%20at%205.30.15%20PM.png?alt=media&#x26;token=ed4aff69-cdc9-494c-bcc3-29523f8cc65a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FhKfNZnzP0MelaFgtnj7s%2FScreen%20Shot%202021-09-10%20at%205.32.12%20PM.png?alt=media&#x26;token=7fb689ee-343e-4117-825b-beaeff2e9409" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: 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/sso-connect-cloud/jp/device-approvals/automator/docker-compose.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.
