자습서: Microsoft ID 플랫폼에 Python 웹앱 등록
이 자습서 시리즈에서는 사용자를 로그인하고 보호된 웹 API를 호출하는 Python 웹앱을 빌드하는 방법을 보여 줍니다. Python용 Microsoft 인증 라이브러리 라이브러리를 사용하여 Microsoft Entra ID 테넌트에서 사용자를 인증합니다. 마지막으로, 앱을 실행하여 로그인하고, 보호된 API를 호출하고, 사용자를 로그아웃합니다.
이 자습서에서는 다음을 수행합니다.
- Microsoft Entra 관리 센터에서 웹앱을 등록하고 해당 식별자 기록
- 플랫폼 및 URL 정의
- 웹앱에 대한 클라이언트 암호 만들기
- 웹앱에 Microsoft Graph API에 액세스할 수 있는 권한 부여
필수 조건
- 활성 구독이 있는 Azure 계정. 계정이 없으면 무료 계정을 만듭니다.
- 사용하는 Azure 계정에는 애플리케이션을 관리할 수 있는 권한이 있어야 합니다. 다음 Microsoft Entra 역할에는 필수 권한이 포함되어 있습니다.
- 애플리케이션 관리자
- 애플리케이션 개발자
- 클라우드 애플리케이션 관리자
Python 웹앱 및 레코드 식별자 등록
ID 및 액세스 관리 기능을 애플리케이션에 통합하려면 먼저 Microsoft ID 플랫폼에 앱을 등록합니다. Microsoft Entra 관리 센터에 애플리케이션을 등록하려면 다음 단계를 따릅니다.
- Microsoft Entra 관리 센터에 로그인합니다.
- 여러 테넌트에 액세스할 수 있는 경우 위쪽 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 애플리케이션을 등록하려는 테넌트로 전환합니다.
- ID>애플리케이션>앱 등록으로 이동하고 신규 등록을 선택합니다.
- 애플리케이션의 이름을 입력합니다(예: python-flask-webapp). 애플리케이션 사용자는 앱을 사용할 때 표시 이름(예: 로그인 중)을 볼 수 있습니다. 언제든지 표시 이름을 변경할 수 있습니다.
- 지원되는 계정 유형에서 이 조직 디렉터리의 계정만을 선택합니다.
- 등록을 선택하여 초기 앱 등록을 완료합니다.
등록이 완료되면 Microsoft Entra 관리 센터에 앱 등록의 개요 창이 표시됩니다. 개요 창에서 이후 단계에서 사용할 디렉터리(테넌트) ID 및 애플리케이션(클라이언트) ID를 기록합니다.
리디렉션 URI 추가
Python Flask 웹앱에 대한 리디렉션 URI를 추가하려면 다음 단계를 수행합니다.
- Microsoft Entra 관리 센터의 앱 등록에서 애플리케이션을 선택합니다.
- 관리에서 인증을 선택합니다.
- 플랫폼 구성 아래에서 플랫폼 추가를 선택한 다음 웹을 선택합니다.
- 웹을 앱의 플랫폼으로 선택하면 리디렉션 URI를 입력하라는 메시지가 표시됩니다. 웹앱에 대한 리디렉션 URI로
http://localhost:5000/getAToken
를 추가합니다. - 구성을 선택합니다.
자격 증명 구성
이 자습서에서는 애플리케이션 암호라고도 하는 클라이언트 암호를 사용하여 앱을 기밀 클라이언트로 식별합니다. 앱 등록에 클라이언트 암호를 추가하려면 다음 단계를 수행합니다.
- Microsoft Entra 관리 센터의 앱 등록에서 애플리케이션을 선택합니다.
- 관리에서 인증서 및 비밀을 선택합니다.
- 클라이언트 비밀 섹션에서 새 클라이언트 비밀을 선택합니다.
- 클라이언트 암호 추가 창에 클라이언트 암호에 대한 설명을 입력합니다.
- 암호에 대해 만료를 선택하거나 사용자 지정 수명을 지정합니다.
- 클라이언트 암호 수명은 2년(24개월) 이하로 제한됩니다. 사용자 지정 수명은 24개월 이상으로 지정할 수 없습니다. 12개월 미만의 만료 값을 설정하는 것이 좋습니다.
- 추가를 선택합니다.
- 이후 단계에서 사용할 클라이언트 암호 값(ID 아님)을 기록합니다. 이 비밀 값은 만들 때 한 번만 표시되며 이 페이지에서 나가면 표시되지 않습니다.
이 자습서에서는 클라이언트 암호를 사용했지만 애플리케이션을 프로덕션 환경으로 이동하기 전에 인증서를 사용하는 것이 좋습니다. 인증서를 사용하는 방법에 대한 자세한 내용은 다음 지침을 참조하세요.
범위 추가
이 앱은 사용자를 로그인하므로 위임된 권한을 추가해야 합니다.
- 관리에서 API 권한>권한 추가를 선택합니다.
- Microsoft API 탭이 선택되어 있는지 확인합니다.
- 일반적으로 사용되는 Microsoft API 섹션에서 Microsoft Graph를 선택합니다.
- 위임된 권한 섹션에서 User.Read가 선택되었는지 확인합니다. 필요한 경우 검색 상자를 사용합니다.
- 권한 추가를 선택합니다.