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

## アクセスの拒否

コマンダーでシークレットマネージャーコマンドを実行しようとすると、ツールから`access_denied`と表示されます

**解決策**

Keeperシークレットマネージャーを利用するには、以下の2つの権限条件を満たす必要があります。

1. Keeperアカウントのシークレットマネージャーアドオンを有効にすること
2. シークレットマネージャー強制ポリシーが有効化されたロールが割り当てられていること

### シークレットマネージャーアドオンの有効化

シークレットマネージャーは、[Keeper管理コンソール](/enterprise-guide/jp/getting-started-with-keeper-admin-console.md)の「安全なアドオン」セクションから追加できます。

### シークレットマネージャー強制適用ポリシーの有効化

[Keeper管理コンソール](/enterprise-guide/jp/getting-started-with-keeper-admin-console.md)で、ロールポリシーを使用して、ロールにシークレットマネージャーを追加します。 新しいロールを選択または作成し、強制適用ポリシー設定を開いて、**\[特権アクセス管理]**&#x30BF;ブに移動し、そのロールに対してシークレットマネージャーを許可または禁止します。

シークレットマネージャーが許可されたロールに属するユーザーには、Keeperボルトでシークレットマネージャータブが表示され、シークレットマネージャーアプリケーションとデバイスの作成および管理ができます。

<details>

<summary>Keeperコマンダーによるシークレットマネージャーの有効化</summary>

ロールを作成および編集するには、Keeperアカウントの管理上の許可が必要です。

シークレットマネージャー強制ポリシーを有効にするには、[Keeperコマンダー](/keeperpam/jp/commander-cli/overview.md)で以下のコマンドを使用します。

```
er --enforcement="allow_secrets_manager:true" "<ROLE NAME>"
```

を強制ポリシーを設定したいロールに置き換えます。

たとえば、Keeper管理者ロールに強制を設定するには、以下のようにします。

```
er --enforcement="allow_secrets_manager:true" "Keeper Administrator"
```

ロールの作成と編集、およびユーザーのロールへの追加の詳細は、[エンタープライズ管理コマンドのドキュメント](/keeperpam/jp/commander-cli/command-reference/enterprise-management-commands.md)をご参照ください。

</details>

## 「-」で始まるUIDレコード

レコードまたはフォルダUIDを入力として使用するコマンドをKSM CLIで実行する場合、コマンドラインインターフェースは、「-」で始まるUIDとコマンドのオプションを区別できません。 使用しているUIDが「-」 (ダッシュ/ハイフン) で始まる場合は、**UIDの前に「--」を追加**するだけで使用できます。

例:\
\
`ksm secret get -- -id8QpE2ZAkdd4KlCfoWQ`

\*この例のUIDは実際のレコードUIDではありません

## レコードが見つかりません

シークレットマネージャーを使用してシークレットを取得しようとすると、レコードが見つからなかったと表示されます。

**解決策**

このメッセージが表示される理由は、以下の2つが考えられます。

1. 検索対象のレコードがシークレットマネージャーアプリケーションで共有されていません。
2. レコードがタイプ指定されていない従来の (V2) 記録です。

### シークレットマネージャーでレコードを共有

個々のレコードをシークレットマネージャーアプリケーションで共有することも、共有フォルダをシークレットマネージャーアプリケーションで共有することもできます。これにより、そのフォルダ内のすべてのレコードにアクセスできるようになります。

シークレットマネージャーアプリケーションでレコードまたは共有フォルダを共有するには、コマンダーで以下のコマンドを使用します。

```
sm share add -a <APPLICATION NAME> -s <RECORD OR FOLDER UID>
```

### タイプ指定されたレコードを識別

Keeperシークレットマネージャーでは、タイプ指定されたレコード (V3) のみがサポートされています。 タイプ指定されていない従来のレコードを照会すると、シークレットマネージャーはレコードが見つからないと応答します。

コマンダーでレコードが入力されているか否かを確認するには、`get` コマンドを使用します

```
get <UID>
```

レコードにタイプが設定されている場合 (シークレットマネージャーと互換性がある) は、レコードの情報に表示されます。

```
my vault> get pICzm4iw9sW454m2ZR4mmQ

                 UID: pICzm4iw9sW454m2ZR4mmQ
                Type: login
               Title:My Login
             (login): john.doe
          (password):N*3s.kk/Ji20}cJ7
              Shared:False
       Last Modified:2021-10-18 16:08:04
            Revision:887800170
```

レコードがタイプ指定されていない場合 (シークレットマネージャーと互換性がない) は、Typeフィールドが表示されません。

また、`ls -l` コマンドを使用して、現在のフォルダ内のすべてのレコードを表示できます。 結果表示されたテーブルには、タイプ列があります。 タイプ列が空白のレコードはすべて、タイプ指定されていないレコードです。

```
My Vault> ls -l
  #  Folder UID              Name               Flags
---  ----------------------  -----------------  -------
  1  RpdmergF5lpsaID3TcHu8A  Devops Secrets     S
  2  461XtX26R1SggIyQDFGfZg  Secrets            S
  3  ZDw67iL28d6-YqUVwBHAug  Social

  #  Record UID              Type                 Title                    Login                  URL
---  ----------------------  -------------------  -----------------------  ---------------------  -------------------
  1  FyP2it0DzwIDPSbch2WyHw  address              Bank Address 1
  2  pICzm4iw9sWS_4m2ZR4mmQ  login                breached                 john.doe@example.com    keepersecurity.com
  3  qUX4gSlmDRfM1Kq9lrQi-w  databaseCredentials  MySQL Database           SQL_Admin
  4  rlr04tiSxFmLmRNjEC7h7Q                       NonTyped Record          legacy                  test.com
```

上の例では、一番下のレコード (#4) はタイプ指定されていないので、シークレットマネージャーとの互換性がありません。

### タイプ指定されたレコードの作成

タイプ指定されたレコードは、ボルトの **\[新規作成]** をクリックするか、またはコマンダーの[record-addコマンド](/keeperpam/jp/commander-cli/command-reference/record-commands/creating-and-updating-records.md)を使用して作成できます。

{% hint style="warning" %}
レコードタイプを選択する際、「一般」タイプを除くすべてのタイプでシークレットマネージャーと互換性があります。

一般タイプのレコードは、従来のタイプ指定されていないレコードと同じ扱いになります。
{% endhint %}

**既存のレコードを置きかえる**

タイプ指定されていない既存のレコードをシークレットマネージャーで使用したい場合は、タイプを「ログイン」にしてレコードを作成し、そのレコードに情報をコピーすることをお勧めします。

ログインタイプのレコードには、従来のタイプ指定されていないKeeperのレコードと同じフィールドがあります。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FNJL34fRdHUZ3Dc6EmzDv%2Fimage.png?alt=media&#x26;token=4ede4b70-6db4-4ff9-bfdf-98febccebd52" alt=""><figcaption><p>従来のKeeperのレコードと同じフィールドがあるログインタイプのレコード</p></figcaption></figure>

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FtBwj9aJ7t4eqOmohQKxt%2Fimage.png?alt=media&#x26;token=efe1493a-85d5-4d02-8a4e-737cd8435ee9" alt=""><figcaption><p>タイプ指定された新しいレコードにフィールドとファイルをコピー</p></figcaption></figure>

タイプ指定された新しいレコードをシークレットマネージャーアプリケーションがアクセスできる共有フォルダに配置するか、UIDを使用してアプリケーションで直接共有します。

### タイプ指定されていないレコードの変換

タイプ指定されていないレコードは、Keeperコマンダーの `convert` コマンドを使用して、シークレットマネージャーが利用できるタイプ指定されたレコードに変換できます。

形式

`convert <UID> --type <TYPE>`

例

```
convert Dtvb84zwkBmZgxrUByUfpg --type login
```

convertコマンドは、パターンを使用してす該当するすべてのレコードを検索し、すべてのサブフォルダに変換を適用でき、すべてのレコードタイプをサポートします。

`convert` コマンドの使用方法の詳細は、[こちらのページ](/keeperpam/jp/commander-cli/command-reference/record-commands/record-type-commands.md#convert-command)をご参照ください。

## スロットリング

KeeperシークレットマネージャーAAPIは、デバイスIDに基づいてリクエストを制限します。接続が制限されると、503のレスポンスコードなどのエラーが返されます (実際のメッセージは使用している統合機能やSDKによって異なります）。

### レート制限の詳細

シークレットマネージャーAPIは、10秒の間隔を置かずに200回を超える呼び出しを行うシステムに制限を設けています。

このカウントは、10秒タイマーが切れるとリセットされますが、10秒以内に次のリクエストが送信されるたびにタイマーが更新されます。そのため、10秒間の間隔を置かなければシステムは引き続き制限されます。

スロットリングされる可能性のある場合の例

* 10秒以内に201回呼び出した場合
* 9秒ごとに1回呼び出し、201回目の呼び出しを行った場合

スロットリング制限を解決する方法

* リクエストを送信する各マシンに対して追加のデバイスIDを生成する
* 200回の呼び出しごとにリクエストを10秒間一時停止する

{% hint style="info" %}
スロットリング制限の変更が必要な場合は、Keeperチーム (<commander@keepersecurity.com>) にお問い合わせください。
{% endhint %}


---

# 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/keeperpam/jp/secrets-manager/troubleshooting.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.
