🔐

Azure PowerShellでKey VaultのRBAC権限を設定する方法

2024/10/06に公開

解法

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スクリプトは以下の手順で動作します:

  1. Azure PowerShellにログインします。
  2. 現在のユーザーのObject IDを取得します。
  3. 指定されたKey VaultのリソースIDを取得します。
  4. 必要なロール(Secrets OfficerとCrypto Officer)の定義を取得します。
  5. 現在のユーザーに両方のロールを割り当てます。
  6. 処理結果を表示します。

補足情報

  • このスクリプトを実行する前に、Azure PowerShellモジュールがインストールされていることを確認してください。
  • スクリプト内の your-key-vault-nameyour-resource-group-name を実際の値に置き換えてください。
  • このスクリプトは、RBACが有効化されたKey Vaultに対してのみ機能します。
  • スクリプトを実行するユーザーは、Key Vaultに対してロールを割り当てる権限を持っている必要があります。

セキュリティ上の理由から、必要最小限の権限のみを付与することをお勧めします。

Discussion