今回はAzurePowershellを利用してAzureRBAC情報を確認してみようと思います。
■はじめに
以下コマンドでAzureAccountへログイン済みとします。
import-module Az
Conncet-AzAccount
■ロール定義を確認
Get-AzRoleDefinition
を利用します。
具体的なコマンド例は以下の通りです。
Get-AzRoleDefinition | Sort-Object -Property Name | ft Name,Description
や
Get-AzRoleDefinition owner
■所有者ロール(Owner)を確認してみる
PS C:\> Get-AzRoleDefinition owner
Name : Owner
Id : XXXXXXXXX
IsCustom : False
Description : Grants full access to manage all resources, including the ability to assign roles in Azure RBAC.
Actions : {*}
NotActions : {}
DataActions : {}
NotDataActions : {}
AssignableScopes : {/}
ActionsやNotActionsの項目から許可/拒否がわかります。
アスタリスクは「すべて」を意味します。
そのため、この例では、すべてのAzureリソースへアクセス可能を意味します。
■特定Azureリソースに割り当てられているロールの確認方法
事前に特定Azureリソースの「ResouceID」を調べます。
ここでは仮想マシンvm01を例にします。
※Id列が「ResouceID」に該当します。
$vm01id = get-azvm -Name vm01 | Select-Object -Property Id
Get-AzRoleAssignment -Scope $vm01id.Id
尚、$vm01idは下記のような情報を持つオブジェクトです。
PS C:\> $vm01id.gettype()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False PSCustomObject System.Object
そのため、$vm01id.Idとすることで直接ResouceIDをGet-AzRoleAssignmentに渡しています。
以上です。