🔐
Azure PowerShellでKey VaultのRBAC権限を設定する方法
解法
Azure PowerShellを使用してKey VaultのRBAC権限を設定するスクリプトを以下に示します:
# Azure PowerShellにログイン
Connect-AzAccount
# 現在のユーザーのObject ID取得
$currentUser = Get-AzADUser -SignedIn
$currentUserObjectId = $currentUser.Id
# Key Vault情報設定
$keyVaultName = "your-key-vault-name"
$resourceGroupName = "your-resource-group-name"
# Key VaultのリソースID取得
$keyVault = Get-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $resourceGroupName
$keyVaultId = $keyVault.ResourceId
# 必要なロール定義取得
$secretsOfficerRole = Get-AzRoleDefinition "Key Vault Secrets Officer"
$cryptoOfficerRole = Get-AzRoleDefinition "Key Vault Crypto Officer"
# ロール割り当て
New-AzRoleAssignment -ObjectId $currentUserObjectId -RoleDefinitionId $secretsOfficerRole.Id -Scope $keyVaultId
New-AzRoleAssignment -ObjectId $currentUserObjectId -RoleDefinitionId $cryptoOfficerRole.Id -Scope $keyVaultId
# 結果表示
Write-Host "RBACロールが正常に割り当てられました。"
Write-Host "Key Vault名: $keyVaultName"
Write-Host "リソースグループ: $resourceGroupName"
Write-Host "ユーザーObject ID: $currentUserObjectId"
Write-Host "割り当てられたロール: Key Vault Secrets Officer, Key Vault Crypto Officer"
解説
このAzure PowerShellスクリプトは以下の手順で動作します:
- Azure PowerShellにログインします。
- 現在のユーザーのObject IDを取得します。
- 指定されたKey VaultのリソースIDを取得します。
- 必要なロール(Secrets OfficerとCrypto Officer)の定義を取得します。
- 現在のユーザーに両方のロールを割り当てます。
- 処理結果を表示します。
補足情報
- このスクリプトを実行する前に、Azure PowerShellモジュールがインストールされていることを確認してください。
- スクリプト内の
your-key-vault-name
とyour-resource-group-name
を実際の値に置き換えてください。 - このスクリプトは、RBACが有効化されたKey Vaultに対してのみ機能します。
- スクリプトを実行するユーザーは、Key Vaultに対してロールを割り当てる権限を持っている必要があります。
セキュリティ上の理由から、必要最小限の権限のみを付与することをお勧めします。
Discussion