Предоставление доступа RBAC к резервированиям Azure с помощью PowerShell

В этой статье показано, как предоставить управление доступом на основе ролей (RBAC) к резервированию Azure с помощью Azure PowerShell. Сведения о просмотре доступа RBAC на портале Azure и управлении ими см. в статье "Разрешения на просмотр резервирований Azure и управление ими".

Замечание

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать, ознакомьтесь с разделом Установка Azure PowerShell. Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Миграция Azure PowerShell с AzureRM на Az.

Предоставление доступа с помощью PowerShell

Следующие типы пользователей могут делегировать управление доступом для всех заказов на резервирование, к которым они могут получить доступ:

При предоставлении доступа с помощью PowerShell нельзя просматривать роли на портале Azure. Вместо этого можно просмотреть роли с помощью get-AzRoleAssignment команды в следующем разделе.

Назначение роли владельца для всех резервирований

Используйте следующий сценарий PowerShell, чтобы предоставить пользователю RBAC доступ ко всем заказам на резервирование в клиенте Microsoft Entra (каталоге).


Import-Module Az.Accounts
Import-Module Az.Resources
 
Connect-AzAccount -Tenant <TenantId>
 
$response = Invoke-AzRestMethod -Path /providers/Microsoft.Capacity/reservations?api-version=2020-06-01 -Method GET
 
$responseJSON = $response.Content | ConvertFrom-JSON
 
$reservationObjects = $responseJSON.value
 
foreach ($reservation in $reservationObjects)
{
  $reservationOrderId = $reservation.id.substring(0, 84)
  Write-Host "Assigning Owner role assignment to "$reservationOrderId
  New-AzRoleAssignment -Scope $reservationOrderId -ObjectId <ObjectId> -RoleDefinitionName Owner
}

При использовании скрипта PowerShell для назначения роли владельца и его успешного выполнения сообщение об успешности выполнения не отображается.

Параметры

Параметр -ObjectId — это Microsoft Entra ObjectId пользователя, группы или субъекта-службы.

  • Тип: строка
  • Псевдонимы: Id, PrincipalId
  • Положение: Назначенное
  • Значение по умолчанию: None
  • Прием входных данных конвейера: Да
  • Примите подстановочные знаки: False

Параметр -TenantId является уникальным идентификатором клиента.

  • Тип: строка
  • Позиция: 5
  • Значение по умолчанию: None
  • Прием конвейерного ввода: Ложь
  • Примите подстановочные знаки: False

Предоставление доступа на уровне клиента

Перед предоставлением пользователям или группам следующих ролей на уровне клиента требуются права администратора доступа пользователей.

  • Администратор резервирования
  • Специалист по резервированию
  • Средство чтения резервирований

Чтобы получить права администратора доступа пользователей на уровне клиента, выполните действия, чтобы повысить уровень доступа.

Добавление роли администратора резервирования, роли участника резервирования или роли читателя резервирования на уровне клиента

Только пользователи с ролью глобального администратора могут назначать эти роли на портале Azure.

  1. Войдите на портал Azure и перейдите к разделу Резервирования.
  2. Выберите резервирование, к которому можно получить доступ.
  3. В верхней части страницы выберите назначение ролей.
  4. Перейдите на вкладку "Роли ".
  5. Чтобы внести изменения, добавьте пользователя в качестве администратора резервирования, участника резервирования или читателя резервирования с помощью контроля доступа.

Добавление роли администратора резервирования на уровне клиента с помощью скрипта Azure PowerShell

Используйте следующий сценарий Azure PowerShell, чтобы добавить роль администратора резервирования на уровне клиента.

Import-Module Az.Accounts
Import-Module Az.Resources
Connect-AzAccount -Tenant <TenantId>
New-AzRoleAssignment -Scope "/providers/Microsoft.Capacity" -PrincipalId <ObjectId> -RoleDefinitionName "Reservations Administrator"

Параметры

Параметр -ObjectId — это Microsoft Entra ObjectId пользователя, группы или субъекта-службы.

  • Тип: строка
  • Псевдонимы: Id, PrincipalId
  • Положение: Назначенное
  • Значение по умолчанию: None
  • Прием входных данных конвейера: Да
  • Примите подстановочные знаки: False

Параметр -TenantId является уникальным идентификатором клиента.

  • Тип: строка
  • Позиция: 5
  • Значение по умолчанию: None
  • Прием конвейерного ввода: Ложь
  • Примите подстановочные знаки: False

Добавление роли участника резервирования на уровне клиента с помощью скрипта Azure PowerShell

Используйте следующий сценарий Azure PowerShell, чтобы добавить роль участника резервирования на уровне арендатора.

Import-Module Az.Accounts
Import-Module Az.Resources
Connect-AzAccount -Tenant <TenantId>
New-AzRoleAssignment -Scope "/providers/Microsoft.Capacity" -PrincipalId <ObjectId> -RoleDefinitionName "Reservations Contributor"

Параметры

Параметр -ObjectId — это Microsoft Entra ObjectId пользователя, группы или субъекта-службы.

  • Тип: строка
  • Псевдонимы: Id, PrincipalId
  • Положение: Назначенное
  • Значение по умолчанию: None
  • Прием входных данных конвейера: Да
  • Примите подстановочные знаки: False

Параметр -TenantId является уникальным идентификатором клиента.

  • Тип: строка
  • Позиция: 5
  • Значение по умолчанию: None
  • Прием конвейерного ввода: Ложь
  • Примите подстановочные знаки: False

Назначение роли читателя резервирования на уровне клиента с помощью скрипта Azure PowerShell

Используйте следующий скрипт Azure PowerShell, чтобы назначить роль читателя резервирований на уровне клиента.


Import-Module Az.Accounts
Import-Module Az.Resources

Connect-AzAccount -Tenant <TenantId>

New-AzRoleAssignment -Scope "/providers/Microsoft.Capacity" -PrincipalId <ObjectId> -RoleDefinitionName "Reservations Reader"

Параметры

Параметр -ObjectId определяет Microsoft Entra ObjectId пользователя, группы или служебного объекта.

  • Тип: строка
  • Псевдонимы: Id, PrincipalId
  • Положение: Назначенное
  • Значение по умолчанию: None
  • Прием входных данных конвейера: Да
  • Примите подстановочные знаки: False

Параметр -TenantId является уникальным идентификатором клиента.

  • Тип: строка
  • Позиция: 5
  • Значение по умолчанию: None
  • Прием конвейерного ввода: Ложь
  • Примите подстановочные знаки: False