演習 - Azure カスタム ロールを作成する

このユニットでは、仮想マシン オペレーター用のカスタム ロールを作成して、Azure で自分に割り当てます。

この演習は省略してもかまいません。 これを完了するには、自分のアカウントに対してユーザー アクセス管理者ロールまたは所有者ロールがある Azure サブスクリプションにアクセスする必要があります。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

ロールを作成する

新しい従業員の Azure 内のカスタム ロールを作成します。

  1. ユーザー アクセス管理者ロールまたは所有者ロールが割り当てられているアカウントを使用して、Azure portal にサインインします。

  2. 右上のメニュー バーにある [Cloud Shell] を選択します。

  3. [Bash] を選択します。

  4. 次のコマンドを実行して、カスタム ロール定義に使用するサブスクリプション ID を取得します。 サブスクリプション ID をコピーします。

     az account list  --output json | jq '.[] | .id, .name'
    
  5. Cloud Shell に コード を入力します。

  6. 次のロール定義をエディターに貼り付けます。 これは、前のユニットで確認したロール定義です。

    {
     "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"
     ]
    }
    
  7. AssignableScopes セクションで、 subscriptionId を前の手順で指定した値に置き換えます。

  8. Cloud Shell ウィンドウの右上にある 3 つのドットのメニューから [保存] を選択します。

  9. ファイル名として「 vm-operator-role-new.json 」と入力し、 [保存] します。

  10. Cloud Shell ウィンドウの右上にある 3 つのドットのメニューから [エディターを閉じる] を選択します。

  11. Cloud Shell で次のコマンドを実行して、カスタム ロールを作成します。

    az role definition create --role-definition vm-operator-role.json
    

ロールを割り当てる

カスタム ロールを作成したら、ユーザーまたはグループに割り当てることができます。 このシナリオを簡単にするために、カスタム ロールを自分に割り当てることができます。

  1. 次のコマンドを実行して、ユーザー プリンシパル名を取得します。 "Your display name" を、Azure portal の右上にあるプロファイル カードに表示される名前に置き換えます。 表示名は、おそらく姓と名になります。

    USER=$(az ad user list --display-name "your display name" --query [0].userPrincipalName --output tsv)
    echo $USER
    
  2. 次のコマンドを実行して、カスタム ロールを自分に割り当てます。

    az role assignment create --assignee $USER --role "Virtual Machine Operator"
    
  3. Cloud Shell を閉じます。