1세대 Horizon Cloud 애플리케이션 등록이 포드 구독 또는 외부 게이트웨이 구독(선택 사항)에서 API 호출을 수행하고 해당 VDI 관련 작업을 수행하도록 하려면 역할이 할당되어야 합니다. 일반적으로 Contributor
역할은 이 용도로 사용됩니다. Contributor
역할의 사용을 방지하려는 조직은 사용자 지정 역할을 생성하고 사용자 지정 역할을 통해 Horizon Cloud 앱 등록이 필요한 API 호출을 수행할 수 있습니다.
조직에서 포드의 외부 Unified Access Gateway 구성에 별도의 구독을 사용하는 방식을 채택하고 조직에서 해당 용도로 설정한 특정 리소스 그룹에 게이트웨이 리소스를 배포하도록 선택하는 경우, 포드 구독의 Horizon Cloud 앱 등록에 대한 사용자 지정 역할 외에, 해당 게이트웨이 구독에 대한 사용자 지정 역할은 포드 구독에 대한 사용자 지정 역할보다 좀 더 세분화된 범위별 사용 권한을 가질 수 있습니다.
사용자 지정 역할에 대한 간략한 소개
중요한 개념은 Horizon Cloud가 포드 구독 및 해당 리소스 그룹에서 특정 작업을 수행하여 포드 및 해당 게이트웨이 구성을 사용하는 데 필요한 리소스를 성공적으로 생성하고 유지 관리해야 한다는 것입니다.
간단한 예로, 포드 및 게이트웨이 아키텍처에는 NIC가 포함된 가상 시스템이 필요하기 때문에 구독에 가상 시스템과 NIC를 생성하고 해당 NIC를 구독의 VNet에 있는 서브넷에 연결하는 기능이 Horizon Cloud에 필요합니다.
Microsoft Azure에서 역할은 앱 등록의 서비스 주체가 수행할 수 있는 관리 작업 집합을 제공합니다. 관리 작업은 리소스와 해당 리소스에 대해 수행된 작업을 조합한 것입니다.
아래에 설명된 규칙에 따라 포드 구독 및 (선택 사항) 게이트웨이 구독의 Horizon Cloud 앱 등록 기능을 필요한 최소 작업으로 제한할 수 있습니다.
사용 가능한 사용 사례 개요
구독 및 리소스 그룹에서 Horizon Cloud 필수 작업을 논의할 때 다음과 같은 사용 사례를 고려할 수 있습니다.
사용 사례 | 설명 |
---|---|
포드 및 해당 외부 Unified Access Gateway 구성에 Horizon Cloud에서 사용하는 단일 구독입니다. | 이 경우 포드의 구독 수준에서 서비스 주체에게 액세스 권한을 부여해야 합니다. 구독 수준에서 서비스 주체에 할당된 역할은 Horizon Cloud가 구독에서 필수 리소스를 성공적으로 생성하고 시간에 따라 리소스에 대해 작동하는 데 필요한 작업을 허용해야 합니다. 예를 들어 이 경우에 역할은 기본 리소스 그룹, 네트워크 보안 그룹, 가상 시스템 등을 생성하는 기능을 제공해야 합니다. |
2개의 구독이 있으며, 포드 구독에서처럼 Horizon Cloud가 외부 게이트웨이의 지정된 구독에서 게이트웨이의 필수 리소스 그룹 및 리소스를 자동으로 생성하도록 하려고 합니다.
|
이 옵션을 사용하는 경우 각 구독에 대한 서비스 주체에는 위에 설명된 단일 구독 사용 사례의 경우와 동일한 작업을 허용하는 사용 권한을 사용하여 구독 수준에서 액세스 권한을 부여해야 합니다. |
위와 같이 2개의 구독이 있지만 Horizon Cloud에서 외부 게이트웨이의 필수 리소스 그룹 및 리소스를 자동으로 생성하도록 하지 않고, 해당 외부 게이트웨이의 지정된 구독에서 미리 리소스 그룹을 생성하고, Horizon Cloud에서 해당 기존 리소스 그룹에 외부 게이트웨이의 리소스를 배포하도록 하려고 합니다. | 외부 게이트웨이 배포에 사용되는 서비스 주체에 액세스 권한을 부여하는 두 가지 옵션은 다음과 같습니다.
|
VNet에 사용자 지정 경로가 있는 경우. Microsoft Azure Cloud에는 사용자 지정 경로라는 기능이 있습니다. | VNet에 사용자 지정 경로가 있는 경우 위의 모든 사용 사례 외에 사용 권한이 필요합니다. Microsoft.Network/routeTables/join/action |
포드 및 해당 게이트웨이 구성에 대해 단일 구독을 사용하거나, 구독 수준에서 사용 권한이 설정된 외부 Unified Access Gateway 구성에 대해 별도의 구독을 사용하는 경우
이러한 사용 사례의 경우 사용 권한은 구독 수준에서 할당됩니다. 사용자 지정 역할은 다음 표의 작업을 허용해야 합니다. *
(와일드 카드 문자)는 나열된 작업 내의 문자열과 일치하는 모든 작업에 액세스 권한을 부여합니다.
다음 JSON 코드 블록은 이전 작업 집합이 있을 때 Horizon Cloud Pod라는 사용자 지정 역할 정의의 모습을 보여 주는 예제입니다. ID는 사용자 지정 역할의 고유 ID입니다. Azure PowerShell 또는 Azure CLI를 사용하여 사용자 지정 역할을 생성하면 이 ID가 자동으로 생성됩니다. 변수 mysubscriptionId1은 사용자 지정 역할이 사용되는 구독의 ID(포드의 구독 또는 선택적 게이트웨이 구독)를 대신 사용합니다.
{ "Name": "Horizon Cloud Pod", "Id": "uuid", "IsCustom": true, "Description": "Minimum set of Horizon Cloud pod required operations", "Actions": [ "Microsoft.Authorization/*/read" "Microsoft.Compute/*/read" "Microsoft.Compute/availabilitySets/*" "Microsoft.Compute/disks/*" "Microsoft.Compute/images/*" "Microsoft.Compute/locations/*" "Microsoft.Compute/virtualMachines/*" "Microsoft.Compute/virtualMachineScaleSets/*" "Microsoft.Compute/snapshots/*" "Microsoft.DBforPostgreSQL/*" "Microsoft.KeyVault/*/read" "Microsoft.KeyVault/vaults/*" "Microsoft.KeyVault/vaults/secrets/*" "Microsoft.Network/loadBalancers/*" "Microsoft.Network/networkInterfaces/*" "Microsoft.Network/networkSecurityGroups/*" "Microsoft.Network/publicIPAddresses/*" "Microsoft.Network/virtualNetworks/read" "Microsoft.Network/virtualNetworks/write" "Microsoft.Network/virtualNetworks/checkIpAddressAvailability/read" "Microsoft.Network/virtualNetworks/subnets/*" "Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read" "Microsoft.Resources/subscriptions/resourceGroups/*" "Microsoft.ResourceHealth/availabilityStatuses/read" "Microsoft.Resources/deployments/*" "Microsoft.Storage/*/read" "Microsoft.Storage/storageAccounts/*" "Microsoft.Compute/galleries/read" "Microsoft.Compute/galleries/write" "Microsoft.Compute/galleries/delete" "Microsoft.Compute/galleries/images/*" "Microsoft.Compute/galleries/images/versions/*" "Microsoft.MarketplaceOrdering/offertypes/publishers/offers/plans/agreements/read" "Microsoft.MarketplaceOrdering/offertypes/publishers/offers/plans/agreements/write" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/mysubscriptionId1" ] } |
사용자 지정 경로가 VNet 및 해당 서브넷에 있는 경우
Microsoft Azure Cloud에는 사용자 지정 경로라는 기능이 있습니다.
이러한 경로가 VNet 및 해당 서브넷에 추가된 경우 이 추가 사용 권한이 필요합니다.
작업 | Microsoft Azure 설명서에 포함된 설명 |
---|---|
Microsoft.Network/routeTables/join/action |
https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork |
외부 Unified Access Gateway 구성에 대해 별도의 구독을 사용하는 경우 구독 수준에 읽기 권한자 역할이 있고 세분화된 수준에서 추가 필수 사용 권한이 할당된 사용자 지정 리소스 그룹으로 배포
이 사용 사례의 경우, 외부 게이트웨이 구독의 구독 수준에서 조직이 Horizon Cloud 앱 등록에 사용할 기본 제공 Reader
역할과 명명된 리소스 그룹 수준에서의 사용자 지정 역할을 사용할 수 있습니다.
조직은 다음 표의 사용 권한을 지정하는 사용자 지정 역할을 생성합니다. 그러면 해당 사용자 지정 역할이 Horizon Cloud 앱 등록에 할당되어 외부 게이트웨이의 구독에서 특별히 명명된 리소스 그룹에 작동합니다. 사용자 또는 조직은 외부 게이트웨이를 배포하는 구독에 명명된 해당 리소스 그룹을 미리 생성합니다.
계획된 배포 옵션에 따라 서브넷 및 VNet에 일부 특정 사용 권한이 필요합니다.
- 이 외부 게이트웨이 배포가 미리 생성한 서브넷을 사용하는 경우 Horizon Cloud에는 해당 서브넷에 NIC 및 NSG(네트워크 보안 그룹)를 생성하는 기능이 필요합니다. 서브넷이 속한 VNet에 필요한 사용 권한은
Microsoft.Network/virtualNetworks/subnets/*
및Microsoft.Network/networkSecurityGroups/*
입니다. - 이 외부 게이트웨이 배포에서 위의
Microsoft.Network/virtualNetworks/subnets/*
및Microsoft.Network/networkSecurityGroups/*
사용 권한 외에, Horizon Cloud가 서브넷을 생성하는 경우 Horizon Cloud에는 서브넷을 생성하는 기능이 있어야 합니다. 구독의 VNet에 필요한 사용 권한은Microsoft.Network/virtualNetworks/write
입니다. - 배포가 외부 게이트웨이 구성에 대해 공용 IP 주소를 사용하도록 지정하는 경우 Horizon Cloud에는 명명된 리소스 그룹에서 공용 IP 주소를 생성할 수 있는 기능이 필요합니다. 명명된 리소스 그룹에 필요한 사용 권한은
Microsoft.Network/publicIPAddresses
입니다.
명명된 리소스 그룹에는 다음과 같은 허용되는 작업이 필요합니다. *
(와일드 카드 문자)는 나열된 리소스 제공자 작업 내의 문자열과 일치하는 모든 작업에 대한 액세스 권한을 부여합니다.