다음을 통해 공유


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를 통합하는 방법을 보여줍니다.

필수 조건

1단계: Microsoft Entra 테넌트에 웹 애플리케이션 등록

  1. Azure Government 포털에 로그인합니다.

  2. 오른쪽 위에서 계정을 클릭하고 디렉터리 목록에서 애플리케이션을 등록하려는 Active Directory 테넌트를 선택합니다.

  3. 왼쪽 탐색 창에서 모든 서비스를 클릭하고 Microsoft Entra ID를 선택합니다.

  4. 앱 등록을 클릭하고 추가를 선택합니다.

  5. 애플리케이션의 이름을 입력하고 애플리케이션 유형으로 '웹 애플리케이션 및/또는 Web API'를 선택합니다. 로그온 URL의 경우 애플리케이션의 기본 URL(Azure 앱 URL + "/signin-oidc")을 입력합니다.

    참고 항목

    애플리케이션을 배포하지 않고 로컬로 실행하려는 경우 앱 URL은 로컬 호스트 주소가 됩니다.

    만들기를 클릭하여 애플리케이션을 만듭니다.

  6. Azure Portal에서 애플리케이션을 선택하고 설정을 클릭한 다음, 속성을 선택합니다.

  7. 애플리케이션 ID 값을 찾아 클립보드에 복사합니다.

  8. 앱 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 프로젝트 구성

  1. Visual Studio 2019에서 애플리케이션을 엽니다.

  2. appsettings.json 파일을 엽니다.

  3. 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>"
        }
    }
    
  4. Azure Government 포털에서 앱의 클라이언트 ID로 ClientId 속성을 입력합니다. Microsoft Entra ID -> 앱 등록 -> 애플리케이션 -> 애플리케이션 ID로 이동하여 클라이언트 ID를 찾을 수 있습니다.

  5. Azure Government 포털에서 앱의 테넌트 ID로 TenantId 속성을 입력합니다. Microsoft Entra ID -> 속성 -> 디렉터리 ID로 이동하여 테넌트 ID를 찾을 수 있습니다.

  6. Domain 속성을 <tenantname>.onmicrosoft.us로 입력합니다.

  7. startup.cs 파일을 엽니다.

  8. 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();
    
  9. 컨트롤러 또는 사용자가 로그인할 홈 페이지인 컨트롤러 파일로 이동합니다. 클래스 정의 앞에 [Authorize] 태그를 추가합니다.

다음 단계