演習 - Azure カスタム ロールを作成する
このユニットでは、仮想マシン オペレーター用のカスタム ロールを作成して、Azure で自分に割り当てます。
この演習は省略してもかまいません。 これを完了するには、自分のアカウントに対してユーザー アクセス管理者ロールまたは所有者ロールがある Azure サブスクリプションにアクセスする必要があります。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
ロールを作成する
新しい従業員の Azure 内のカスタム ロールを作成します。
ユーザー アクセス管理者ロールまたは所有者ロールが割り当てられているアカウントを使用して、Azure portal にサインインします。
右上のメニュー バーにある [Cloud Shell] を選択します。
[Bash] を選択します。
次のコマンドを実行して、カスタム ロール定義に使用するサブスクリプション ID を取得します。 サブスクリプション ID をコピーします。
az account list --output json | jq '.[] | .id, .name'
Cloud Shell にコードを入力します。
次のロール定義をエディターに貼り付けます。 これは、前のユニットで確認したロール定義です。
{ "Name": "Virtual Machine Operator", "IsCustom": true, "Description": "Can monitor and restart virtual machines.", "Actions": [ "Microsoft.Storage/*/read", "Microsoft.Network/*/read", "Microsoft.Compute/*/read", "Microsoft.Compute/virtualMachines/start/action", "Microsoft.Compute/virtualMachines/restart/action", "Microsoft.Authorization/*/read", "Microsoft.ResourceHealth/availabilityStatuses/read", "Microsoft.Resources/subscriptions/resourceGroups/read", "Microsoft.Insights/alertRules/*", "Microsoft.Support/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/subscriptionId" ] }
AssignableScopes
セクションで、subscriptionId を前の手順で指定した値に置き換えます。Cloud Shell ウィンドウの右上にある 3 点メニューから [保存] を選択します (または、Windows では Ctrl + S キー、macOS では CMD + S キーを押します)。
ファイル名として「vm-operator-role-new.json」と入力し、[保存] します。
Cloud Shell ウィンドウの右上にある 3 点メニューから [エディターを閉じる] を選択します (または、Windows では Ctrl + Q キー、macOS では CMD + Q キーを押します)。
Cloud Shell で次のコマンドを実行して、カスタム ロールを作成します。
az role definition create --role-definition vm-operator-role.json
ロールを割り当てる
カスタム ロールを作成したら、ユーザーまたはグループに割り当てることができます。 このシナリオを簡単にするために、カスタム ロールを自分に割り当てることができます。
次のコマンドを実行して、ユーザー プリンシパル名を取得します。 "Your display name" を、Azure portal の右上にあるプロファイル カードに表示される名前に置き換えます。 表示名は、おそらく姓と名になります。
USER=$(az ad user list --display-name "your display name" --query [0].userPrincipalName --output tsv) echo $USER
次のコマンドを実行してカスタム ロールを自分に割り当て、"サブスクリプション ID" を先ほどコピーしたサブスクリプション ID に置き換えます。
az role assignment create --assignee $USER --role "Virtual Machine Operator" --scope /subscriptions/"your subscription id"
Cloud Shell を閉じます。