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

## **「-」で始まるUID**

レコードはUIDランダムに生成されるため、「-」 (ハイフン) で始まる場合があります。この場合、コマンダーのCLIはUIDをUID値として認識できなくなります。

「-」で始まる位置パラメータでUIDを使用するには、UIDの前に「--」を追加します。

**例:**

```
get -- -UREsVJNP7vU-KTyZ3YF9A
```

すると、コマンダーのCLIは、UIDをコマンドスイッチと混同することなくUIDを認識できるようになります。この場合、UIDが`-UREsVJNP7vU-KTyZ3YF9A`のレコードが検索されます。

**「-」で始まるUIDと追加のコマンドスイッチの組み合わせ**

UIDを追加のコマンドスイッチと組み合わせる場合、UIDをすべてのコマンドスイッチの後に配置する必要があります。つまり、UIDは最後のパラメータとして配置する必要があります。

**例:**

```
get --format json -- -UREsVJNP7vU-KTyZ3YF9A
```

**引数として「-」で始まるUIDの使用**

コマンドのフラグの引数としてUIDを使用する必要がある場合は、フラグの後に「=」を追加してUIDを引用符で囲みます。

**例:**

```
secrets-manager share add --app TestApp --secret="-fwZjKGbKnZCo1Fh8gsf5w"
```

## タイプ指定されたレコードとタイプ指定されていないレコード (V3とV2) <a href="#typed-vs-untyped-records-v3-vs-v2" id="typed-vs-untyped-records-v3-vs-v2"></a>

コマンダーを使用すると、タイプ指定されたレコードとタイプ指定されていないレコード (V3レコードとV2レコード)への参照が発生する場合があります。これらのレコードには基本的な違いがいくつかあり、プラットフォームの一部機能で取り扱いが異なります。

<details>

<summary>タイプ指定されたレコード (V3) とは</summary>

レコードタイプを持つレコードは「タイプ指定された」 とみなされ、「V3」と呼ばれる場合もあります。 これらのレコードは、定義およびカスタマイズが可能な柔軟な構造とセキュリティが強化された最新の暗号化モデルを備えています。

タイプ指定されたレコードは、[Keeperシークレットマネージャー](https://docs.keeper.io/jp/keeperpam/secrets-manager/overview)などの一部の機能に必要です。

</details>

<details>

<summary>レガシーレコード (V2) とは</summary>

レコードタイプのリリース前に作成された古いレコードは、「タイプ指定なし」、「レガシー」、または「V2」レコードと呼ばれます。 これらのレコードには、ログイン、パスワード、url、totp、ファイル添付フィールド (およびメモ) を含む決まった構造があります。その他のフィールドは、カスタムフィールドとしてレコードに追加する必要があります。

</details>

### タイプ指定されたレコードとレガシーレコードの識別方法

コマンダーで、`get`コマンドを使用してレコードの詳細情報を表示すると、タイプ指定されたレコードには常にタイプフィールドが表示されますが、レガシーレコードにはタイプフィールドが一切表示されません。

```
Typed Record
My Vault> get uxRrj[...]ZAM0bSQ

                 UID: uxRrj[...]ZAM0bSQ
                Type: databaseCredentials
               Title:LastPass Database
               Notes:LP DB Notes
         type (text):SQL
              (host): hostName | 3030
             (login):SQL_Admin
     Database (text):MyDB
     
Legacy Record
My Vault> get 4XjSH[...]Gy1LAEg

                 UID:4XjSH[...]Gy1LAEg
               Title:My Record
               Login:Login
            Password:Password
```

また、`ls -l`コマンドでの一覧表示では、Type (タイプ) という列があります。Type列で値があるレコードはすべてタイプ指定されたレコードで、値がないレコードはレガシーレコードとなります。

```
My Vault> ls -l
    #  Record UID  Type                 Title                    Login                      URL
---  ------------- -------------------  -----------------------  -------------------------  -----------------------------------
  1  V[...]w       login                Typed                    MyLogin                    example.com
  2  q[...]A                            Legacy                   MyLegacyLogin              legacy.com
```

### 大きな違い

<table><thead><tr><th width="217.31499207662347">テキスト</th><th width="231.31959243411546">レガシー</th><th>タイプ指定</th></tr></thead><tbody><tr><td>名前</td><td>レガシー、タイプ指定なし、V2</td><td>タイプ指定、V3</td></tr><tr><td>フィールド</td><td>所定 (ログイン、パスワード、URL、totp、ファイル、メモ)</td><td>タイプ別にカスタマイズ可能</td></tr><tr><td>タイプ値<br>(<code>get [UID]</code>コマンド)</td><td>空 (タイプフィールドなし)</td><td><code>Type: タイプ値</code><br>「ログイン」など</td></tr></tbody></table>

## **コマンドの権限**

コマンダーで操作を実行しようとすると、次のエラーメッセージが表示される場合があります。

> この操作を実行するために必要な権限がありません

このメッセージは、現在ログインしているアカウントに、要求された操作を実行する権限がないことを示します。

多くのコマンダーコマンドでは、ある種の権限ポリシーを有効にする必要があります。該当する場合は、コマンドの使用に権限が必要な場合がドキュメントに記載されているはずです。

このメッセージの表示につながり得る権限タイプが以下の3種類あります。

### ロール強制適用ポリシー

Keeperのロールでは、そのロールのすべてのユーザーに許可される権限を指定できます。たとえば、ユーザーがレコードを共有できるか否か、またはKeeperシークレットマネージャーを使用できるか否かをロールで設定できます。ユーザーに複数のロールが割り当てられている場合は、最も制限の厳しい権限が適用されます。

ロール強制ポリシーの詳細については、[こちら](https://docs.keeper.io/enterprise-guide/roles/enforcement-policies)をご参照ください。

### 管理上の権限

Keeper管理者は、アカウントレベルの操作と機能にアクセスし、これらの権限ポリシーを使用してOFFまたはONにできます。これには、コンプライアンスレポートの実行などが含まれます。

管理上の許可の詳細については、[こちら](https://docs.keeper.io/enterprise-guide/delegated-administration)をご参照ください。

### **アドオン**

一部の機能を使用するには、アドオンの追加が必要です。これらには、Keeperシークレットマネージャーや、カスタムレポートの実行に必要な高度なレポートとアラートモジュールなどの機能が含まれます。アドオンは、Keeper管理コンソールの安全なアドオンセクションで管理できます。

アドオンの管理については、[こちら](https://docs.keeper.io/enterprise-guide/getting-started-with-keeper-admin-console)をご参照ください。

## **Pythonのインストールに関する問題**

Python 3の最新版がインストールされていることを確かにしてください。

### **Windowsの場合**

```
C:\>pip3 --version
```

WinPythonが正しくインストールされていることを検証するには、インストールフォルダで「WinPythonコマンドプロンプト」を起動して、インストールされたバージョンを確認します。

### Macの場合

MacOSに搭載されたデフォルトのpythonインストールファイルは古く、サポートされていません。最新バージョンのPythonをインストールする必要があります。

{% hint style="info" %}
オペレーティングシステムのセキュリティ設定によっては、アプリケーションの実行またはインストールの「許可」が必要になる場合があります。「システム設定」 > 「プライバシーとセキュリティ」 > 「全般」タブを開いて設定します。
{% endhint %}

Pythonが正しくインストールされていることを検証するには、ターミナルウィンドウでインストールされたバージョンを確認します。

```
$ pip3 --version
```

以下のコマンドは実行しないでください。旧バージョンのpythonが報告されます。

```
$  --version
```

## MS-DOS / Windows パスの操作

Microsoft (Windows / DOS) 環境でコマンダーを使用する場合、コマンド呼び出しのコンテキストで外部ファイルを参照するときに、ネイティブのファイルシステムパスフォーマット (バックスラッシュ付き) の使用が便利な場合があります (コマンドの出力を画面に表示するのではなく、ファイルを指定して保存する場合など)。

このような場合、コマンダーでコマンドが正しく解析されるように、ファイルパスを引用符 (シングルまたはダブル) で囲むことを推奨します。

たとえば、list コマンドを実行し、結果を (CSV形式で) **C:\Users\user1\my\_records.csv**に出力する場合のコマンドは、以下のようになります。

```
list --format csv --output 'C:\Users\user1\my_records.csv'
```

## セキュリティ監査レポートのスコアの再調整プロセス <a href="#security-audit-report-score-re-alignment-process" id="security-audit-report-score-re-alignment-process"></a>

#### 背景

Keeperのゼロトラストおよびゼロ知識暗号化モデルにより、エンタープライズレベルのセキュリティ監査レポートでは、対応するボルト自体のセキュリティ監査レポートと矛盾するボルトレベルのセキュリティスコアが発生する場合があります。 ほとんどの場合、これらのスコアの不一致は、各ボルト所有者がウェブボルトにログインするだけで修正でき、管理上の操作は必要ありません。

ただし、上記の方法でセキュリティスコアが再調整されない場合は、以下のプロセスで手動でセキュリティデータを同期させます。

#### 手順

Keeper管理者としてコマンダーへログインし、以下を実行します。

```
security-audit sync --hard <USER_EMAIL_1> <USER_EMAIL_2> ... <USER_EMAIL_N> 
```

`<USER_EMAIL_1> ... <USER_EMAIL_N>` は、同期させたいボルトに関連付けられたメールアドレスとなります。

あるいは、上記のように個別のボルトに対してではなくすべてのボルトが同期するよう選択できます。

```
security-audit sync --hard @all
```

プロセスを完了するには、影響を受ける各ボルトの所有者に、最新版のコマンダーを使用してそれぞれのアカウントにログインしてもらいます (インストーラーは、[こちら](https://github.com/Keeper-Security/Commander/releases/tag/v16.10.7)のページの「Assets」の箇所からダウンロードできます)。

{% hint style="info" %}
上記のどちらかのコマンド呼び出しの直後に、該当ボルトに対して不正確なセキュリティ監査スコアが表示される場合がありますが一時的なもので、該当の各ボルト所有者がコマンダーからアカウントにログインすると修正されます。
{% endhint %}

## **SSL証明書エラー**

コマンダーまたは関連するKeeper SDKコードの実行中に、以下のようなSSL証明書エラーが表示される。

**Certificate validation error.More info:**

**<https://docs.keeper.io/secrets-manager/commander-cli/using-commander/troubleshooting-commander-cli#ssl-certificate-errors>**

または

**requests.exceptions.SSLError:HTTPSConnectionPool(host='keepersecurity.com', port=443):Max retries exceeded with url: /api/rest/authentication/get\_device\_token (Caused by SSLError(SSLCertVerificationError(1, '\[SSL:CERTIFICATE\_VERIFY\_FAILED] certificate verify failed: unable to get local issuer certificate (\_ssl.c:1108)')))**

このメッセージが表示された場合は、ネットワークがプロキシを使用してパケットインスペクションを実行しようとしていないことを確かにしてください。高度な暗号化により、Keeperのトラフィックはネットワークプロキシデバイスで傍受できません。ITチームにご相談の上、ファイアウォールのアウトバウンドでkeepersecurity.\[com|eu|com.au]向けのトラフィックを許可してもらうようにしてください。

## バグを発見した場合

弊社までお知らせください。 <commander@keepersecurity.com>までメールをお送りいただくか、[Githubリポジトリ](https://github.com/Keeper-Security/Commander/issues)でチケットをオープンしてください。

## 脆弱性情報開示プログラム

KeeperはBugcrowdと提携して、脆弱性情報開示プログラムを運営しています。<https://bugcrowd.com/keepersecurity>からレポートを送信するか、または<security@keepersecurity.com>にメールを送信してください。
