앱 등록을 사용하여 Azure 테넌트 간 갤러리 VM 이미지 공유
Azure Compute Gallery를 사용하면 앱 등록을 사용하여 이미지를 다른 조직과 공유할 수 있습니다. 이 간단한 공유 옵션에 대한 자세한 내용은 갤러리 공유를 참조하세요.
그러나 Azure 테넌트 외부에서 이미지를 대규모로 공유하려는 경우 앱 등록을 만들어야 합니다. 앱 등록을 사용하면 다음과 같은 보다 복잡한 공유 시나리오를 사용할 수 있습니다.
- 한 회사가 다른 회사를 인수하고 Azure 인프라가 별도의 테넌트에 분산될 때 공유 이미지를 관리합니다.
- Azure 파트너는 고객을 대신하여 Azure 인프라를 관리합니다. 이미지 사용자 지정은 파트너 테넌트 내에서 수행되지만 인프라 배포는 고객의 테넌트에서 수행됩니다.
앱 등록 만들기
두 테넌트가 이미지 갤러리 리소스를 공유하는 데 사용할 애플리케이션 등록을 만듭니다.
- Azure Portal에서 앱 등록을 엽니다.
- 페이지 위쪽에 있는 메뉴에서 새 등록을 선택합니다.
- 이름에 myGalleryApp을 입력합니다.
- 지원되는 계정 유형에서 모든 조직 디렉터리의 계정(모든 Microsoft Entra 디렉터리 - 다중 테넌트) 및 개인 Microsoft 계정(예: Skype, Xbox)을 선택합니다.
- 리디렉션 URI의 플랫폼 선택 드롭다운에서 웹을 선택하고 https://www.microsoft.com을 입력한 다음, 등록을 선택합니다. 앱 등록이 생성되면 개요 페이지가 열립니다.
- 개요 페이지에서 애플리케이션(클라이언트) ID를 복사하고 나중에 사용할 수 있도록 저장합니다.
- 인증서 및 암호를 선택한 다음 새 클라이언트 암호를 선택합니다.
- 설명에 갤러리 교차 테넌트 앱 비밀을 입력합니다.
- 만료 시 기본값인 6개월(권장)에서 12개월로 변경한 다음, 추가를 선택합니다.
- 비밀 값을 복사하여 안전한 장소에 저장합니다. 페이지를 나간 후에는 검색할 수 없습니다.
갤러리를 사용하려면 앱 등록 권한을 부여합니다.
- Azure Portal에서 다른 테넌트와 공유하려는 Azure Compute Gallery를 선택합니다.
- 액세스 제어(IAM) 선택을 선택하고 역할 할당 추가에서 추가를 선택합니다.
- 역할에서 읽기 권한자를 선택합니다.
- 액세스 할당 대상:에서 값을 Microsoft Entra 사용자, 그룹 또는 서비스 주체로 유지합니다.
- 멤버 선택에서 myGalleryApp을 입력하고 목록에 표시되면 선택합니다. 완료되면 검토 + 할당을 선택합니다.
테넌트 2에 액세스 권한 부여
브라우저를 사용하여 로그인을 요청하여 테넌트 2에 애플리케이션에 대한 액세스 권한을 부여합니다. <Tenant2 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을 만들려는 리소스 그룹에 앱 등록 액세스 권한을 부여합니다.
- 리소스 그룹을 선택한 다음, 액세스 제어(IAM)를 선택합니다. 역할 할당 추가에서 추가를 선택합니다.
- 역할에서 기여자를 입력합니다.
- 액세스 할당 대상:에서 값을 Microsoft Entra 사용자, 그룹 또는 서비스 주체로 유지합니다.
- 멤버 선택에서 myGalleryApp을 입력한 다음, 목록에 표시되면 선택합니다. 완료되면 검토 + 할당을 선택합니다.
참고 항목
동일한 관리형 이미지를 사용하여 다른 이미지 버전을 만들려면 먼저 해당 이미지 버전이 완전히 빌드되어 복제될 때까지 기다려야 합니다.
Important
포털을 사용하여 이미지의 VM을 다른 Azure 테넌트에 배포할 수 없습니다. 테넌트 간에 공유된 이미지에서 VM을 생성하려면 Azure CLI 또는 PowerShell을 사용해야 합니다.
VM 만들기
앱 등록을 사용하여 공유된 이미지에서 VM을 만들기 전에 다음이 필요합니다.
- 원본 구독과 VM을 만들려는 구독의 테넌트 ID
- 앱 등록 및 비밀의 클라이언트 ID
- 사용하려는 이미지의 이미지 ID
appID, 앱 키, 테넌트 1의 ID를 사용하여 테넌트 1에 대한 서비스 주체를 로그인합니다. 필요한 경우 az account show --query "tenantId"
를 사용하여 테넌트 ID를 가져올 수 있습니다.
이 예제에서는 일반화된 이미지에서 VM을 만드는 방법을 보여 줍니다. 특수화된 이미지를 사용하려면 특수화된 이미지 버전을 사용하여 VM 만들기를 참조하세요.
tenant1='<ID for tenant 1>'
tenant2='<ID for tenant 2>'
appid='<client ID of the app registration>'
secret='<secret from the app registration>'
az account clear
az login --service-principal -u $appid -p $secret --tenant $tenant1
az account get-access-token
appID, 앱 키, 테넌트 2의 ID를 사용하여 테넌트 2에 대한 서비스 주체를 로그인합니다.
az login --service-principal -u $appid -p $secret --tenant $tenant2
az account get-access-token
VM을 만듭니다. 예시로 사용된 정보를 사용자의 정보로 바꿉니다.
imageid="<ID of the image that you want to use>"
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image $imageid \
--admin-username azureuser \
--generate-ssh-keys