Все примеры, которые я нашел (например, этот ответ), используют Идентификатор определения роли для имени назначения роли, что приводит к конфликтам, если я хочу создать другое назначение для той же области и роли, но для другого субъекта.
Примеры шаблонов ARM, используемых для этого, явно есть такое разделение:
Код: Выделить всё
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers/providers/roleAssignments",
"apiVersion": "2018-09-01-preview",
"name": "[concat(parameters('StorageAccountName'), '/default/',parameters('ContainerName'), '/Microsoft.Authorization/', parameters('roleNameGuid'))]",
"properties": {
"roleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'ba92f5b4-2d11-453d-a403-e96b0029c9fe')]",
"principalId": "[parameters('principalId2')]"
}
}
Однако в C# SDK определение роли передается как roleAssignmentName:
Код: Выделить всё
var roleAssignmentResource = armClient.GetRoleAssignmentResource(
RoleAssignmentResource.CreateResourceIdentifier(
scope: $"/subscriptions/{subscriptionId.ToString()}/resourceGroups/{resourceGroupName}",
roleAssignmentName: "acdd72a7-3385-48ef-bd42-f606fba81ae7")); // this is the ID for the Reader role
Подробнее здесь: https://stackoverflow.com/questions/791 ... -sharp-sdk
Мобильная версия