Compartir a través de


Tutorial: Concesión de acceso de un grupo a recursos de Azure mediante Azure PowerShell

El control de acceso basado en rol de Azure (RBAC de Azure) es la forma en que se administra el acceso a los recursos de Azure. En este tutorial, concederá a un grupo acceso para ver todo en una suscripción y administrar todo en un grupo de recursos mediante Azure PowerShell.

En este tutorial, aprenderá a:

  • Concesión de acceso para un grupo en distintos ámbitos
  • Acceso a la lista
  • Eliminar acceso

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Nota:

Se recomienda usar el módulo de PowerShell de Azure Az para interactuar con Azure. Para comenzar, consulte Instalación de Azure PowerShell. Para obtener información sobre cómo migrar al módulo Az PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Prerrequisitos

Para completar este tutorial, necesitará:

Asignaciones de roles

En RBAC de Azure, para conceder acceso, cree una asignación de roles. Una asignación de roles consta de tres elementos: entidad de seguridad, definición de rol y ámbito. Estas son las dos asignaciones de roles que realizará en este tutorial:

Principal de seguridad Definición de roles Ámbito
Grupo
(Grupo de tutoriales de RBAC)
Reader Subscription
Grupo
(Grupo de tutoriales de RBAC)
Contributor Grupo de recursos
(rbac-tutorial-resource-group)

Asignaciones de roles para un grupo

Creación de un grupo

Para asignar un rol, necesita un usuario, un grupo o un principal del servicio. Si aún no tiene un grupo, puede crear uno.

  • En Azure Cloud Shell, cree un nuevo grupo mediante el comando New-MgGroup .

    New-MgGroup -DisplayName "RBAC Tutorial Group" -MailEnabled:$false `
        -SecurityEnabled:$true -MailNickName "NotSet"
    
    DisplayName         Id                                   MailNickname Description GroupTypes
    -----------         --                                   ------------ ----------- ----------
    RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet                   {}
    

Si no tiene permisos para crear grupos, puede probar el Tutorial: Concesión de acceso de un usuario a los recursos de Azure mediante Azure PowerShell en su lugar.

Creación de un grupo de recursos

Usas un grupo de recursos para demostrar cómo asignar un rol en el ámbito de un grupo de recursos.

  1. Obtenga una lista de ubicaciones de región mediante el comando Get-AzLocation .

    Get-AzLocation | select Location
    
  2. Seleccione una ubicación cercana a usted y asígnela a una variable.

    $location = "westus"
    
  3. Cree un nuevo grupo de recursos mediante el comando New-AzResourceGroup .

    New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $location
    
    ResourceGroupName : rbac-tutorial-resource-group
    Location          : westus
    ProvisioningState : Succeeded
    Tags              :
    ResourceId        : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
    

Conceder acceso

Para conceder acceso al grupo, use el comando New-AzRoleAssignment para asignar un rol. Debe especificar la función de seguridad, la definición de funciones y el ámbito.

  1. Obtenga el identificador de objeto del grupo mediante el comando Get-MgGroup .

    Get-MgGroup -Filter "DisplayName eq 'RBAC Tutorial Group'"
    
    DisplayName         Id                                   MailNickname Description GroupTypes
    -----------         --                                   ------------ ----------- ----------
    RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet                   {}
    
  2. Guarde el identificador de objeto de grupo en una variable.

    $groupId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
    
  3. Obtenga el identificador de la suscripción mediante el comando Get-AzSubscription .

    Get-AzSubscription
    
    Name     : Pay-As-You-Go
    Id       : 00000000-0000-0000-0000-000000000000
    TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee
    State    : Enabled
    
  4. Guarde el ámbito de la suscripción en una variable.

    $subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
    
  5. Asigne el rol de lector al grupo en el ámbito de la suscripción.

    New-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Reader" `
      -Scope $subScope
    
    RoleAssignmentId   : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
    Scope              : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : Group
    CanDelegate        : False
    
  6. Asigne el rol Colaborador al grupo dentro del ámbito del grupo de recursos.

    New-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
    RoleAssignmentId   : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
    Scope              : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : Group
    CanDelegate        : False
    

Acceso a la lista

  1. Para comprobar el acceso a la suscripción, use el comando Get-AzRoleAssignment para enumerar las asignaciones de roles.

    Get-AzRoleAssignment -ObjectId $groupId -Scope $subScope
    
    RoleAssignmentId   : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0
    Scope              : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : Group
    CanDelegate        : False
    

    En la salida, puede ver que se ha asignado que el rol de lector se ha asignado al grupo del tutorial de RBAC en el ámbito de la suscripción.

  2. Para comprobar el acceso del grupo de recursos, use el comando Get-AzRoleAssignment para enumerar las asignaciones de roles.

    Get-AzRoleAssignment -ObjectId $groupId -ResourceGroupName "rbac-tutorial-resource-group"
    
    RoleAssignmentId   : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
    Scope              : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : Group
    CanDelegate        : False
    
    RoleAssignmentId   : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0
    Scope              : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : Group
    CanDelegate        : False
    

    En el resultado, puede ver que los roles Colaborador y Lector se han asignado al Grupo de Tutoriales de RBAC. El rol de colaborador está en el ámbito de rbac-tutorial-resource-group, mientras que el rol de lector se hereda en el ámbito de la suscripción.

(Opcional) Listar acceso mediante el Azure Portal

  1. Para ver el aspecto de las asignaciones de roles en Azure Portal, vea la hoja Control de acceso (IAM) de la suscripción.

    Asignaciones de rol para un grupo en el ámbito de la suscripción

  2. Vea la hoja Control de acceso (IAM) del grupo de recursos.

    Asignaciones de roles para un grupo en el ámbito del grupo de recursos

Eliminar acceso

Para quitar el acceso a usuarios, grupos y aplicaciones, use Remove-AzRoleAssignment para quitar una asignación de roles.

  1. Utilice el siguiente comando para quitar la asignación del rol de Colaborador para el grupo en el ámbito del grupo de recursos.

    Remove-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
  2. Utilice el siguiente comando para quitar la asignación del rol de colaborador al grupo del ámbito de la suscripción.

    Remove-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Reader" `
      -Scope $subScope
    

Limpieza de recursos

Para limpiar los recursos creados por este tutorial, elimine el grupo de recursos y el grupo.

  1. Elimine el grupo de recursos mediante el comando Remove-AzResourceGroup .

    Remove-AzResourceGroup -Name "rbac-tutorial-resource-group"
    
    Confirm
    Are you sure you want to remove resource group 'rbac-tutorial-resource-group'
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):
    
  2. Cuando se le pida que confirme, escriba Y. Tardará unos segundos en eliminarse.

  3. Elimine el grupo mediante el comando Remove-MgGroup .

    Remove-MgGroup -GroupID $groupId
    

    Si recibe un error al intentar eliminar el grupo, también puede eliminar el grupo en el portal.

Pasos siguientes