AAD 관리 ID를 사용하여 Azure Sphere Public API에 액세스
Important
Azure Sphere(레거시) 설명서입니다. Azure Sphere(레거시)는 2027년 9월 27일에 사용 중지되며 사용자는 이 시간까지 Azure Sphere(통합)로 마이그레이션해야 합니다. TOC 위에 있는 버전 선택기를 사용하여 Azure Sphere(통합) 설명서를 볼 수 있습니다.
이 메서드를 사용하여 코드의 자격 증명 없이 AAD(Azure Active Directory) 인증을 지원하는 모든 서비스에 인증할 수 있습니다. AAD 관리 ID는 사용자를 대신하여 서비스 주체의 생성 또는 갱신을 처리합니다. Azure 리소스에서만 사용할 수 있는 특수 형식의 서비스 주체입니다. 관리 ID가 삭제되면 해당하는 서비스 주체가 자동으로 제거됩니다.
시스템 할당: 일부 Azure 서비스를 사용하면 서비스 인스턴스에서 직접 관리 ID를 사용하도록 설정할 수 있습니다. 예를 들어 Azure 앱 서비스입니다. 시스템이 할당한 관리 ID를 사용하도록 설정하면 해당 서비스 인스턴스의 수명 주기와 연결된 ID가 Azure AD에 만들어집니다. 따라서 리소스가 삭제되면 Azure에서 자동으로 ID를 삭제합니다. 의도적으로 해당 Azure 리소스만 이 ID를 사용하여 Azure AD에서 토큰을 요청할 수 있습니다.
필수 조건
- 개발 기능이 있는 Azure Sphere 기반 디바이스입니다.
- Azure Sphere 테넌트.
- Azure Sphere에 대한 개발 환경을 설정합니다.
- Azure Active Directory 테넌트(테넌트 ID).
- Azure 구독.
- Azure 테넌트에 Azure Sphere 공용 API 애플리케이션 ID를 추가합니다.
다음 섹션에서는 관리 ID를 사용하여 Azure 웹앱에서 AZURE Sphere 공용 API(PAPI)를 호출하는 방법을 설명합니다.
1단계: 리소스에서 시스템 할당 ID 사용
리소스에서 시스템 할당 ID를 사용하도록 설정하고 프로젝트의 개체 ID를 찾으려면 다음을 수행합니다.
- Azure Portal의 왼쪽 탐색 창에서 App Services를 클릭합니다.
- 드롭다운에서 필요한 구독을 선택하고 검색 결과에서 앱을 선택합니다.
- 논리 앱 메뉴의 설정에서 ID를 선택합니다.
- 상태를 켜기로 설정하여 시스템 할당 ID를 사용하도록 설정합니다.
- 저장을 클릭합니다.
- 개체 ID를 복사합니다.
2단계: Azure Sphere 테넌트에 관리 ID 추가
참고 항목
이 단계를 시작하기 전에 다음이 있는지 확인합니다.
- Azure Sphere 테넌트: Azure Sphere CLI를 사용하여 azsphere 테넌트 명령이 선택된 명령을 실행합니다.
- Azure 테넌트 ID: Azure Portal을 통해 테넌트 ID를 찾습니다. Azure Active Directory 테넌트 ID를 복사합니다.
Azure Sphere는 서비스 주체를 다른 사용자로 취급합니다. 서비스 주체를 사용하여 토큰을 획득하려면 먼저 서비스 주체 사용자를 Azure Sphere 테넌트에 추가한 다음 Azure Sphere CLI를 사용하여 Azure Sphere 테넌트에서 사용자에게 역할을 할당합니다.
사용자 ID는 ObjectID@<TenantID.onmicrosoft.com>> 생성<할 수 있습니다.
다음 예제에서는 Azure Sphere 테넌트 ID에서 개체 ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
와 Azure AD 테넌tttttttt-tttt-tttt-tttt-tttttttttttt
트 ID zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
의 조합을 사용하여 사용자를 만든 다음, 이 사용자에 대한 기여자 역할을 추가합니다.
Azure Sphere CLI를 사용하여 Azure Sphere 로그인으로 로그인합니다.
azsphere login
필요한 테넌트 선택:
azsphere tenant select --tenant tttttttt-tttt-tttt-tttt-tttttttttttt
필요한 역할에 사용자를 추가하려면 다음을 수행합니다.
azsphere role add --role Contributor --user xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx@zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz.onmicrosoft.com
3단계: 프로젝트에 Azure.Identity NuGet 패키지 추가
프로젝트에 Azure.Identity NuGet 패키지를 추가합니다. Azure Sphere PAPI(공용 API) 토큰은 DefaultAzureCredential에서 획득할 수 있습니다.
예를 들어 코드 조각을 참조하세요.
public static async Task<string> GetAS3Token()
{
DefaultAzureCredential credential = new DefaultAzureCredential();
var result = await credential.GetTokenAsync(new Azure.Core.TokenRequestContext(
new[] { "https://firstparty.sphere.azure.net/api/.default" }));
return result.Token;
}