練習 - 建立 Azure 自訂角色

已完成

在本單元中,您將在 Azure 中建立「虛擬機器操作員」的自訂角色,並將該角色指派給自己。

此練習為選擇性項目。 若要完成此練習,針對具有您帳戶「使用者存取系統管理員」或「擁有者」角色的 Azure 訂用帳戶,您需要其存取權。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶

建立角色

在 Azure 中為新員工建立自訂角色。

  1. 使用具有其「使用者存取系統管理員」或「擁有者」角色的帳戶來登入 Azure 入口網站

  2. 從右上方的功能表列中,選取 [Cloud Shell]

  3. 選取 [Bash]

  4. 執行下列命令,取得要用於自訂角色定義的訂用帳戶識別碼。 複製訂用帳戶識別碼。

     az account list  --output json | jq '.[] | .id, .name'
    
  5. Code 鍵入 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 窗格右上方的三點功能表選取 [儲存] (或是在 Windows 中按 CTRL + S、在 macOS 中按 CMD + S)。

  9. 輸入 vm-operator-role.json 作為檔案名稱,並選取 [儲存]

  10. 從 Cloud Shell 窗格右上方的三點功能表選取 [關閉編輯器] (或是在 Windows 中按 CTRL + Q、在 macOS 中按 CMD + Q)。

  11. 在 Cloud Shell 中執行下列命令來建立自訂角色:

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

指派角色

建立自訂角色後,您可以將其指派給使用者或群組。 為了簡化案例,請將自訂角色指派給自己。

  1. 執行下列命令以取得使用者主體名稱。 以出現在 Azure 入口網站設定檔卡片右上方的名稱,取代「您的顯示名稱」。 您的顯示名稱可能是您的名字和姓氏。

    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"  --scope /subscriptions/"your subscription id"
    
  3. 關閉 Cloud Shell。