> 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/sso-connect-cloud/jp/device-approvals/automator/troubleshooting.md).

# トラブルシューティング

### オートメーターサービスと通信できない

Keeperコマンダーがオートメーターサービスと通信できない理由はいくつかあります。

* オートメーターサービスがKeeperのIPアドレスに対して開放されていることを確認してください。開放が必要なIPの一覧は、[イングレス要件](/sso-connect-cloud/jp/device-approvals/automator/ingress-requirements.md)のページをご参照ください。接続の問題をトラブルシューティングできるよう、ご自身のIPアドレスも追加することを推奨します。
* カスタムSSL証明書を使用している場合は、SSL証明書が読み込まれていることを確認してください。オートメーターのログファイルで、サービスの再起動時に証明書が読み込まれたかどうかを確認できます。IPアドレスにアクセスできる場合は、以下のようにコマンドラインで `curl` を使用してヘルスチェックを実行できます。\
  `curl https://automator.mycompany.com/health`
* 証明書のサブジェクト名がFQDNと一致していることを確認してください。
* SSL証明書にCA中間証明書チェーンが含まれていることを確認してください。中間証明書チェーンが欠落していると、Keeperはオートメーターへの接続を拒否します。以下のように `openssl` コマンドで確認できます。

{% code overflow="wrap" %}

```
openssl s_client -showcerts -servername automator.company.com -connect automator.company.com
```

{% endcode %}

このコマンドで、チェーン内の証明書の数が表示されます。証明書が1つしか表示されない場合、証明書チェーン全体が読み込まれていません。この問題を解決するには、[カスタムSSL証明書](/sso-connect-cloud/jp/device-approvals/automator/custom-ssl-certificate.md)ページの**手順4**をご参照ください。

### ヘルスチェックでの400エラー

ヘルスチェックのリクエストURIがSSL証明書のドメインと一致しない場合に、このエラーが発生することがあります。ヘルスチェックを完了させるには、サービスでSNIチェックを無効にする必要があります。オートメーター設定で `disable_sni_check=true` を設定するか、環境変数 `DISABLE_SNI_CHECK` に `true` を指定してください。

### オートメーターサービスがリクエストを承認しない <a href="#automator-service-not-approving-requests" id="automator-service-not-approving-requests"></a>

承認されない原因を特定するには、オートメーターのログを確認してください。

#### セットアップと初期化の再実行 <a href="#re-run-setup-and-initialization" id="re-run-setup-and-initialization"></a>

以下のコマンドを実行します。

```
My Vault> automator list
ID — Name — Node ID — Enabled — URL — Skills
123626338648827 — Production Keeper Automator — 123626338648102 — True — https://acaprodautomator.westus.azurecontainerapps.io — Device Approval, Team Approval, Team For User Approval

My Vault> automator setup 123626338648827
Automator "Production Keeper Automator" is setup

My Vault> automator init 123626338648827
Automator ID: 123626338648827
Name: Production Keeper Automator
Node ID: 123626338648102
URL: https://acaprodautomator.westus.azurecontainerapps.io
Version: 17.1.2.12
Enabled: Yes
Skills: Device Approval : Team Approval : Team For User Approval
```

```
Automator Settings

idp_public_certificate: idp_public_certificate=xxx
idp_entity_id: idp_entity_id=http://xxx
idp_metadata_xml: idp_metadata_xml=.xxx
sso_entity_ID: sso_entity_ID=https://keepersecurity.eu/api/rest/sso/saml/xxx
saml_email_mapping: saml_email_mapping=Email
email_domains: email_domains=
filter_by_email_domains: filter_by_email_domains=false
ssl_mode: ssl_mode=certificate
disable_sni_check: disable_sni_check=false
ssl_certificate_filename: ssl_certificate_filename=
ssl_certificate_file_password: ssl_certificate_file_password=
ssl_certificate_key_password: ssl_certificate_key_password=
automator_host: automator_host=acaprodautomator.westus.azurecontainerapps.io
automator_port: automator_port=443
ip_allow: ip_allow=
ip_deny: ip_deny=
```

#### `NEEDS_CRYPTO` の解消 <a href="#resolve-needs_crypto" id="resolve-needs_crypto"></a>

オートメーターが `NEEDS_CRYPTO` のときは、エンタープライズ秘密キーがありません。受信したSAMLアサーションの復号に、このキーが必要です。

**根本原因**

`setup_crypto` では、エンタープライズのECおよびRSA秘密キーがオートメーターの公開キーで暗号化されます。オートメーター側で復号したうえで、`config/config-{automatorId}.data` に保存されます。保存データはマスターキーで暗号化されます。

このデータがないと、SAMLアサーションを復号できません。

**よくあるケース**

* 新規デプロイ後の `setup_crypto` 未完了
* `/config/` ディレクトリの消失、または一時ストレージの使用
* `config/master_encryption.key` の欠落または変更
* 再起動前後での `AUTOMATOR_CONFIG_KEY` の変更
* `full_reset` による構成の削除

**問題の診断**

以下のステータスエンドポイントを確認します。

```
GET https://<automator-host>/api/rest/status/{automatorId}
```

`NEEDS_CRYPTO` または `NEEDS_INIT` は、暗号キーが読み込まれていないか、削除されたことを示します。以下の構成ファイルを確認してください。

```bash
ls -la /config/config-{automatorId}.data
ls -la /config/master_encryption.key
```

**問題の修正**

Keeperコマンダーで `setup_crypto` を再実行します。

```bash
keeper automator setup --id <automatorId>
```

または、**\[管理コンソール]** → **\[SSO]** → **\[オートメーター]** → **\[編集]** → **\[Setup Crypto]** から実行します。

これにより、2ステップのECキーペア交換が再度行われ、エンタープライズ秘密キーがオートメーターに保存されます。

`setup_crypto` に失敗し続ける場合は、以下を確認してください。

1. マスターキーが永続化されている (起動時に再生成されていない)
2. `keeper.properties` に `persist_state=false` が設定されていない
3. `/config/` が永続ストレージである

#### 「setup step #1 error: No response from Automator」の解消 <a href="#resolve-setup-step-1-error-no-response-from-automator" id="resolve-setup-step-1-error-no-response-from-automator"></a>

ログに `setup_cryoto is rejected..server is RUNNING` というメッセージが出力されていないか確認してください。稼働中はセットアップリクエストが拒否されます。以下のコマンドでフルリセットしてから、セットアップをやり直してください。

```
My Vault> automator reset <automator_ID>
My Vault> automator edit --skill=device --skill=team --skill=team_for_user <automator_ID>
My Vault> automator setup <automator_ID>
My Vault> automator init <automator_ID>
My Vault> automator enable <automator_ID>
```


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/sso-connect-cloud/jp/device-approvals/automator/troubleshooting.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
