Azure Government의 Web Apps와 Microsoft Entra 인증 통합
다음 빠른 시작은 Microsoft Entra 인증을 Azure Government의 애플리케이션과 통합하는 데 도움이 됩니다. Azure Government의 Microsoft Entra 인증은 몇 가지 예외를 제외하고 Azure 상업용 플랫폼과 유사합니다.
Microsoft Entra 인증 시나리오에 대해 자세히 알아봅니다.
OpenID Connect를 사용하여 웹 애플리케이션에 Microsoft Entra 로그인 통합
이 섹션에서는 웹앱에 사용자를 로그인하기 위해 OpenID Connect 프로토콜을 사용하여 Microsoft Entra ID를 통합하는 방법을 보여줍니다.
필수 조건
- Azure Government의 Microsoft Entra 테넌트입니다. Azure Government에 Microsoft Entra 테넌트를 포함하려면 Azure Government 구독이 있어야 합니다. Microsoft Entra 테넌트를 가져오는 방법에 대한 자세한 내용은 Microsoft Entra 테넌트를 가져오는 방법을 참조하세요.
- Microsoft Entra 테넌트에 있는 사용자 계정입니다. 이 샘플은 Microsoft 계정에서는 작동하지 않으므로 Microsoft 계정으로 Azure Government 포털에 로그인하고 이전에 디렉터리에 사용자 계정을 만든 적이 없다면 지금 이 작업을 수행해야 합니다.
- Azure Government에서 ASP.NET Core 애플리케이션을 배포하고 실행합니다.
1단계: Microsoft Entra 테넌트에 웹 애플리케이션 등록
Azure Government 포털에 로그인합니다.
오른쪽 위에서 계정을 클릭하고 디렉터리 목록에서 애플리케이션을 등록하려는 Active Directory 테넌트를 선택합니다.
왼쪽 탐색 창에서 모든 서비스를 클릭하고 Microsoft Entra ID를 선택합니다.
앱 등록을 클릭하고 추가를 선택합니다.
애플리케이션의 이름을 입력하고 애플리케이션 유형으로 '웹 애플리케이션 및/또는 Web API'를 선택합니다. 로그온 URL의 경우 애플리케이션의 기본 URL(Azure 앱 URL + "/signin-oidc")을 입력합니다.
참고 항목
애플리케이션을 배포하지 않고 로컬로 실행하려는 경우 앱 URL은 로컬 호스트 주소가 됩니다.
만들기를 클릭하여 애플리케이션을 만듭니다.
Azure Portal에서 애플리케이션을 선택하고 설정을 클릭한 다음, 속성을 선택합니다.
애플리케이션 ID 값을 찾아 클립보드에 복사합니다.
앱 ID URI의 경우 https://<your_tenant_name>/<name_of_your_app>을 입력하고 <your_tenant_name>을 Microsoft Entra 테넌트 이름으로 바꿔서 애플리케이션 이름으로 <name_of_your_app>을 바꿉니다.
2단계: Microsoft Entra 테넌트 사용을 위한 앱 구성
Azure Government 변형
Azure Government 클라우드에서 Microsoft Entra 권한 부여를 설정할 때의 유일한 변형은 Microsoft Entra 인스턴스에 있습니다.
- "https://login.microsoftonline.us"
InventoryApp 프로젝트 구성
Visual Studio 2019에서 애플리케이션을 엽니다.
appsettings.json
파일을 엽니다.Authentication
섹션을 추가하고 Microsoft Entra 테넌트 정보를 사용하여 속성을 입력합니다.//ClientId: Azure AD-> App registrations -> Application ID //Domain: <tenantname>.onmicrosoft.us //TenantId: Azure AD -> Properties -> Directory ID "Authentication": { "AzureAd": { "Azure ADInstance": "https://login.microsoftonline.us/", "CallbackPath": "/signin-oidc", "ClientId": "<clientid>", "Domain": "<domainname>", "TenantId": "<tenantid>" } }
Azure Government 포털에서 앱의 클라이언트 ID로
ClientId
속성을 입력합니다. Microsoft Entra ID -> 앱 등록 -> 애플리케이션 -> 애플리케이션 ID로 이동하여 클라이언트 ID를 찾을 수 있습니다.Azure Government 포털에서 앱의 테넌트 ID로
TenantId
속성을 입력합니다. Microsoft Entra ID -> 속성 -> 디렉터리 ID로 이동하여 테넌트 ID를 찾을 수 있습니다.Domain
속성을<tenantname>.onmicrosoft.us
로 입력합니다.startup.cs
파일을 엽니다.ConfigureServices
메서드에서 다음 코드를 추가합니다.public void ConfigureServices(IServiceCollection services) { //Add Azure AD authentication services.AddAuthentication(options => { options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme; }) .AddCookie() .AddOpenIdConnect(options => { options.Authority = Configuration["Authentication:AzureAd:Azure ADInstance"] + Configuration["Authentication:AzureAd:TenantId"]; options.ClientId = Configuration["Authentication:AzureAd:ClientId"]; options.CallbackPath = Configuration["Authentication:AzureAd:CallbackPath"]; }); }
동일한 파일에서 다음 한 줄의 코드를
Configure
메서드에 추가합니다.app.UseAuthentication();
홈 컨트롤러 또는 사용자가 로그인할 홈 페이지인 컨트롤러 파일로 이동합니다. 클래스 정의 앞에
[Authorize]
태그를 추가합니다.
다음 단계
- Azure Government PaaS 샘플로 이동하여 Microsoft Entra 인증과 Azure Government에서 실행되는 애플리케이션에 통합되는 다른 서비스를 확인합니다.
- Azure Government 블로그 구독
- "azure-gov" 태그를 사용하여 Stack Overflow에 대한 도움말 보기