演習 - Azure カスタム ロールを表示および管理する
このユニットでは、前の演習で作成した Azure カスタム ロールを表示、更新、削除します。
ポータル内でカスタム ロールを表示する
Azure portal を使用して、サブスクリプションのカスタム ロールを表示してみましょう。
前の演習で使ったものと同じアカウントを使って、Azure portal にサインインします。
Azure portal の上部で検索して、[サブスクリプション] を選択します。
カスタム ロールに関連付けられているサブスクリプションを選択します。
[アクセス制御 (IAM)]>[ロール] の順に選択します。
[種類]>[CustomRole] の順に選択します。
組織内のすべてのカスタム ロールの一覧が表示されます。
カスタム ロールを更新する
監視操作のアクセス許可を追加するには、仮想マシン オペレーターのロールを更新する必要があります。 このカスタム ロールを、Microsoft.Insights/diagnosticSettings/
アクションが含まれるように更新します。
Azure portal の右上にある [Cloud Shell] を選択します。
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.Insights/diagnosticSettings/*", "Microsoft.Support/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/subscriptionId1" ] }
AssignableScopes
セクションで、subscriptionId1 を実際のサブスクリプション ID に置き換えます。 前の演習でその値を保存していない場合は、次のコマンドを実行して取得します。az account list --output json | jq '.[] | .id, .name'
Cloud Shell ウィンドウの右上にある 3 点メニューから [保存] を選択します (または、Windows では Ctrl + S キー、macOS では CMD + S キーを押します)。
ファイル名として「vm-operator-role-new.json」と入力し、[保存] を選択します。
Cloud Shell ウィンドウの右上にある 3 点メニューから [エディターを閉じる] を選択します (または、Windows では Ctrl + Q キー、macOS では CMD + Q キーを押します)。
次のコマンドを実行して、仮想マシン オペレーターのカスタム ロールを更新します。
az role definition update --role-definition vm-operator-role-new.json
次のコマンドを実行して、ロール定義が更新されていることを確認します。
az role definition list --name "Virtual Machine Operator" --output json | jq '.[] | .permissions[0].actions'
カスタム ロールを削除する
カスタム ロールが不要になった場合は、ロールを削除する前に、ロールの割り当てを削除する必要があります。
次のコマンドを実行して、カスタム ロールのロールの割り当てを削除します。
az role assignment delete --role "Virtual Machine Operator"
次のコマンドを実行して、カスタム ロール定義を削除します。
az role definition delete --name "Virtual Machine Operator"
次のコマンドを実行して、ロールがなくなっていることを確認します。 ロールがまだ表示されている場合は、しばらく待ってから、コマンドをもう一度実行してください。
az role definition list --custom-role-only true