シークレットマネージャー開発者ツール

シークレットマネージャー CLI

シークレットマネージャーのコマンドラインインターフェイス(CLI)は、シークレットを取得し注入するための強力なツールです。シークレットマネージャーCLIは、あなたの保管庫を作成削除編集、そしてあなたの秘密とプロジェクトをリストするために使用できます。

シークレットマネージャーのCLIは自己文書化されています。コマンドラインから、以下を使用して利用可能なコマンドについて詳しく学びましょう:

Bash
bws --help, -h

ダウンロードしてインストールしてください

CLIはWindows、macOS、およびLinuxディストリビューションでクロスプラットフォームとして使用することができます。シークレットマネージャー CLI をダウンロードしてインストールするには:

https://github.com/bitwarden/sdk/releasesからシークレットマネージャーCLIをダウンロードしてください。

認証

シークレットマネージャーのCLIは、特定のサービスアカウントに対して生成されたアクセストークンを使用してログインすることができます。これは、サービスアカウントがアクセスできるシークレットとプロジェクトのみがCLIを使用して操作できることを意味します。CLIセッションを認証する方法はいくつかあります:

あなたは環境変数BWS_ACCESS_TOKENにアクセストークンの値を保存することで、CLIセッションを認証することができます。例えば:

Bash
export BWS_ACCESS_TOKEN=0.48c78342-1635-48a6-accd-afbe01336365.C0tMmQqHnAp1h0gL8bngprlPOYutt0:B3h5D+YgLvFiQhWkIq6Bow==

あなたは-t--access-tokenフラグを使用して、個々のコマンドで個々のCLIリクエストを認証することができます。例えば:

Bash
bws 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が必要です。

Bash
bws secret create <KEY> <VALUE> <PROJECT_ID>

必要に応じて、--note オプションを使用してメモを追加することができます。例えば:

Bash
bws 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つまたは複数の秘密を削除します。

Bash
bws secret delete <SECRET_IDS>

id be8e0ad8-d545-4017-a55a-b02f014d4158の単一の秘密を削除するには:

Bash
bws secret delete be8e0ad8-d545-4017-a55a-b02f014d4158

複数の秘密について、ID382580ab-1368-4e85-bfa3-b02e01400c9f47201c5c-5653-4e14-9007-b02f015b2d82です:

Bash
bws secret delete 382580ab-1368-4e85-bfa3-b02e01400c9f 47201c5c-5653-4e14-9007-b02f015b2d82

出力:

Bash
1 secret deleted successfully.

秘密の編集

秘密を編集するには、以下の構造が選択した値に変更を適用します。CLI からこのコマンドを使用して、シークレットKEYVALUENOTE 、またはPROJECT_IDを編集できます。

Bash
bws secret edit <SECRET_ID> --key <KEY> --value <VALUE> --note <NOTE> --project-id <PROJECT_ID>

例えば、既存の秘密にメモを追加したい場合は:

Bash
bws secret edit be8e0ad8-d545-4017-a55a-b02f014d4158 --note "I am adding a note"
備考

スペースを含むメモを編集するときは、文字列の周りに引用符を含めてください。

SES_KEY2 が新しいキーであり、0.1982492bc-7f37-4475-9e60が新しいである複数のフィールドを編集するには:

Bash
bws 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を使用してください。

Bash
bws secret get <SECRET_ID>

デフォルトでは、このコマンドはSECRET_IDを使用してシークレットオブジェクトを取得します。

Bash
bws 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" }

秘密のリスト

サービスアカウントがアクセスできるシークレットをリストするには、次のコマンドを使用します:

Bash
bws secret list

次のコマンドを使用して、特定のプロジェクト内の秘密だけをリストにすることもできます。ここで、e325ea69-a3ab-4dff-836f-b02e013fe530はプロジェクト識別子を表します:

Bash
bws 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 を使用してください。このコマンドは名前が必要です。

Bash
bws project create <NAME>

この例では、マイプロジェクトという名前のプロジェクトが作成されます。

Bash
bws 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つまたは複数のプロジェクトを削除します。

Bash
bws project delete <PROJECT_IDS>

単一のプロジェクトについて、f1fe5978-0aa1-4bb0-949b-b03000e0402aPROJECT_IDを表します:

Bash
bws project delete f1fe5978-0aa1-4bb0-949b-b03000e0402a

複数のプロジェクトにおいて、1c80965c-acb3-486e-ac24-b03000dc7318 と f277fd80-1bd2-4532-94b2-b03000e00c6cPROJECT_IDS を表します:

Bash
bws project delete 1c80965c-acb3-486e-ac24-b03000dc7318 f277fd80-1bd2-4532-94b2-b03000e00c6c

出力:

Bash
1 project deleted successfully.

プロジェクトの編集

編集コマンドを使用すると、次の入力でプロジェクトの名前を変更することができます:

Bash
bws project edit <PROJECT_ID> --name <NEW_NAME>

たとえば、このコマンドはプロジェクト名をマイプロジェクト2に変更します。

Bash
bws 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コマンドは、ログインしたサービス アカウントがコンテナーからアクセスできる特定のプロジェクトを取得します。サービスアカウントがアクセスできない保管庫内のオブジェクトは取得できません。

Bash
bws project get <PROJECT_ID>

特定のプロジェクトを取得するには、e325ea69-a3ab-4dff-836f-b02e013fe530がPROJECT_IDを表す次のコマンドを使用します:

Bash
bws 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" }

プロジェクトリスト

このサービスアカウントがアクセスできるプロジェクトをリストするには、次のコマンドを使用してください:

Bash
bws 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-baseserver-apiserver-IDが含まれます。

Bash
bws config server-base https://my_hosted_server.com

この方法で行うと、指定したサーバーの値はデフォルトプロファイルに保存され、~/.bws/config ファイルに保存されます。次のオプションを使用して、代替のプロファイルと設定ファイルを作成することができます:

設定 --プロファイル

--profileオプションをconfigコマンドと一緒に使用して、指定されたサーバーの値を代替プロファイルに保存します。例えば:

Bash
bws config server-base http://other_hosted_server.com --profile dev

一度作成すると、そのプロファイルを他のコマンドと一緒に使用して、指定されたサーバーへのリクエストをルーティングすることができます。例えば:

Bash
bws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --profile dev

config --config-file

--config-fileオプションをconfigコマンドと一緒に使用して、指定されたサーバー値を代替の設定ファイルに保存します。例えば、新しい設定ファイルのデフォルトプロファイルに値を保存するために使用します。

Bash
bws config server-base http://third_hosted_server.com --config-file ~/.bws/alt_config

あなたは--config-file--profileを連鎖させて、代替の設定ファイルの代替プロファイルに値を保存することができます。例えば:

Bash
bws config server-base http://third_hosted_server.com --config-file ~/.bws/alt_config --profile alt_dev

一度作成すると、そのプロファイルを他のコマンドと一緒に使用して、指定されたサーバーへのリクエストをルーティングすることができます。例えば:

Bash
bws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --config-file ~/.bws/alt_config --profile alt_dev

オプション

-o、--output

デフォルトでは、シークレットマネージャーのCLIは、コマンドに対する応答としてJSONオブジェクトまたはJSONオブジェクトの配列を返します。出力形式は、以下のオプションのいずれかとともに-o--outputフラグを使用して、あなたのニーズに合わせて変更することができます。

  • json: デフォルト。JSONを出力します。

  • yaml: YAMLを出力します。

  • テーブル: キーを列見出しとしてASCIIテーブルを出力します。

  • tsv: キーなしでタブ区切りの値を出力します。

  • none: エラーと警告のみを出力します。

  • env: 秘密鍵をKEY=VALUE形式で出力します。

例えば、コマンド:

Bash
bws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --output yaml

次のものを返します:

Bash
object: 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フラグを使用して、例えば:

Bash
bws secret list --output env

次のものを返します:

Bash
this_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

-c, --カラー

出力は、カラー化した出力を希望するかどうかを指定することでさらにカスタマイズできます。このオプションの利用可能な値は、はいいいえ、そして自動です。

--アクセストークン

-t--access-token オプションを使用して、個々のコマンドで個々のCLIリクエストを認証できます。例えば:

Bash
bws secret list --access-token 0.48c78342-1635-48a6-accd-afbe01336365.C0tMmQqHnAp1h0gL8bngprlPOYutt0:B3h5D+YgLvFiQhWkIq6Bow==

--プロフィール

--profileオプションをlistまたはgetコマンドと一緒に使用して、使用するプロファイルを指定します。例えば:

Bash
bws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --profile dev

代替プロファイルの理解と設定のために、configコマンド(ここ)を参照してください。

--設定ファイル

--config-fileオプションを--profileオプションとlistまたはgetコマンドと一緒に使用して、どの設定ファイルのどのプロファイルを使用するかを指定します。例えば:

Bash
bws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --config-file ~/.bws/alt_config --profile alt_dev

代替の設定ファイルとプロファイルの理解と設定についてのヘルプは、設定コマンド(ここ)を参照してください。

--サーバーURL

このオプションは、CLIが特定のコマンドに関連するリクエストを送信するサーバーURLを設定するために使用できます。例えば:

Bash
bws list secrets --server-url http://my_hosted_server.com

このオプションは、configコマンド(こちらを参照)で設定されたURLを上書きします。

--ヘルプ

このオプションを使用して、指定されたbwsコマンドのヘルプを印刷します。

--バージョン

このオプションを使用して、使用中のbwsクライアントのバージョンを印刷します。

このページの変更を提案する

どうすればこのページを改善できますか?
技術、請求、製品に関するご質問は、サポートまでお問い合わせください。

クラウドのステータス

ステータスを確認する

あなたのサイバーセキュリティの知識をレベルアップさせましょう。

ニュースレターを購読してください。


© 2024 Bitwarden, Inc. 利用規約 プライバシー クッキーの設定 サイトマップ

このサイトは日本語でご利用いただけます。
Go to EnglishStay Here