Administración de roles de la entidad de servicio

Para restringir el acceso a los recursos de Azure, puede usar la entidad de servicio para administrar las asignaciones de roles. Cada rol proporciona permisos diferentes permitidos por el usuario al acceder a los recursos de Azure. En este paso del tutorial se explica cómo crear y quitar roles de entidad de servicio.

La CLI de Azure tiene los siguientes comandos para administrar las asignaciones de roles.

Crear o quitar una asignación de roles

El rol Colaborador tiene permisos completos para leer y escribir en una cuenta de Azure. El rol Lector es más restrictivo y proporciona acceso de solo lectura. Usar del principio de privilegios mínimos. Para obtener una lista completa de los roles disponibles en Azure RBAC, consulte Roles integrados de Azure.

Agregar un rol no restringe los permisos asignados previamente. En este ejemplo se agrega el rol Lector y se elimina el rol Colaborador:

az role assignment create --assignee myServicePrincipalID \
                          --role Reader \
                          --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName

az role assignment delete --assignee myServicePrincipalID \
                          --role Contributor \
                          --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName

Consola de Salida:

{
  "condition": null,
  "conditionVersion": null,
  "createdBy": null,
  "createdOn": "yyyy-mm-ddT00:00:00.000000+00:00",
  "delegatedManagedIdentityResourceId": null,
  "description": null,
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "principalId": "00000000-0000-0000-0000-000000000000",
  "principalType": "ServicePrincipal",
  "roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000",
  "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroupName",
  "type": "Microsoft.Authorization/roleAssignments",
  "updatedBy": "00000000-0000-0000-0000-000000000000",
  "updatedOn": "yyyy-mm-ddT00:00:00.000000+00:00"
}

Obtención de un valor para el parámetro de ámbito

Una pregunta que podría tener es "¿Cómo sé el valor del parámetro --scope?" La respuesta es buscar y copiar el id. de recurso del recurso de Azure al que debe acceder la entidad de servicio. Esta información suele encontrarse en la página Propiedades o Puntos de conexión de Azure de cada recurso. Estos son ejemplos comunes de --scope, pero dependen del id. de recurso para un formato y un valor reales.

Ámbito Ejemplo
Suscripción /subscriptions/mySubscriptionID
Grupos de recursos /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
Máquina virtual /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMname
Servicio de archivos de cuenta de almacenamiento /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Storage/storageAccounts/myStorageAccountName/fileServices/default
Factoría de datos /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.DataFactory/factories/myDataFactoryName

Para obtener más ejemplos de ámbito, consulte Descripción del ámbito de Azure RBAC.

Comprobación de cambios

Para comprobar los cambios, puede obtener una lista de los roles asignados:

# list all role assignments for the current subscription
az role assignment list ---output table

# list role assignments for a user
az role assignment list --assignee myUserName@contoso.com

# list role assignments for a subscription
az role assignment list --subscription mySubscriptionID

También puede ir a Azure Portal y asignar manualmente el rol a la entidad de servicio desde el menú Control de acceso (IAM). Para más ejemplos sobre la enumeración de asignaciones de roles, consulte Enumeración de asignaciones de roles de Azure mediante la CLIde Azure.

Pasos siguientes

Ahora que ha aprendido a administrar los roles de entidad de servicio, continúe con el paso siguiente para aprender a usar entidades de servicio para crear un recurso.