ユーザー割り当てマネージドIDによるAzureリソースへのアクセス権限付与
ユーザー割り当てマネージドIDを作成しAzureリソースへのアクセス権限を付与する手順を解説します。
作成したユーザー割り当てマネージドIDは、Azure VM や Azure コンテナー インスタンスへ適用することができます。
これらの手順は関連記事で解説します。
ユーザー割り当てマネージドIDの作成
👇ユーザー割り当てマネージドIDを作成します。
az identity create^
--resource-group sampleResourceGroup^
--name user_managed_id_01
上記コマンドを発行すると下記の出力が得られます。
出力の中のid
(ユーザー割り当てマネージドID)とprincipalId
(プリンシパルID)を後で利用しますのでメモしておきます。
{
"clientId": "00000-00000-00000-00000",
"id": "/subscriptions/99999-99999-99999-99999/resourcegroups/sampleResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/user_managed_id_01",
"location": "japaneast",
"name": "user_managed_id_01",
"principalId": "*****-*****-*****-*****-*****",
"resourceGroup": "sampleResourceGroup",
.....
}
グループの作成
👇Azureリソースへのアクセス権限付与のため、グループを作成します。
az ad group create^
--display-name SampleRoleGroup^
--mail-nickname SampleRoleGroup
下記出力が得られます。
出力の中のid
(グループID)を後で利用しますのでメモしておきます。
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups/$entity",
"classification": null,
"createdDateTime": "2024-01-26T09:17:58Z",
"creationOptions": [],
"deletedDateTime": null,
"description": null,
"displayName": "SampleRoleGroup",
"expirationDateTime": null,
"groupTypes": [],
"id": "00000000-0000-0000-0000-000000000000",
"isAssignableToRole": null,
"mail": null,
.....
グループメンバーにユーザー割り当てマネージドIDを追加
👇上記手順でメモしておいたプリンシパルID
を使ってグループメンバーにユーザー割り当てマネージドIDを追加します。
az ad group member add^
--group ResourceControlGroup^
--member-id "*****-*****-*****-*****-*****"
グループへの権限付与
例1)
グループに対してリソースグループのフルアクセス権限を割り当てます。
assigneeには上記でメモしたグループID
を設定します。
az role assignment create^
--assignee "00000000-0000-0000-0000-000000000000"^
--role "Owner"^
--resource-group "resource_group_sample"
例2)
グループに対してリソースへのアクセス権限を割り当てます。(下記はVM Imageに権限を割り当てる例)
assigneeには上記でメモしたグループIDを設定します。
az role assignment create^
--assignee "00000000-0000-0000-0000-000000000000"^
--role "Owner"^
--scope "/subscriptions/*****-*****-*****-*****/resourceGroups/resource_group_for_python/providers/Microsoft.Compute/galleries/shared_image_gallery_01/images/vm-image_01"
👇ロールの割り当て状況を確認する
az role assignment list^
--scope "/subscriptions/*****-*****-*****-*****/resourceGroups/resource_group_for_python/providers/Microsoft.Compute/galleries/shared_image_gallery_01/images/vm-image_01"
az role assignment list^
--all^
--assignee "00000000-0000-0000-0000-000000000000"