このページでは、サービスによる Microsoft Azure Edge デプロイに対する Azure Marketplace の使用に関連する要件について説明します。
この情報は、ユーザーまたはユーザーの IT 組織またはセキュリティ組織が環境の Microsoft Azure サブスクリプションに Azure Marketplace オファーまたは Azure Marketplace の注文の使用に関する制限を設定している場合に適用されます。
デプロイ時間を短縮するために、Edge Gateway および Unified Access Gateway インスタンスのデプロイでは、Azure Marketplace で提供するオファーを使用する必要があります。サービスによる Microsoft Azure Edge デプロイに対する Azure Marketplace の使用は、AKS ベースのデプロイではなく、Edge 仮想マシンベースのデプロイでのみ使用できます。
Azure Marketplace と Edge デプロイの関係
デプロイ コードは、API 呼び出しによって、プログラムで、omnissallc という名前の publisherID に対応する Azure Marketplace での Horizon Cloud オファーの条件に同意しようとします。
| 関連エンティティ | publisherID | offerID | planID |
|---|---|---|---|
| Edge Gateway | omnissallc | horizon-edge-gw | byol_release |
| Unified Access Gateway | omnissallc | omnissa-hcs-uag | omnissa-hcs-uag-v2 |
**注:**Azure ポータルを使用して Azure Marketplace に移動してこれらのオファーを表示することはサポートされていません。Horizon Cloud は、API 呼び出しを使用したプログラムによるアクセスのためにこれらのオファーを公開します。
API 呼び出しの要件
このプログラムによる方法が成功するには、Microsoft Azure Edge デプロイの Azure サブスクリプションは以下のセクションで説明する要件を満たす必要があります。
これらの項目は、上記の表に記載されているサービスの publisherID、offerID、および planID に対応する Azure Marketplace での Horizon Cloud オファーの条件に同意するために、デプロイヤ API 呼び出しに提供されます。
これらの要件は、Edge Gateway および Unified Access Gateway インスタンスで使用されるサブスクリプションに適用されます。
サブスクリプションで次の項目が満たされていない場合、オファー条件に同意するためのデプロイヤ コードの API 呼び出しが失敗し、そのサブスクリプションに関連するデプロイに失敗します。
環境のサービス プリンシパルがカスタム ロールを使用する場合の要件
カスタム ロールを使用する場合、次の権限をカスタム ロールに含める必要があります。
Microsoft.MarketplaceOrdering/offertypes/publishers/offers/plans/agreements/readMicrosoft.MarketplaceOrdering/offertypes/publishers/offers/plans/agreements/write
Azure ポリシーがサブスクリプションで許可される Azure リソース タイプを制限する場合の要件
一部の IT 組織の Azure ポリシーでは、名前で明示的に許可されている特定のリソース タイプを除き、Azure リソース タイプのすべての使用を禁止するように指定されている場合があります。
IT またはセキュリティ組織が、組織の Azure サブスクリプションで許可される Azure リソース タイプを制限する Azure ポリシーを設定している場合、Azure ポリシーの AllowedResourceTypes セットに、リソース タイプ Microsoft.MarketplaceOrdering/* を含める必要があります。
サブスクリプションの Azure ポリシーに Microsoft.MarketplaceOrdering/* が含まれていない場合、Horizon Cloud サポートは、「Offer with PublisherId: 'omnissallc', OfferId: 'omnissa-hcs-xxxxx' cannot be purchased due to validation errors. Sku 'omnissa-hcs-xxxxxx' of offer 'omnissa-hcs-xxxxxx' by publisher 'omnissallc' is not available to you for deployment per the policy set by your IT Admin」のようなパターンでログに記録されたエラー メッセージを確認します。ここで xxxxx は前述の表の planID のいずれかに対応します。
Microsoft.MarketplaceOrdering/* リソース タイプへのアクセスを許可すると、デプロイヤとアップグレード コードは、デプロイヤ コードが使用する Azure Marketplace でのサービスのオファーを受け入れる API 呼び出しを行うことができます。
IT チームまたはセキュリティ チームがサブスクリプションでこのリソース タイプの許可を拒否した場合、次の「エンタープライズの Azure プライベート ストア コレクションへのオファーの追加」セクションで説明するアクションを実行して、Horizon Cloud オファー SKU をエンタープライズの Azure プライベート ストアに追加するオプションを使用できます。その後、サービスの API 呼び出しは、そこからオファーを取得できます。
エンタープライズ管理者が Azure Enterprise テナントの Azure Marketplace 購入をオフに切り替えた場合の要件
Microsoft Azure のドキュメントで説明されているように、エンタープライズ管理者は、エンタープライズ Azure テナントのすべての Azure サブスクリプションの Azure Marketplace 購入をオフに切り替えることができます。
この操作を行うと、Azure Marketplace の購入が Microsoft の発行元からのオファーに制限されます。この制限付き購入により、サービスの API 呼び出しがブロックされ、omnissallc publisherID から Horizon Cloud オファーが取得されなくなり、その結果、これらの API 呼び出しを必要とするデプロイ プロセスが妨げられます。
このシナリオでは、Horizon Cloud サポートは、「Cannot complete purchase as your enrollment for this subscription doesn't allow purchase of marketplace paid products. Your Azure enrollment administrator can enable purchase of paid marketplace products.」のようなパターンでログに記録されたエラー メッセージを確認します。
この状況を解決するには、エンタープライズ管理者に次の「エンタープライズの Azure プライベート ストア コレクションへのオファーの追加」セクションのアクションを実行して、プライベート Azure Marketplace コレクションを作成および管理し、Horizon Cloud オファーを追加するよう依頼します。
エンタープライズの Azure プライベート ストア コレクションへのオファーの追加
Microsoft Azure は、サブスクリプションで使用するプライベート Azure Marketplace コレクションを作成および管理する機能を提供します。「Learn Microsoft - プライベート Azure Marketplace を使用した管理と制御」で説明されているように、この機能により、IT 管理者は、ユーザーがグローバル Azure Marketplace から使用できるサードパーティ ソリューションを事前に承認、キュレート、および制御できます。そのページで説明されているように、プライベート ストアを管理する管理者に Marketplace 管理者ロールを割り当てる必要があります。
エンタープライズ Azure テナント用にプライベート ストアが作成されると、Marketplace 管理者ロールを持つ管理者は、プライベート ストア コレクションにオファーを追加できます。テナントのプライベート ストアにオファーを追加すると、サービスの API 呼び出しで、デプロイおよびアップグレードに使用されるオファーを取得できます。
Microsoft は、特定の発行者オファーをプライベート ストア コレクションに追加するための PowerShell コマンドを提供します。
「Learn Microsoft - プライベート マーケットプレイスにオファーを追加する」にある PowerShell コマンドを実行するための前提条件については、Microsoft のドキュメント参照に従います。この Microsoft ページでは、Microsoft がこの目的のために提供する PowerShell コマンドについても説明されています。
Azure プライベート ストアに Horizon Cloud オファーを追加する例
次の例は、コマンドを実行するための前提条件が満たされた後に、そのプライベート ストアに Horizon Cloud オファーを追加するために使用する Microsoft PowerShell コマンドを示しています。
-
まず、Get-AzMarketplacePrivateStore を使用して Azure テナントの
privateStoreIdを取得します。(詳細は Microsoft ドキュメント「Get-AzMarketplacePrivateStore」を参照) -
次に、Set-AzMarketplacePrivateStoreOffer を使用して、Horizon Cloud オファーをそのプライベート ストアに追加します。(詳細は Microsoft ドキュメント「Set-AzMarketplacePrivateStoreOffer」を参照)
PowerShell で次の手順を実行します。
- 次のコマンド セットで使用する Azure テナントの
privateStoreIdを取得します。
Get-AzMarketplacePrivateStore
- 返された
privateStoreIdを次のコマンドで使用して、horizon-edge-gwおよびomnissa-hcs-uagのオファーを追加します。
- Edge Gateway のオファーを追加します。
Set-AzMarketplacePrivateStoreOffer -privateStoreId your-tenant-privateStoreID -offerId omnissallc.horizon-edge-gw -SpecificPlanIdsLimitation @("byol_release")
- Unified Access Gateway インスタンスのオファーを追加します。
Set-AzMarketplacePrivateStoreOffer -privateStoreId your-tenant-privateStoreID -offerId omnissallc.omnissa-hcs-uag -SpecificPlanIdsLimitation @("omnissa-hcs-uag-v2")
- オファーがテナントのプライベート ストアに表示されていることを確認します。
Get-AzMarketplacePrivateStoreOffer -PrivateStoreId your-tenant-privateStoreID
このページは役に立ちましたか?