自動化で Azure Key Vault を使用する

Important

PowerShellチームは、Secretモジュールは機能が完結しており、今後積極的に開発されることはないと決定しました。 これらのモジュールは引き続きサポートされ、セキュリティや重大なバグ修正が行われます。 コードリポジトリはアーカイブされています。

最新に公開されたバージョンは以下の通りです:

このプロジェクトが設計されて以来、秘密の性質は根本的に変わりました。 パスキー、シングルサインオン、Microsoft Entra ID、生体認証、ハードウェアセキュリティキーなどのフェデレーテッド認証システムなどのパスワードレス認証方法が将来的に登場します。

この記事では、自動化シナリオでAzure Key Vaultを使用する例を提供しています。 Azure Key Vaultは、ローカルマシンの外に保存されているパスワード、トークン、その他の秘密情報を安全に保存・取得し、自動化パイプラインで使用する方法を提供します。

自動化を実行するホストを設定しましょう

Az.KeyVault 3.3.0からは、SecretManagementコマンドレットを使ってAzure Key Vaultに保存された秘密とやり取りできるSecretManagement拡張が含まれています。

まず、AzureサブスクリプションでKey Vaultを作成し、シークレットを追加してください。 詳細については、「Quickstart: Set and remove a key from Azure Key Vault using Azure PowerShell」をご覧ください。

Azure Key VaultをSecretManagementで使うには、まずAz.KeyVaultモジュールを持っていることを確認してください。

次に、 AZKVaultNameSubscriptionIDを使ってボールトを登録します。 これらのコマンドは、自動化ホスト上のオートメーションアカウントのユーザーコンテキスト内で実行されなければなりません。

Install-Module -Name Microsoft.PowerShell.SecretManagement -Repository PSGallery -Force
Install-Module Az.KeyVault -Repository PSGallery -Force
Import-Module Microsoft.PowerShell.SecretManagement
Import-Module Az.KeyVault

$VaultParameters = @{
    AZKVaultName = $vaultName
    SubscriptionId = $subID
}
Register-SecretVault -Module Az.KeyVault -Name AzKV -VaultParameters $VaultParameters

Use Azure Key Vault secrets in automation

SecretManagementでAzure Key Vaultを登録した今、Get-SecretInfoで秘密を閲覧し、Get-Secretで秘密を取得し、Set-Secretで秘密を作成・更新し、Remove-Secretで秘密を削除できます。