Un rôle, qui spécifie les opérations autorisées que le principal de service peut effectuer dans cet abonnement et ses groupes de ressources, doit être attribué au principal de service utilisé par Horizon Cloud pour effectuer des opérations dans votre abonnement Microsoft Azure et groupes de ressources. Même si le rôle Contributeur intégré de Microsoft Azure permet toutes les opérations requises par Horizon Cloud, cela est possible en accordant le plus grand nombre d'autorisations. Au lieu d'utiliser ce rôle Contributeur intégré de Microsoft Azure au niveau de l'abonnement, vous pouvez créer un rôle personnalisé disposant de l'ensemble minimal d'autorisations, s'appliquant à l'ensemble minimal d'opérations qu'Horizon Cloud exige dans l'abonnement associé. Vous pouvez ensuite attribuer ce rôle personnalisé au principal de service au niveau de l'abonnement. Si vous adoptez l'approche d'un abonnement distinct pour la configuration externe d'Unified Access Gateway de l'espace et si vous choisissez de déployer les ressources de passerelle dans un groupe de ressources que vous créez et gérez, vous avez la possibilité d'attribuer au principal de service des autorisations plus granulaires et de portée limitée dans cet abonnement distinct.

Le concept général nécessite qu'Horizon Cloud effectue certaines opérations dans votre abonnement et ses groupes de ressources pour créer et gérer les ressources requises afin de disposer d'un espace et de ses configurations de passerelle. Par exemple, étant donné que l'architecture de l'espace et celle de la passerelle nécessitent des machines virtuelles équipées de cartes réseau, Horizon Cloud doit être en mesure de créer des machines virtuelles et des cartes réseau dans votre abonnement et d'attacher ces cartes réseau aux sous-réseaux dans le réseau virtuel de l'abonnement. Certaines options que vous choisissez pour vos déploiements d'espace et de passerelle déterminent l'ensemble spécifique d'opérations qu'Horizon Cloud doit effectuer. Vous pouvez limiter les capacités d'Horizon Cloud de votre abonnement aux opérations minimales requises, en suivant les règles décrites ci-dessous, selon les options que vous adoptez pour déployer un espace et pour sa configuration de passerelle externe.

Pour plus d'informations sur les rôles personnalisés dans Microsoft Azure et les étapes à suivre pour créer un rôle personnalisé, reportez-vous à la rubrique Rôles personnalisés pour les ressources Azure dans la documentation de Microsoft Azure. Pour plus d'informations sur le fonctionnement d'un rôle, sa structure et la structure des opérations de gestion, reportez-vous à la rubrique Comprendre les définitions de rôle pour les ressources Azure dans la documentation de Microsoft Azure. Comme décrit dans cette rubrique de la documentation, une définition de rôle est une collection d'autorisations. Pour simplifier, la définition de rôle sera appelée le rôle dans le présent document. Le rôle répertorie les opérations de gestion qui peuvent être effectuées, ainsi que les opérations qui ne peuvent pas être effectuées, par le principal de service auquel ce rôle est attribué. Une opération de gestion est une combinaison de la ressource et de l'action effectuée sur cette ressource.

Cette rubrique comprend les sections suivantes.

Présentation des cas d'utilisation disponibles

Lorsque vous traitez les opérations requises d'Horizon Cloud dans vos abonnements Microsoft Azure et groupes de ressources, ces cas d'utilisation sont inclus.

Note : Le rôle du principal de service créé pour l'abonnement spécifié pour le reste des ressources de l'espace dans le cas d'utilisation à deux abonnements doit respecter les mêmes règles que celles requises pour le cas d'utilisation à abonnement unique.
Cas d'utilisation Description
Abonnement unique utilisé par Horizon Cloud pour les espaces et leurs configurations externes d'Unified Access Gateway.

Dans ce cas, l'accès doit être accordé au principal de service au niveau de l'abonnement. Le rôle attribué au principal de service à ce niveau doit autoriser les actions qu'Horizon Cloud doit effectuer dans votre abonnement pour créer à l'intérieur les ressources requises et agir dessus dans le temps. Dans ce cas, par exemple, le rôle doit permettre de créer les groupes de ressources par défaut, les groupes de sécurité réseau, les machines virtuelles, etc.

Deux abonnements, et vous souhaitez qu'Horizon Cloud crée automatiquement les groupes de ressources et les ressources nécessaires dans l'abonnement spécifié de la passerelle externe, de la même manière que dans l'abonnement pour le reste des ressources de l'espace.
  • Un abonnement spécifié à utiliser pour les ressources de la configuration externe d'Unified Access Gateway
  • Un abonnement pour le reste des ressources de l'espace

Lorsque vous utilisez cette option, l'accès doit être accordé au principal de service au niveau de l'abonnement, avec des autorisations qui autorisent des actions identiques à celles du cas d'utilisation à abonnement unique décrit ci-dessus.

Deux abonnements comme ci-dessus, mais au lieu qu'Horizon Cloud crée automatiquement les groupes de ressources et les ressources nécessaires de la passerelle externe, créez un groupe de ressources à l'avance dans l'abonnement spécifié de cette passerelle externe tout en souhaitant qu'Horizon Cloud déploie les ressources de la passerelle externe dans ce groupe de ressources existant.

Deux options pour accorder l'accès au principal de service utilisé pour le déploiement de la passerelle externe :

  • Accordez l'accès au niveau de l'abonnement, comme dans le cas ci-dessus.
  • Utilisez la combinaison suivante :
    • Au niveau de l'abonnement, accordez l'accès à l'aide du rôle Lecteur intégré.
    • Au niveau du groupe de ressources nommé, accordez l'accès à l'aide d'autorisations définies dans un rôle personnalisé. Les autorisations accordées au niveau du groupe de ressources doivent fournir les opérations qu'Horizon Cloud doit effectuer dans le groupe de ressources pour déployer et configurer les ressources de la passerelle externe à cet emplacement.

      En plus des autorisations d'accès au groupe de ressources, Horizon Cloud doit disposer des autorisations pour effectuer les actions suivantes, en fonction de vos plans de déploiement :

      • Si ce déploiement utilise des sous-réseaux que vous créez à l'avance sur le réseau virtuel de cet abonnement, Horizon Cloud doit être en mesure de créer des cartes réseau et des groupes de sécurité réseau (NSG) sur ces sous-réseaux. Les autorisations requises sur le réseau virtuel auquel appartient le sous-réseau sont Microsoft.Network/virtualNetworks/subnets/* et Microsoft.Network/networkSecurityGroups/*
      • Si ce déploiement permet à Horizon Cloud de générer les sous-réseaux, outre les autorisations Microsoft.Network/virtualNetworks/subnets/* et Microsoft.Network/networkSecurityGroups/* ci-dessus, Horizon Cloud doit être en mesure de créer les sous-réseaux. Microsoft.Network/virtualNetworks/write est l'autorisation requise sur le réseau virtuel
      • Si votre déploiement de passerelle externe spécifie l'utilisation d'une adresse IP publique, Horizon Cloud doit être en mesure de créer des adresses IP publiques dans le groupe de ressources nommé. Microsoft.Network/publicIPAddresses est l'autorisation requise sur le groupe de ressources nommé

Utilisation d'un abonnement unique pour l'espace et ses configurations de passerelle ou d'un abonnement distinct pour la configuration externe d'Unified Access Gateway avec des autorisations définies au niveau de l'abonnement

Pour ces cas d'utilisation, les autorisations sont attribuées au niveau de l'abonnement. Pour le rôle personnalisé défini sur le principal de service que vous spécifiez à l'étape d'abonnement dans les workflows Horizon Cloud, les actions suivantes sont nécessaires dans la définition de rôle personnalisé. Le signe * (caractère générique) accorde l'accès à toutes les opérations qui correspondent à la chaîne dans l'opération indiquée du fournisseur de ressources. Pour obtenir les descriptions des opérations, reportez-vous à la documentation de Microsoft Azure en utilisant les liens répertoriés ci-dessous.

Tableau 1. Opérations sur les ressources Microsoft Azure qui doivent être autorisées dans le rôle personnalisé lors de l'attribution d'autorisations au niveau de l'abonnement
Opération Description dans la documentation de Microsoft Azure
Microsoft.Authorization/*/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftauthorization
Microsoft.Compute/*/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/availabilitySets/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/disks/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/images/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/locations/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/snapshots/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/virtualMachines/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/virtualMachineScaleSets/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.DBforPostgreSQL/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftdbforpostgresql
Microsoft.KeyVault/*/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftkeyvault
Microsoft.KeyVault/vaults/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftkeyvault
Microsoft.KeyVault/vaults/secrets/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftkeyvault
Microsoft.Network/loadBalancers/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/networkInterfaces/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/networkSecurityGroups/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/publicIPAddresses/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/virtualNetworks/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/virtualNetworks/write https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/virtualNetworks/checkIpAddressAvailability/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/virtualNetworks/subnets/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.ResourceHealth/availabilityStatuses/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftresourcehealth
Microsoft.Resources/subscriptions/resourceGroups/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftresources
Microsoft.Resources/deployments/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftresources
Microsoft.Storage/*/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftstorage
Microsoft.Storage/storageAccounts/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftstorage

Le bloc de code JSON suivant est un exemple permettant d'illustrer l'apparence éventuelle d'une définition de rôle personnalisé nommée Espace Horizon Cloud lorsqu'elle dispose de l'ensemble des opérations précédentes. Pour obtenir une description des propriétés et des informations sur l'utilisation, reportez-vous à la section sur les propriétés des rôles personnalisés dans la rubrique Rôles personnalisés pour les ressources Azure de la documentation de Microsoft Azure. L'ID est l'ID unique du rôle personnalisé. Lorsque vous créez le rôle personnalisé à l'aide d'Azure PowerShell ou d'Azure CLI, cet ID est généré automatiquement lors de la création. Comme décrit dans le Tutoriel : Créer un rôle personnalisé pour les ressources Azure à l'aide d'Azure CLI, mysubscriptionId1 est l'ID de votre propre abonnement.

Tableau 2. Exemple de JSON pour un rôle autorisant les opérations requises d'Horizon Cloud lors de l'attribution d'autorisations au niveau de l'abonnement
{
"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/*"
  ],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
  "/subscriptions/mysubscriptionId1"
  ]
}

Utilisation d'un abonnement distinct pour la configuration externe d'Unified Access Gateway, déploiement dans un groupe de ressources personnalisé, avec le rôle Lecteur au niveau de l'abonnement et les autorisations supplémentaires requises attribuées à des niveaux granulaires

Pour ce cas d'utilisation, vous pouvez attribuer le rôle Lecteur intégré au principal de service au niveau de l'abonnement, puis accorder l'accès au niveau du groupe de ressources nommé à l'aide d'un rôle personnalisé qui spécifie les autorisations dans le tableau suivant. Certaines autorisations supplémentaires d'accès aux sous-réseaux et au réseau virtuel sont requises, en fonction des options de déploiement prévues :

  • Si ce déploiement de passerelle externe utilise des sous-réseaux que vous créez à l'avance, Horizon Cloud doit être en mesure de créer des cartes réseau et des groupes de sécurité réseau (NSG) sur ces sous-réseaux. Les autorisations requises sur le réseau virtuel auquel appartient le sous-réseau sont Microsoft.Network/virtualNetworks/subnets/* et Microsoft.Network/networkSecurityGroups/*
  • Si ce déploiement de passerelle externe permet à Horizon Cloud de générer les sous-réseaux, en plus des autorisations Microsoft.Network/virtualNetworks/subnets/* et Microsoft.Network/networkSecurityGroups/* ci-dessus, Horizon Cloud doit être en mesure de créer les sous-réseaux. Microsoft.Network/virtualNetworks/write est l'autorisation requise sur le réseau virtuel de l'abonnement
  • Si votre déploiement spécifie l'utilisation d'une adresse IP publique pour la configuration de la passerelle externe, Horizon Cloud doit être en mesure de créer des adresses IP publiques dans le groupe de ressources nommé. Microsoft.Network/publicIPAddresses est l'autorisation requise sur le groupe de ressources nommé

Les opérations autorisées suivantes sont nécessaires dans le groupe de ressources nommé. Le signe * (caractère générique) accorde l'accès à toutes les opérations qui correspondent à la chaîne dans l'opération indiquée du fournisseur de ressources. Pour obtenir les descriptions des opérations, reportez-vous à la documentation de Microsoft Azure en utilisant les liens répertoriés ci-dessous.

Tableau 3. Opérations sur les ressources Microsoft Azure qui doivent être autorisées dans le groupe de ressources spécifié
Opération Description dans la documentation de Microsoft Azure
Microsoft.Authorization/*/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftauthorization
Microsoft.Compute/*/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/availabilitySets/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/disks/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/images/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/locations/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/snapshots/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/virtualMachines/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.Compute/virtualMachineScaleSets/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftcompute
Microsoft.DBforPostgreSQL/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftdbforpostgresql
Microsoft.KeyVault/*/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftkeyvault
Microsoft.KeyVault/vaults/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftkeyvault
Microsoft.KeyVault/vaults/secrets/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftkeyvault
Microsoft.Network/loadBalancers/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/networkInterfaces/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/publicIPAddresses/*, si votre déploiement spécifie l'utilisation d'une adresse IP publique pour le déploiement de la passerelle externe. https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/virtualNetworks/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/virtualNetworks/checkIpAddressAvailability/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftnetwork
Microsoft.ResourceHealth/availabilityStatuses/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftresourcehealth
Microsoft.Resources/subscriptions/resourceGroups/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftresources
Microsoft.Resources/deployments/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftresources
Microsoft.Storage/*/read https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftstorage
Microsoft.Storage/storageAccounts/* https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftstorage