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

機能
Keeperボルトからシークレットを取得してPowerShellで使用
KeeperボルトをPowerShell Secrets Managerと統合
PowerShellからKeeperボルトのシークレット値を更新
Keeperボルトからファイルを取得
要件
本ページでは、シークレットマネージャーとPowerShellとの連携について説明します。 この連携を利用するための必要条件は以下のとおりです。
シークレットマネージャーには、PowerShellバージョン6以降が必要です。Microsoftは、PowerShellバージョン6以降をバージョン5以前とは別のアプリケーションとして配布しています。
インストールの詳細は、Microsoftのドキュメントをご参照ください。
PowerShellバージョン6.0以降
インストールの詳細は、Microsoftのドキュメントをご参照ください。
Keeperシークレットマネージャーへのアクセス (詳細は、クイックスタートガイドをご参照ください)
Keeperアカウントのシークレットマネージャーアドオンの有効化
シークレットマネージャー関連ポリシーが有効化されたロールのメンバーシップ
シークレットを共有するKeeperシークレットマネージャーアプリケーション
アプリケーションの作成手順については、クイックスタートガイドをご参照ください
概要
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でソースコードを検索してください。
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拡張機能をローカルストレージに使用すると、ローカルボルトに安全にアクセスするためのパスワードの作成を求められる場合があります。
システム設定によっては、set-executionpolicy remotesigned
コマンドを使用してPowerShellが外部モジュールを信頼できるようにする必要があります。
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
など) を追加する必要があります。
これで、KeeperシークレットマネージャーPowerShellプラグインを使用する準備ができました。
ソースコード
GitHubリポジトリでKeeperシークレットマネージャーPowerShellプラグインのソースコードを検索します。
使用方法
KeeperシークレットマネージャーPowerShellプラグインの最も一般的な使用方法とその例を以下にご紹介します。
PowerShell Secret Managementのコマンドの詳細については、GitHubページのPowerShellドキュメントをご参照ください。
バージョン16.6.6以降、Get/Set
コマンドでは、タイトル内のドットに対してエスケープ文字として\
を使用できるようになりました。タイトルにドットが含まれている場合のみエスケープ文字を使用し、.\
や\\
のようにドット.
とバックスラッシュ\
の両方をエスケープしてください。
シークレットを一覧表示
以下のPowerShellコマンドを実行して、Keeperのシークレットの一覧を表示します。
Get-SecretInfo -Vault <KEEPER VAULT NAME>
Keeperシークレットのボルトに設定された名前を使用します。上記の例では、Keeper
が使用されています。
シークレットマネージャーアプリケーションと共有されているすべてのレコードが表示されます。「Name」列には、各レコードのUIDとタイトルが表示されます。
単一のシークレットを取得
単一のシークレットの情報と値を取得します。
Get-Secret -Vault <KEEPER VAULT NAME> <RECORD NAME or UID> -AsPlainText
レコード名にスペースが使用されている場合は、引用符で囲みます。
シークレットから値を取得
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
に渡したパスの場所にダウンロードされます。
最終更新