Share via


자습서: Microsoft Entra ID에서 샘플 SCIM 엔드포인트 개발

이 자습서에서는 Azure App Service를 사용하여 SCIM 참조 코드를 배포하는 방법을 설명합니다. 그런 다음 Postman을 사용하거나 Microsoft Entra 프로비전 서비스와 통합하여 코드를 테스트합니다. 이 자습서는 SCIM을 시작하려는 개발자 또는 SCIM 엔드포인트를 테스트하고자 하는 개발자용입니다.

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • Azure에서 SCIM 엔드포인트를 배포합니다.
  • SCIM 엔드포인트를 테스트합니다.

Azure에서 SCIM 엔드포인트 배포

이 단계에서는 Azure App Service와 함께 Visual Studio 2019Visual Studio Code를 사용하여 SCIM 엔드포인트를 서비스에 배포합니다. SCIM 참조 코드를 로컬로 실행하거나 온-프레미스 서버에서 호스팅하거나 다른 외부 서비스에 배포할 수 있습니다. SCIM 엔드포인트를 프로비전하는 방법에 대한 자세한 내용은 자습서: SCIM 엔드포인트에 대한 프로비저닝 개발 및 계획을 참조하세요.

샘플 앱 가져오기 및 배포

GitHub에서 참조 코드로 이동하고 복제 또는 다운로드를 선택합니다. 바탕 화면에서 열기를 선택하거나, 링크를 복사하고, Visual Studio를 열고, 복제 또는 체크 아웃 코드를 선택하여 복사된 링크를 입력하고 로컬 복사본을 만듭니다. 경로의 총 문자 길이가 260자 이하인 폴더에 파일을 저장합니다.

  1. Visual Studio에서 호스팅 리소스에 대한 액세스 권한이 있는 계정에 로그인해야 합니다.

  2. 솔루션 탐색기에서 Microsoft.SCIM.sln을 열고 Microsoft.SCIM.WebHostSample 파일을 마우스 오른쪽 단추로 클릭합니다. 게시를 선택합니다.

    Screenshot that shows the sample file.

    참고 항목

    이 솔루션을 로컬로 실행하려면 프로젝트를 두 번 클릭하고 IIS Express를 선택하여 로컬 호스트 URL이 있는 웹 페이지로 프로젝트를 시작합니다. 자세한 내용은 IIS Express 개요를 참조 하세요.

  3. 프로필 만들기를 선택하고 App Service새로 만들기가 선택되어 있는지 확인합니다.

    Screenshot that shows the Publish window.

  4. 단계를 따라 대화 상자 옵션에서 앱 이름을 원하는 이름으로 바꿉니다. 이 이름은 앱과 SCIM 엔드포인트 URL에 모두 사용됩니다.

    Screenshot that shows creating a new app service.

  5. 사용할 리소스 그룹을 선택하고 게시를 선택합니다.

    Screenshot that shows publishing a new app service.

App Service 구성

Azure App Service>구성에서 애플리케이션으로 이동하고 새 애플리케이션 설정을 선택하여 https://sts.windows.net/<tenant_id>/ 값으로 Token__TokenIssuer 설정을 추가합니다. <tenant_id>를 Microsoft Entra 테넌트 ID로 바꿉니다. Postman을 사용하여 SCIM 엔드포인트를 테스트하려면 Development 값으로 ASPNETCORE_ENVIRONMENT 설정을 추가합니다.

Screenshot that shows the Application settings window.

Microsoft Entra 관리 센터에서 엔터프라이즈 애플리케이션으로 엔드포인트를 테스트할 때 두 가지 옵션이 있습니다. Development에 환경을 유지하고 /scim/token 엔드포인트에서 테스트 토큰을 제공하거나, 환경을 Production으로 변경하고 토큰 필드를 비워 둘 수 있습니다.

이것으로 끝입니다. 이제 SCIM 엔드포인트가 게시되고 Azure App Service URL을 사용하여 SCIM 엔드포인트를 테스트할 수 있습니다.

SCIM 엔드포인트 테스트

SCIM 엔드포인트에 요청하려면 권한이 부여되어야 합니다. SCIM 표준에는 사용 가능한 여러 옵션이 있습니다. 요청에는 쿠키, 기본 인증, TLS 클라이언트 인증 또는 RFC 7644에 나열된 메서드를 사용할 수 있습니다.

사용자 이름 및 암호와 같이 보안되지 않은 메서드는 OAuth와 같은 보다 안전한 메서드에 사용하지 않도록 합니다. Microsoft Entra ID는 수명이 긴 전달자 토큰(갤러리 및 비갤러리 애플리케이션의 경우)과 OAuth 권한 부여(갤러리 애플리케이션의 경우)를 지원합니다.

참고 항목

리포지토리에 제공된 권한 부여 메서드는 테스트 전용입니다. Microsoft Entra ID와 통합하면 권한 부여 지침을 검토할 수 있습니다. SCIM 엔드포인트에 대한 프로비전 계획을 참조하세요.

개발 환경에서는 참조 코드와 같이 프로덕션에 안전하지 않은 기능을 사용하여 보안 토큰 유효성 검사의 동작을 제어할 수 있습니다. 토큰 유효성 검사 코드는 자체 서명된 보안 토큰을 사용하고 서명 키는 구성 파일에 저장됩니다. appsettings.Development.json 파일의 Token:IssuerSigningKey 매개 변수를 참조하세요.

"Token": {
    "TokenAudience": "Microsoft.Security.Bearer",
    "TokenIssuer": "Microsoft.Security.Bearer",
    "IssuerSigningKey": "A1B2C3D4E5F6A1B2C3D4E5F6",
    "TokenLifetimeInMins": "120"
}

참고 항목

/scim/token 엔드포인트에 GET 요청을 보내면 구성된 키를 사용하여 토큰이 발급됩니다. 이 토큰은 후속 권한 부여를 위한 전달자 토큰으로 사용할 수 있습니다.

기본 토큰 유효성 검사 코드는 Microsoft Entra 토큰을 사용하도록 구성되며 appsettings.json 파일의 Token:TokenIssuer 매개 변수를 사용하여 발급 테넌트를 구성해야 합니다.

"Token": {
    "TokenAudience": "8adf8e6e-67b2-4cf2-a259-e3dc5476c621",
    "TokenIssuer": "https://sts.windows.net/<tenant_id>/"
}

다음 단계