シークレットマネージャー CLI
シークレットマネージャーのコマンドラインインターフェイス(CLI)は、シークレットを取得し注入するための強力なツールです。シークレットマネージャーCLIは、あなたの保管庫を作成
、削除
、編集
、そしてあなたの秘密とプロジェクトをリスト
するために使用できます。
シークレットマネージャーのCLIは自己文書化されています。コマンドラインから、以下を使用して利用可能なコマンドについて詳しく学びましょう:
Bashbws --help, -h
CLIはWindows、macOS、およびLinuxディストリビューションでクロスプラットフォームとして使用することができます。シークレットマネージャー CLI をダウンロードしてインストールするには:
https://github.com/bitwarden/sdk/releasesからシークレットマネージャーCLIをダウンロードしてください。
シークレットマネージャーのCLIは、特定のサービスアカウントに対して生成されたアクセストークンを使用してログインすることができます。これは、サービスアカウントがアクセスできるシークレットとプロジェクトのみがCLIを使用して操作できることを意味します。CLIセッションを認証する方法はいくつかあります:
あなたは環境変数BWS_ACCESS_TOKEN
にアクセストークンの値を保存することで、CLIセッションを認証することができます。例えば:
Bashexport BWS_ACCESS_TOKEN=0.48c78342-1635-48a6-accd-afbe01336365.C0tMmQqHnAp1h0gL8bngprlPOYutt0:B3h5D+YgLvFiQhWkIq6Bow==
あなたは-t
、--access-token
フラグを使用して、個々のコマンドで個々のCLIリクエストを認証することができます。例えば:
Bashbws secret list --access-token 0.48c78342-1635-48a6-accd-afbe01336365.C0tMmQqHnAp1h0gL8bngprlPOYutt0:B3h5D+YgLvFiQhWkIq6Bow==
注意
あなたのワークフローが多くの別々のセッション(アクセストークンを使用して認証する各使用が「セッション」を構成する)を使用して、短時間で同じIPアドレスからリクエストを行う場合、レート制限に遭遇する可能性があります。
コマンドは、シークレットマネージャーCLIと対話するために使用されます。シークレットとプロジェクトは、特定のアクセストークンに与えられた権限によって読み取りまたは書き込みが可能です。シークレット
とプロジェクト
に利用可能なコマンドに関する追加の詳細については、以下を使用してください:
bws secret --help
bwsプロジェクト --ヘルプ
備考
シークレットマネージャーのバー ジョン0.3.0から、CLIの構文が変更されました。たとえば、シークレットをリストするコマンドは、bws list secrets
からbws secret list
に変更されました。
古い構文は一時的にシークレットマネージャーCLIでサポートされたままになります。あなたがどのバージョンのシークレットマネージャーCLIを使用しているのかわからない場合は、bws --version
を入力してください。
シークレット
コマンドは、シークレットにアクセスし、操作し、作成するために使用されます。すべてのコマンドと同様に、アクセストークンのアクセス範囲外のプロジェクトや秘密は読み取りまたは書き込みができません。
新しいシークレットを作成するには、bws secret create
を使用してください。このコマンドは、キー
、値
、およびプロジェクトID
が必要です。
Bashbws secret create <KEY> <VALUE> <PROJECT_ID>
必要に応じて、--note
オプションを使用してメモを追加することができます。例えば:
Bashbws secret create SES_KEY 0.982492bc-7f37-4475-9e60 f588b2f2-4780-4a78-be2a-b02d014d622f --note "API Key for AWS SES"
このコマンドは、デフォルトではJSONオブジェクトを返し、シークレットをシークレットマネージャーに保存します。出力形式は--output
フラグを使用して変更できます(詳細を学ぶ)。
Bash{
"object": "secret",
"id": "be8e0ad8-d545-4017-a55a-b02f014d4158",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"key": "SES_KEY",
"value": "0.982492bc-7f37-4475-9e60",
"note": "API Key for AWS SES",
"creationDate": "2023-06-28T20:13:20.643567Z",
"revisionDate": "2023-06-28T20:13:20.643567Z"
}
bws secret 削除
を使用して、SECRET_IDS
によって指定された1つまたは複数の秘密を削除します。
Bashbws secret delete <SECRET_IDS>
id
be8e0ad8-d545-4017-a55a-b02f014d4158
の単一の秘密を削除するには:
Bashbws secret delete be8e0ad8-d545-4017-a55a-b02f014d4158
複数の秘密について、ID
は382580ab-1368-4e85-bfa3-b02e01400c9f
と47201c5c-5653-4e14-9007-b02f015b2d82
です:
Bashbws secret delete 382580ab-1368-4e85-bfa3-b02e01400c9f 47201c5c-5653-4e14-9007-b02f015b2d82
出力:
Bash1 secret deleted successfully.
秘密を編集するには、以下の構造が選択した値に変更を適用します。CLI からこのコマンドを使用して、シークレットKEY
、 VALUE
、 NOTE
、またはPROJECT_ID
を編集できます。
Bashbws secret edit <SECRET_ID> --key <KEY> --value <VALUE> --note <NOTE> --project-id <PROJECT_ID>
例えば、既存の秘密にメモを追加したい場合は:
Bashbws secret edit be8e0ad8-d545-4017-a55a-b02f014d4158 --note "I am adding a note"
備考
スペースを含むメモ
を編集するときは、文字列の周りに引用符を含めてください。
SES_KEY2
が新しいキー
であり、0.1982492bc-7f37-4475-9e60
が新しい値
である複数のフィールドを編集するには:
Bashbws secret edit be8e0ad8-d545-4017-a55a-b02f014d4158 --key SES_KEY2 --value 0.1982492bc-7f37-4475-9e60
出力:
Bash{
"object": "secret",
"id": "be8e0ad8-d545-4017-a55a-b02f014d4158",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"key": "SES_KEY2",
"value": "0.1982492bc-7f37-4475-9e60",
"note": "I am adding a note",
"creationDate": "2023-06-28T20:13:20.643567Z",
"revisionDate": "2023-06-28T20:45:37.46232Z"
}
特定のシークレットを取得するには、bws secret get
を使用してください。
Bashbws secret get <SECRET_ID>
デフォルトでは、このコマンドはSECRET_ID
を使用してシークレットオブジェクトを取得します。
Bashbws secret get be8e0ad8-d545-4017-a55a-b02f014d4158
デフォルトでは、get
は次の例に示すように、オブジェクトをJSON配列として返します。出力形式は--output
フラグを使用して変更できます(詳細を学ぶ)。
Bash{
"object": "secret",
"id": "be8e0ad8-d545-4017-a55a-b02f014d4158",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"key": "SES_KEY",
"value": "0.982492bc-7f37-4475-9e60",
"note": "",
"creationDate": "2023-06-28T20:13:20.643567Z",
"revisionDate": "2023-06-28T20:13:20.643567Z"
}
サービスアカウントがアクセスできるシークレットをリストするには、次のコマンドを使用します:
Bashbws secret list
次のコマンドを使用して、特定のプロジェクト内の秘密だけをリストにすることもできます。ここで、e325ea69-a3ab-4dff-836f-b02e013fe530
はプロジェクト識別子を表します:
Bashbws secret list e325ea69-a3ab-4dff-836f-b02e013fe530
デフォルトでは、list
は次の例のようにJSON配列としてオブジェクトを返します。出力形式は--output
フラグを使用して変更できます(詳細を学ぶ)。
Bash[
{
"object": "secret",
"id": "382580ab-1368-4e85-bfa3-b02e01400c9f",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"key": "Repository 1",
"value": "1234567ertthrjytkuy",
"note": "Main Repo",
"creationDate": "2023-06-27T19:25:15.822004Z",
"revisionDate": "2023-06-27T19:25:15.822004Z"
},
{
"object": "secret",
"id": "be8e0ad8-d545-4017-a55a-b02f014d4158",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"key": "SES_KEY",
"value": "0.982492bc-7f37-4475-9e60",
"note": "",
"creationDate": "2023-06-28T20:13:20.643567Z",
"revisionDate": "2023-06-28T20:13:20.643567Z"
}
]
プロジェクトコマンドは、プロジェクトにアクセスし、操作し、作成するために使用されます。あなたのサービスアカウントに割り当てられたアクセスの範囲は、プロジェクト
コマンドで何が完了できるかを決定します。
備考
プロジェクトは、読み取り専用アクセスを持つサービスアカウントによって作成することができます。しかし、サービスアカウントによって作成されていない既存のプロジェクトは、読み取りと書き込みのアクセス権がなければ編集することはできません。
新しいプロジェクトを作成するには、bws project create
を使用してください。このコマンドは名前
が必要です。
Bashbws project create <NAME>
この例では、マイプロジェクト
という名前のプロジェクトが作成されます。
Bashbws project create "My project"
デフォルトでは、bws project create
は次の例のように、オブジェクトをJSON配列として返します。出力形式は--output
フラグを使用して変更できます(詳しくはこちら)。
Bash{
"object": "project",
"id": "1c80965c-acb3-486e-ac24-b03000dc7318",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"name": "My project",
"creationDate": "2023-06-29T13:22:37.942559Z",
"revisionDate": "2023-06-29T13:22:37.942559Z"
}
bws project 削除
を使用して、PROJECT_IDS
で指定された1つまたは複数のプロジェクトを削除します。
Bashbws project delete <PROJECT_IDS>
単一のプロジェクトについて、f1fe5978-0aa1-4bb0-949b-b03000e0402a
はPROJECT_ID
を表します:
Bashbws project delete f1fe5978-0aa1-4bb0-949b-b03000e0402a
複数のプロジェクトにおいて、1c80965c-acb3-486e-ac24-b03000dc7318
と f277fd80-1bd2-4532-94b2-b03000e00c6c
が PROJECT_IDS
を表します:
Bashbws project delete 1c80965c-acb3-486e-ac24-b03000dc7318 f277fd80-1bd2-4532-94b2-b03000e00c6c
出力:
Bash1 project deleted successfully.
編集
コマンドを使用すると、次の入力でプロジェクトの名前を変更することができます:
Bashbws project edit <PROJECT_ID> --name <NEW_NAME>
たとえば、このコマンドはプロジェクト名をマイプロジェクト2
に変更します。
Bashbws project edit 1c80965c-acb3-486e-ac24-b03000dc7318 --name "My project 2"
デフォルトでは、bwsプロジェクト編集
は、次の例のようにオブジェクトをJSON配列として返します。出力形式は--output
フラグを使用して変更できます(詳細を学ぶ)。
Bash{
"object": "project",
"id": "1c80965c-acb3-486e-ac24-b03000dc7318",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"name": "My project 2",
"creationDate": "2023-06-29T13:22:37.942559Z",
"revisionDate": "2023-06-29T13:31:07.927829Z"
}
get
コマンドは、ログインしたサービス アカウントがコンテナーからアクセスできる特定のプロジェクトを取得します。サービスアカウントがアクセスできない保管庫内のオブジェクトは取得できません。
Bashbws project get <PROJECT_ID>
特定のプロジェクトを取得するには、e325ea69-a3ab-4dff-836f-b02e013fe530がPROJECT_ID
を表す次のコマンドを使用します:
Bashbws project get e325ea69-a3ab-4dff-836f-b02e013fe530
デフォルトでは、get
は次の例のようにJSON配列としてオブジェクトを返します。出力形式は--output
フラグを使用して変更できます(詳細を学ぶ)。
Bash{
"object": "project",
"id": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"name": "App 1",
"creationDate": "2023-06-27T19:24:42.181607Z",
"revisionDate": "2023-06-27T19:24:42.181607Z"
}
このサービスアカウントがアクセスできるプロジェクトをリストするには、次のコマンドを使用してください:
Bashbws project list
デフォルトでは、list
は次の例のようにJSON配列としてオブジェクトを返します。出力形式は--output
フラグを使用して変更できます(詳細を学ぶ)。
Bash[
{
"object": "project",
"id": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"name": "App 1",
"creationDate": "2023-06-27T19:24:42.181607Z",
"revisionDate": "2023-06-27T19:24:42.181607Z"
}.
...
]
configコマンドは、シークレットマネージャーCLIが使用するサーバー設定を指定します。bws config
の主な用途は、CLI をセルフホスト型 Bitwarden サーバに接続することです。
利用可能な設定には、例えば、server-base
、server-api
、server-ID
が含まれます。
Bashbws config server-base https://my_hosted_server.com
この方法で行うと、指定したサーバーの値はデフォルトプロファイルに保存され、~/.bws/config
ファイルに保存されます。次のオプションを使用して、代替のプロファイルと設定ファイルを作成することができます:
--profile
オプションをconfig
コマンドと一緒に使用して、指定されたサーバーの値を代替プロファイルに保存します。例えば:
Bashbws config server-base http://other_hosted_server.com --profile dev
一度作成すると、そのプロファイルを他のコマンドと一緒に使用して、指定されたサーバーへのリクエストをルーティングすることができます。例えば:
Bashbws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --profile dev
--config-file
オプションをconfig
コマンドと一緒に使用して、指定されたサーバー値を代替の設定ファイルに保存します。例えば、新しい設定ファイルのデフォルトプロファイルに値を保存するために使用します。
Bashbws config server-base http://third_hosted_server.com --config-file ~/.bws/alt_config
あなたは--config-file
と--profile
を連鎖させて、代替の設定ファイルの代替プロファイルに値を保存することができます。例えば:
Bashbws config server-base http://third_hosted_server.com --config-file ~/.bws/alt_config --profile alt_dev
一度作成すると、そのプロファイルを他のコマンドと一緒に使用して、指定されたサーバーへのリクエストをルーティングすることができます。例えば:
Bashbws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --config-file ~/.bws/alt_config --profile alt_dev
デフォルトでは、シークレットマネージャーのCLIは、コマンドに対する応答としてJSONオブジェクトまたはJSONオブジェクトの配列を返します。出力形式は、以下のオプションのいずれかとともに-o
、--output
フラグを使用して、あなたのニーズに合わせて変更することができます。
json
: デフォルト。JSONを出力します。yaml
: YAMLを出力します。テーブル
: キーを列見出しとしてASCIIテーブルを出力します。tsv
: キーなしでタブ区切りの値を出力します。none
: エラーと警告のみを出力します。env
: 秘密鍵をKEY=VALUE形式で出力します。
例えば、コマンド:
Bashbws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --output yaml
次のものを返します:
Bashobject: secret
id: 2863ced6-eba1-48b4-b5c0-afa30104877a
organizationId: b8824f88-c57c-4a36-8b1a-afa300fe0b52
projectId: 1d0a63e8-3974-4cbd-a7e4-afa30102257e
key: Stripe API Key
value: osiundfpowubefpouwef
note: 'These are notes.'
creationDate: 2023-02-08T15:48:33.470701Z
revisionDate: 2023-02-08T15:48:33.470702Z
備考
env出力形式を使用している間、キー名がPOSIX準拠でない場合、そのキー値ペアはコメントアウトされ、出力が変更されたことを示すコメントが出力の最下部に表示されます。
--output envフラグ
を使用して、例えば:
Bashbws secret list --output env
次のものを返します:
Bashthis_is_a_keyname="this is a key value"
CLOUDFLARE_API_TOKEN="123412341234123412341234"
# This is an invalid keyname="this will get commented-out"
# one or more secrets have been commented-out due to a problematic key name
出力は、カラー化した出力を希望するかどうかを指定することでさらにカスタマイズできます。このオプションの利用可能な値は、はい
、いいえ
、そして自動
です。
-t
、--access-token
オプションを使用して、個々のコマンドで個々のCLIリクエストを認証できます。例えば:
Bashbws secret list --access-token 0.48c78342-1635-48a6-accd-afbe01336365.C0tMmQqHnAp1h0gL8bngprlPOYutt0:B3h5D+YgLvFiQhWkIq6Bow==
--profile
オプションをlist
またはget
コマンドと一緒に使用して、使用するプロファイルを指定します。例えば:
Bashbws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --profile dev
代替プロファイルの理解と設定のために、config
コマンド(ここ)を参照してください。
--config-file
オプションを--profile
オプションとlist
またはget
コマンドと一緒に使用して、どの設定ファイルのどのプロファイルを使用するかを指定します。例えば:
Bashbws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --config-file ~/.bws/alt_config --profile alt_dev
代替の設定ファイルとプロファイルの理解と設定についてのヘルプは、設定
コマンド(ここ)を参照してください。
このオプションは、CLIが特定のコマンドに関連するリクエストを送信するサーバーURLを設定するために使用できます。例えば:
Bashbws list secrets --server-url http://my_hosted_server.com
このオプションは、config
コマンド(こちらを参照)で設定されたURLを上書きします。
このオプションを使用して、指定されたbws
コマンドのヘルプを印刷します。
このオプションを使用して、使用中のbws
クライアントのバージョンを印刷します。
このページの変更を提案する
どうすればこ のページを改善できますか?
技術、請求、製品に関するご質問は、サポートまでお問い合わせください。