Mulai cepat: Tetapkan peran Azure menggunakan templat ARM

Kontrol akses berbasis peran Azure (Azure RBAC) merupakan cara Anda mengelola akses ke sumber daya Azure. Pada mulai cepat, Anda membuat grup sumber daya dan memberikan akses kepada pengguna untuk membuat dan mengelola mesin virtual di grup sumber daya. Panduan memulai ini menggunakan templat Azure Resource Manager (templat ARM) untuk memberikan akses.

Templat Azure Resource Manager adalah file JavaScript Object Notation (JSON) yang menentukan infrastruktur dan konfigurasi untuk proyek Anda. Template tersebut menggunakan sintaksis deklaratif. Anda menjelaskan penyebaran yang Dimaksudkan tanpa menulis urutan perintah pemrograman untuk membuat penyebaran.

Jika lingkungan Anda telah memenuhi prasyarat dan Anda terbiasa menggunakan templat ARM, pilih tombol Sebarkan ke Azure. Templat akan terbuka di portal Microsoft Azure.

Button to deploy the Resource Manager template to Azure.

Prasyarat

Untuk menetapkan peran Azure dan menghapus penetapan peran, Anda harus memiliki:

  • Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
  • Microsoft.Authorization/roleAssignments/write dan Microsoft.Authorization/roleAssignments/delete izin, seperti Administrator Kontrol Akses Berbasis Peran
  • Untuk menetapkan peran, Anda harus menentukan tiga elemen: prinsip keamanan, definisi peran, dan cakupan. Pada mulai cepat, prinsip keamanan adalah Anda atau pengguna lain di direktori Anda, definisi perannya adalah Virtual Machine Contributor, dan cakupannya adalah grup sumber daya yang Anda tentukan.

Meninjau templat

Templat yang digunakan di mulai cepat ini berasal dari Templat Mulai Cepat Azure. Template ini memiliki dua parameter dan bagian sumber daya. Di bagian sumber daya, perhatikan bahwa ia memiliki tiga elemen penetapan peran: prinsip keamanan, definisi peran, dan ruang lingkup.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.25.53.49325",
      "templateHash": "15160858749942476090"
    }
  },
  "parameters": {
    "roleDefinitionID": {
      "type": "string",
      "metadata": {
        "description": "Specifies the role definition ID used in the role assignment."
      }
    },
    "principalId": {
      "type": "string",
      "metadata": {
        "description": "Specifies the principal ID assigned to the role."
      }
    }
  },
  "variables": {
    "roleAssignmentName": "[guid(parameters('principalId'), parameters('roleDefinitionID'), resourceGroup().id)]"
  },
  "resources": [
    {
      "type": "Microsoft.Authorization/roleAssignments",
      "apiVersion": "2022-04-01",
      "name": "[variables('roleAssignmentName')]",
      "properties": {
        "roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', parameters('roleDefinitionID'))]",
        "principalId": "[parameters('principalId')]"
      }
    }
  ],
  "outputs": {
    "name": {
      "type": "string",
      "value": "[variables('roleAssignmentName')]"
    },
    "resourceGroupName": {
      "type": "string",
      "value": "[resourceGroup().name]"
    },
    "resourceId": {
      "type": "string",
      "value": "[resourceId('Microsoft.Authorization/roleAssignments', variables('roleAssignmentName'))]"
    }
  }
}

Sumber daya yang ditentukan di templat adalah:

Menyebarkan templat

  1. Masuk ke portal Azure.

  2. Tentukan alamat email Anda yang terkait dengan langganan Azure Anda. Atau tentukan alamat email pengguna lain di direktori Anda.

  3. Buka Azure Cloud Shell untuk PowerShell.

  4. Salin dan tempel skrip berikut ke Cloud Shell.

    $resourceGroupName = Read-Host -Prompt "Enter a resource group name (i.e. ExampleGrouprg)"
    $emailAddress = Read-Host -Prompt "Enter an email address for a user in your directory"
    $location = Read-Host -Prompt "Enter a location (i.e. centralus)"
    
    $roleAssignmentName = New-Guid
    $principalId = (Get-AzAdUser -Mail $emailAddress).id
    $roleDefinitionId = (Get-AzRoleDefinition -name "Virtual Machine Contributor").id
    $templateUri = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.authorization/rbac-builtinrole-resourcegroup/azuredeploy.json"
    
    New-AzResourceGroup -Name $resourceGroupName -Location $location
    New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri $templateUri -roleDefinitionID $roleDefinitionId -principalId $principalId
    
  5. Masukkan nama grup sumber daya seperti ExampleGrouprg.

  6. Masukkan alamat email untuk Anda sendiri atau pengguna lain di direktori Anda.

  7. Masukkan lokasi untuk grup sumber daya seperti centralus.

  8. Jika perlu, tekan Enter untuk menjalankan perintah New-AzResourceGroupDeployment.

    New-AzResourceGroupperintah membuat grup sumber daya baru danNew-AzResourceGroupDeployment perintah menyebarkan templat untuk menambahkan tugas peran.

    Anda akan melihat output yang mirip dengan hal berikut:

    PS> New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri $templateUri -roleAssignmentName $roleAssignmentName -roleDefinitionID $roleDefinitionId -principalId $principalId
    
    DeploymentName          : azuredeploy
    ResourceGroupName       : ExampleGrouprg
    ProvisioningState       : Succeeded
    Timestamp               : 5/22/2020 9:01:30 PM
    Mode                    : Incremental
    TemplateLink            :
                              Uri            : https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.authorization/rbac-builtinrole-resourcegroup/azuredeploy.json
                              ContentVersion : 1.0.0.0
    
    Parameters              :
                              Name                  Type                       Value
                              ====================  =========================  ==========
                              roleDefinitionID      String                     9980e02c-c2be-4d73-94e8-173b1dc7cf3c
                              principalId           String                     {principalId}
    
    Outputs                 :
    DeploymentDebugLogLevel :
    

Meninjau sumber daya yang disebarkan

  1. Di portal Microsoft Azure, buka grup sumber daya yang Anda buat.

  2. Di menu sebelah kiri, klik Kontrol akses (IAM).

  3. Klik tab Penetapan peran.

  4. Verifikasi bahwa Komputer Virtual Contributorperan ditetapkan ke pengguna yang Anda tentukan.

    New role assignment

Membersihkan sumber daya

Untuk menghapus penetapan peran dan grup sumber daya yang Anda buat, ikuti langkah-langkah berikut.

  1. Salin dan tempel skrip berikut ke Cloud Shell.

    $emailAddress = Read-Host -Prompt "Enter the email address of the user with the role assignment to remove"
    $resourceGroupName = Read-Host -Prompt "Enter the resource group name to remove (i.e. ExampleGrouprg)"
    
    $principalId = (Get-AzAdUser -Mail $emailAddress).id
    
    Remove-AzRoleAssignment -ObjectId $principalId -RoleDefinitionName "Virtual Machine Contributor" -ResourceGroupName $resourceGroupName
    Remove-AzResourceGroup -Name $resourceGroupName
    
  2. Masukkan alamat email pengguna dengan penetapan peran yang akan dihapus.

  3. Masukkan nama grup sumber daya yang akan dihapus seperti ExampleGrouprg.

  4. Jika perlu, tekan Enter untuk menjalankan perintah Remove-AzResourceGroup.

  5. Tekan Y untuk mengonfirmasi bahwa Anda ingin menghapus grup sumber daya.

Langkah berikutnya