アプリの登録を使用してテナント間でイメージを共有する

ただし、Azure テナントの外部で大規模にイメージを共有する場合は、アプリ登録を作成することをお勧めします。 アプリ登録を使用すると、次のようにより複雑な共有シナリオが可能になります。

  • ある会社が別の会社を買収し、Azure インフラストラクチャは別々のテナントに分散しているときの共有イメージの管理。
  • Azure パートナーは、お客様の代理で Azure インフラストラクチャを管理します。 イメージのカスタマイズはパートナーのテナント内で行われますが、インフラストラクチャのデプロイはお客様のテナント内で行われます。

アプリの登録を作成する

イメージ ギャラリーのリソースを共有するために、両方のテナントが使用するアプリケーション登録を作成します。

  1. Azure portal で [アプリの登録] を開きます。
  2. ページ上部のメニューから [New registration](新しい登録) を選択します。
  3. [名前] に「myGalleryApp」と入力します。
  4. [サポートされているアカウントの種類] に、[任意の組織のディレクトリ (Microsoft Entra ディレクトリ - マルチテナント) 内のアカウントと、個人用の Microsoft アカウント (Skype、Xbox など)] を選びます。
  5. [リダイレクト URI] で、[プラットフォームの選択] ボックスの一覧から [Web] を選択し、「https://www.microsoft.com」と入力して、[登録] を選択します。 アプリの登録が作成されたら、概要ページが開きます。
  6. 概要ページの [Application (client) ID](アプリケーション (クライアント) ID) をコピーし、後で使用するために保存します。
  7. 認証とシークレット を選択してから 新しいクライアント シークレット を選択します。
  8. [説明] に「Gallery cross-tenant app secret」と入力します。
  9. [有効期限] を既定値の 6 か月 (推奨) から 12 か月に変更し、[追加] を選択します。
  10. シークレットの値をコピーし、それを安全な場所に保存します。 ページを閉じると、取得できなくなります。

ギャラリーを使用するためのアクセス許可をアプリの登録に付与します。

  1. Azure portal で、別のテナントと共有する Azure Compute Gallery を選択します。
  2. [アクセス制御 (IAM)] を選択したら、 [ロール割り当ての追加][追加] を選択します。
  3. [ロール][閲覧者] を選択します。
  4. [アクセスの割り当て先] の下にあるこれを [Microsoft Entra のユーザー、グループ、サービス プリンシパル] のままにします。
  5. [メンバーを選択する] に「myGalleryApp」と入力し、一覧に表示されたら選択します。 完了したら、[レビューと割り当て] を選択します。

テナント 2 にアクセス権を付与する

ブラウザーを使用してサインインを要求することで、テナント 2 にアプリケーションへのアクセス権を付与します。 "<テナント 2 ID>" を、イメージ ギャラリーを共有するテナントのテナント ID に置き換えます。 ユーザーは、Azure CLI コマンド az account show を使用して自分のテナント ID を確認できます。

"<アプリケーション (クライアント) ID>" を、作成したアプリの登録のアプリケーション ID に置き換えます。 置き換えが完了したら、URL をブラウザーに貼り付け、サインイン プロンプトに従ってテナント 2 にサインインします。

https://login.microsoftonline.com/<Tenant 2 ID>/oauth2/authorize?client_id=<Application (client) ID>&response_type=code&redirect_uri=https%3A%2F%2Fwww.microsoft.com%2F 

Azure portal でテナント 2 としてサインインし、アプリの登録に、VM を作成するリソース グループへのアクセス権を付与します。

  1. リソース グループを選択し、 [アクセス制御 (IAM)] を選択します。 [ロールの割り当ての追加][追加] を選択します。
  2. [ロール] に「共同作成者」と入力します。
  3. [アクセスの割り当て先] の下にあるこれを [Microsoft Entra のユーザー、グループ、サービス プリンシパル] のままにします。
  4. [メンバーを選択する] に「myGalleryApp」と入力し、一覧に表示されたら選択します。 完了したら、[レビューと割り当て] を選択します。

Note

同じマネージド イメージを使用して別のイメージ バージョンを作成する前に、そのイメージ バージョンが構築とレプリケーションを完全に完了するまで待つ必要があります。

Azure CLI を使用したスケール セットの作成

appID、アプリ キー、およびテナント 1 の ID を使用して、テナント 1 のサービス プリンシパルにサインインします。 az account show --query "tenantId" を使用して、必要に応じてテナント ID を取得できます。

az account clear
az login --service-principal -u '<app ID>' -p '<Secret>' --tenant '<tenant 1 ID>'
az account get-access-token 

appID、アプリ キー、およびテナント 2 の ID を使用して、テナント 2 のサービス プリンシパルにサインインします。

az login --service-principal -u '<app ID>' -p '<Secret>' --tenant '<tenant 2 ID>'
az account get-access-token

スケール セットを作成する。 例の情報を自身のものに置き換えます。

az vmss create \
  -g myResourceGroup \
  -n myScaleSet \
  --image "/subscriptions/<Tenant 1 subscription>/resourceGroups/<Resource group>/providers/Microsoft.Compute/galleries/<Gallery>/images/<Image definition>/versions/<version>" \
  --admin-username azureuser \
  --generate-ssh-keys

次のステップ

問題が生じた場合は、共有イメージ ギャラリーに関するトラブルシューティングを行うことができます。