トラブルシューティング

シークレットマネージャーでよくある問題の解決策

アクセスの拒否

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

解決策

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

  1. Keeperアカウントのシークレットマネージャーアドオンを有効にすること

  2. シークレットマネージャー強制ポリシーが有効化されたロールが割り当てられていること

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

シークレットマネージャーは、Keeper管理コンソールの「安全なアドオン」セクションから追加できます。

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

Keeper管理コンソールで、ロール強制を使用して、ロールにシークレットマネージャーを追加します。 新しいロールを選択または作成し、「強制ポリシー」設定を開いて、[Keeper Secrets Manager]タブに移動し、そのロールに対してシークレットマネージャーを許可または禁止します。

Keeper管理コンソールのKeeper Secrets Manager強制ポリシー

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

Keeper CommanderによるSecrets Managerの有効化

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

Secrets Manager強制ポリシーを有効にするには、Keeper Commanderで次のコマンドを使用します。

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

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

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

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

ロールの作成と編集、およびユーザーのロールへの追加の詳細は、エンタープライズ管理コマンドのドキュメントをご参照ください。

「-」で始まる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コマンドを使用して作成できます。

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

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

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

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

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

従来のKeeperのレコードと同じフィールドがあるログインタイプのレコード
タイプ指定された新しいレコードにフィールドとファイルをコピー

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

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

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

形式:

convert <UID> --type <TYPE>

例:

convert Dtvb84zwkBmZgxrUByUfpg --type login

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

convertコマンドの使用方法の詳細は、こちらのページをご参照ください。

スロットリング

KeeperシークレットマネージャーAPIは、短時間に大量のリクエストを送信する接続を制限します。 接続が制限されている場合、503応答コードなどのエラーが表示されます (実際のメッセージは、使用している統合機能/SDKによって異なります)。

レート制限の詳細

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

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

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

  • 10秒以内に201回呼び出した場合

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

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

  • リクエストを送信する各マシンに対して追加のデバイスIDを生成する

  • 200回の呼び出しごとにリクエストを10秒間一時停止する

スロットリング制限の変更が必要な場合は、Keeperチーム (commander@keepersecurity.com) にお問い合わせください。

最終更新