自由気ままに書いちゃおう

好きなことをつらつらと・・・

【Azure】AzurePowershellでのAzureRBAC確認

今回は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に渡しています。

以上です。