Megosztás a következőn keresztül:


Rövid útmutató: Azure-szerepkör hozzárendelése ARM-sablonnal

Az Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) az Azure-erőforrásokhoz való hozzáférés kezelésének módját jelenti. Ebben a rövid útmutatóban létrehoz egy erőforráscsoportot, és hozzáférést biztosít a felhasználóknak az erőforráscsoportban lévő virtuális gépek létrehozásához és kezeléséhez. Ez a rövid útmutató egy Azure Resource Manager-sablont (ARM-sablont) használ a hozzáférés biztosításához.

Az Azure Resource Manager-sablon egy JavaScript Object Notation (JSON) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. A sablon deklaratív szintaxist használ. Az üzembe helyezés létrehozásához szükséges programozási parancsok sorozatának megírása nélkül írhatja le a tervezett üzembe helyezést.

Ha a környezet megfelel az előfeltételeknek, és már ismeri az ARM-sablonokat, kattintson az Üzembe helyezés az Azure-ban gombra. A sablon az Azure Portalon fog megnyílni.

Gomb a Resource Manager-sablon Azure-ban való üzembe helyezéséhez.

Előfeltételek

Az Azure-szerepkörök hozzárendeléséhez és a szerepkör-hozzárendelések eltávolításához a következőkkel kell rendelkeznie:

  • Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
  • Microsoft.Authorization/roleAssignments/write és Microsoft.Authorization/roleAssignments/delete engedélyek, például szerepköralapú hozzáférés-vezérlési rendszergazda
  • Szerepkör hozzárendeléséhez három elemet kell megadnia: a biztonsági tagot, a szerepkördefiníciót és a hatókört. Ebben a rövid útmutatóban a biztonsági tag Ön vagy a címtár egy másik felhasználója, a szerepkör definíciója a Virtuálisgép-közreműködő, a hatókör pedig egy Ön által megadott erőforráscsoport.

A sablon áttekintése

Az ebben a gyorsútmutatóban használt sablon az Azure-gyorssablonok közül származik. A sablon két paraméterrel és egy erőforrásszakaszsal rendelkezik. Az erőforrások szakaszban figyelje meg, hogy a szerepkör-hozzárendelés három eleme van: a biztonsági tag, a szerepkördefiníció és a hatókör.

{
  "$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'))]"
    }
  }
}

A sablonban definiált erőforrás a következő:

A sablon üzembe helyezése

  1. Jelentkezzen be az Azure Portalra.

  2. Határozza meg az Azure-előfizetéséhez társított e-mail-címét. Vagy állapítsa meg egy másik felhasználó e-mail-címét a címtárban.

  3. Nyissa meg a PowerShellhez készült Azure Cloud Shellt.

  4. Másolja és illessze be a következő szkriptet a Cloud Shellbe.

    $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. Adjon meg egy erőforráscsoportnevet, például ExampleGrouprg nevet.

  6. Adjon meg egy e-mail-címet saját magának vagy egy másik felhasználónak a címtárában.

  7. Adjon meg egy helyet az erőforráscsoportnak, például a centralusnak.

  8. Ha szükséges, nyomja le az Enter billentyűt a New-AzResourceGroupDeployment parancs futtatásához.

    A New-AzResourceGroup parancs létrehoz egy új erőforráscsoportot, és a New-AzResourceGroupDeployment parancs üzembe helyezi a sablont a szerepkör-hozzárendelés hozzáadásához.

    A következőhöz hasonló kimenetnek kell megjelennie:

    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 :
    

Üzembe helyezett erőforrások áttekintése

  1. Az Azure Portalon nyissa meg a létrehozott erőforráscsoportot.

  2. A bal oldali menüben kattintson a Hozzáférés-vezérlés (IAM) elemre.

  3. Kattintson a Szerepkör-hozzárendelések fülre.

  4. Ellenőrizze, hogy a virtuálisgép-közreműködői szerepkör hozzá van-e rendelve a megadott felhasználóhoz.

    Új szerepkör hozzárendelése

Az erőforrások eltávolítása

A létrehozott szerepkör-hozzárendelés és erőforráscsoport eltávolításához kövesse az alábbi lépéseket.

  1. Másolja és illessze be a következő szkriptet a Cloud Shellbe.

    $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. Adja meg az eltávolítani kívánt szerepkör-hozzárendeléssel rendelkező felhasználó e-mail-címét.

  3. Adja meg az erőforráscsoport nevét, amely eltávolítható, például ExampleGrouprg.

  4. Ha szükséges, nyomja le az Enter billentyűt a Remove-AzResourceGroup parancs futtatásához.

  5. Írja be az Y értéket az erőforráscsoport eltávolításának megerősítéséhez.

Következő lépések