PowerShellプラグイン

PowerShellのSecret Managementモジュールを使用して、KeeperシークレットマネージャーのPowerShellプラグインを通じてシークレットにアクセス

機能

  • Keeperボルトからシークレットを取得してPowerShellで使用

  • KeeperボルトをPowerShell Secrets Managerと統合

  • PowerShellからKeeperボルトのシークレット値を更新

  • Keeperボルトからファイルを取得

Keeperシークレットマネージャー機能の完全なリストについては、概要ページをご参照ください。

要件

本ページでは、シークレットマネージャーとPowerShellとの連携について説明します。 この連携を利用するための必要条件は以下のとおりです。

概要

KeeperシークレットマネージャーPowerShellプラグインは、Microsoft PowerShellのSecret Managementモジュールを利用して、KeeperボルトからPowerShellスクリプトにシークレットを注入します。

Keeperシークレットマネージャー拡張機能は、新規または既存のPowerShell Secret Managementワークフローにシークレットのボルトとして追加するように簡単に設定できます。

PowerShell Secret Managementの詳細については、GitHub上ののPowerShellドキュメントをご参照ください。

インストール

1. PowerShell Secret Managementモジュールのインストール

Keeperシークレットマネージャーは、Microsoft.PowerShell.SecretManagementモジュールを使用して、PowerShellのシークレットを管理します。

PowerShellを使用してインストール

Install-Module -Name Microsoft.PowerShell.SecretManagement

その他のインストールオプションについては、PowerShellギャラリーをご参照ください。

2. PowerShell用Keeperシークレットマネージャーのインストール

PowerShellギャラリーからKeeperシークレットマネージャーPowerShell拡張機能をインストールします。

Install-Module -Name SecretManagement.Keeper

その他のインストールオプションについては、PowerShellギャラリーページを参照するか、GitHubでソースコードを検索してください。

SecretManagementを更新するには、Update-Module -Name SecretManagement.Keeperのコマンドを使用します。

3. PowerShell Secret Management拡張機能のインストール

使用したいシークレット拡張機能がローカルにすでにインストール済みの場合は、この手順を省略できます。

KeeperシークレットマネージャーPowerShellプラグインには、プラグイン構成をローカルマシンに格納するためのシークレット管理拡張機能が必要です。

Keeperでは、Microsoft.Powershell.SecretStoreまたはSecretManagement.KeyChainを推奨しています。

Install-Module -Name Microsoft.Powershell.SecretStore

4. 構成の保管に使用するボルトの登録

使用したいシークレットのボルトがローカルにすでに登録済みの場合は、この手順を省略できます。

Keeperシークレットマネージャープラグインの構成を格納できるように、以前にインストールしたシークレット管理拡張機能用のシークレットのボルトを登録します。

Register-SecretVault -Name LocalStore -ModuleName Microsoft.Powershell.SecretStore

このボルトの名前は、Keeper拡張機能の登録に使用されます。この例ではLocalStoreを使用しました。

Secret Management拡張機能をローカルストレージに使用すると、ローカルボルトに安全にアクセスするためのパスワードの作成を求められる場合があります。

5. Keeperボルトの登録

認証情報を保存するために上記で登録したローカルボルトと、Keeperに接続するためのワンタイムトークンを使用して、Keeperシークレットマネージャーボルトを登録します。

以下の「XXX」をワンタイムトークンに置き換えてください。

Register-KeeperVault -Name Keeper -LocalVaultName LocalStore -OneTimeToken XXX 

または、すでに生成された構成を使用することもできます。以下のXXXをBase64エンコードされた構成に置き換えてください。

Register-KeeperVault -Name Keeper -LocalVaultName LocalStore -Config XXX

6. Keeperボルトをデフォルトのシークレットの保存先として設定 (オプション)

追加したKeeperボルトをシークレットの既定の保存先として設定します。 これにより、シークレットを取得および設定するときに、ご利用のKeeperボルトを使用するようにPowerShell SecretsManagementモジュールに指示します。

Set-SecretVaultDefault keeper

この手順はオプションですが、設定しない場合、同じ名前のシークレットがある際にデフォルトのボルトからシークレットを受け取る可能性があり、Get-SecretコマンドやSet-Secretコマンドに-Vault <Keeperボルト名> (-Vault keeperなど) を追加する必要があります。

ソースコード

GitHubリポジトリでKeeperシークレットマネージャーPowerShellプラグインのソースコードを検索します。

使用方法

KeeperシークレットマネージャーPowerShellプラグインの最も一般的な使用方法とその例を以下にご紹介します。

PowerShell Secret Managementのコマンドの詳細については、GitHubページのPowerShellドキュメントをご参照ください。

シークレットを一覧表示

以下のPowerShellコマンドを実行して、Keeperのシークレットの一覧を表示します。

Get-SecretInfo -Vault <KEEPER VAULT NAME>

Keeperシークレットのボルトに設定された名前を使用します。上記の例では、Keeperが使用されています。

シークレットマネージャーアプリケーションと共有されているすべてのレコードが表示されます。「Name」列には、各レコードのUIDとタイトルが表示されます。

単一のシークレットを取得

単一のシークレットの情報と値を取得します。

Get-Secret -Vault <KEEPER VAULT NAME> <RECORD NAME or UID> -AsPlainText

レコード名にスペースが使用されている場合は、引用符で囲みます。

-AsPlainTextを指定すると、シークレットの実際の値が表示されます。 指定しない場合は、SecureStringとして表示されます。

シークレットから値を取得

Keeper表記法を利用して、アクセスするフィールドを識別します。「keeper://」という接頭辞は必要ありません。

Get-Secret -Vault <KEEPER VAULT NAME> <RECORD NAME OR UID>.<FIELD> -AsPlainText

シークレットに値を設定

単一のシークレットのフィールドの値を更新します。

Set-Secret -Vault <KEEPER VAULT NAME> <RECORD NAME OR UID>.<FIELD> <VALUE TO SET>

ファイルのダウンロード

Keeperボルト内のシークレットに添付されたファイルを指定するには、ドット記法を使用します。 次に、そのファイルをSet-Contentコマンドに渡してダウンロードします。

Get-Secret -Vault <KEEPER VAULT NAME> <RECORD NAME OR UID>.files[<FILENAME>] `
| Set-Content -Path <FILE PATH> -AsByteStream

指定したファイルは、Set-Contentに渡したパスの場所にダウンロードされます。

最終更新