🗝️
Azure PowerShell で Key Vault にSSH キーなどの複数行シークレットを登録
はじめに
Bastion では Key Vault に登録した SSH キーを使用してログインが可能ですが、Key Vault のシークレットは Azure ポータルからは単一行のみ登録可能となっており、複数行の SSH キーは登録ができません。そのため、Azure PowerShell や Azure CLI で登録することになります。今回は Azure PowerShell 版の紹介です。
なお、Bastion と Key Vault の連携については以下の記事で詳細に解説されていますので、併せてご確認ください。
スクリプト
# サブスクリプションを指定
$subscriptionId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
# Azure アカウントへのログイン
Connect-AzAccount -SubscriptionId $subscriptionId
# 変数の設定
$resourceGroupName = "yourResourceGroupName"
$keyVaultName = "yourKeyVaultName"
$secretName = "yourSecretName"
$sshKeyFilePath = "C:\path\to\your\ssh\key\file"
# SSH キーファイルの内容を読み込む
$sshKeyContent = Get-Content -Path $sshKeyFilePath -Raw
# plane text の SSH キーを secure string に変換し、Key Vault のシークレットに登録
Set-AzKeyVaultSecret -VaultName $keyVaultName -Name $secretName -SecretValue (ConvertTo-SecureString -String $sshKeyContent -AsPlainText -Force)
参考
Discussion