Microsoft Entra 외부 ID를 사용하면 조직에서 고객’ ID를 관리하고 공용 애플리케이션 및 API에 대한 액세스를 안전하게 제어할 수 있습니다. 고객이 제품을 구매하거나, 서비스를 구독하거나, 고객의 계정 및 데이터에 액세스할 수 있는 애플리케이션입니다. 고객은 디바이스나 웹 브라우저에 한 번만 로그인하면 권한을 부여한 모든 애플리케이션에 액세스할 수 있습니다.
애플리케이션이 외부 ID로 로그인할 수 있도록 하려면 외부 ID로 앱을 등록해야 합니다. 앱 등록은 앱과 외부 ID 간에 트러스트 관계를 설정합니다.
앱을 등록하는 동안 리디렉션 URI를 지정합니다. 리디렉션 URI는 인증된 후 외부 ID에 의해 사용자가 리디렉션되는 엔드포인트입니다. 앱 등록 프로세스는 앱을 고유하게 식별하는 애플리케이션 ID(클라이언트 ID라고도 함)를 생성합니다.
외부 ID는 웹앱이나 단일 페이지 앱 등 다양한 최신 애플리케이션 아키텍처에 대한 인증을 지원합니다. 각 애플리케이션 형식과 외부 테넌트의 상호 작용은 다르므로 등록하려는 애플리케이션 형식을 지정해야 합니다.
이 문서에서는 외부 테넌트에 애플리케이션을 등록하는 방법을 알아봅니다.
단일 페이지 앱 등록
외부 ID는 SPA(단일 페이지 앱)에 대한 인증을 지원합니다.
다음 단계에서는 Microsoft Entra 관리 센터에 SPA를 등록하는 방법을 보여 줍니다.
최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
ID>애플리케이션>앱 등록으로 이동합니다.
+ 새 등록을 선택합니다.
표시되는 애플리케이션 등록 페이지에서 애플리케이션의 등록 정보를 입력합니다.
이름 섹션에 앱 사용자에게 표시되는 의미 있는 애플리케이션 이름을 입력합니다(예: ciam-client-app).
지원되는 계정 유형에서 이 조직 디렉터리의 계정만을 선택합니다.
리디렉션 URI(선택 사항)에서 SPA(단일 페이지 애플리케이션)을 선택한 다음 URL 상자에 http://localhost:3000/
을 입력합니다.
등록을 선택합니다.
등록이 완료되면 애플리케이션의 개요 창이 표시됩니다. 애플리케이션 소스 코드에 사용할 디렉터리(테넌트) ID와 애플리케이션(클라이언트) ID를 기록해 둡니다.
리디렉션 URI 정보
리디렉션 URI는 사용자와의 상호 작용이 완료된 후 권한 부여 서버(이 경우 Microsoft Entra ID)가 사용자를 전송하는 엔드포인트이며, 권한 부여 성공 시 액세스 토큰 또는 인증 코드가 전송되는 엔드포인트입니다.
프로덕션 애플리케이션에서는 일반적으로 https://contoso.com/auth-response
와 같이 앱이 실행되는 공개적으로 액세스할 수 있는 엔드포인트입니다.
앱을 개발하는 동안 애플리케이션이 로컬에서 수신 대기하는 엔드포인트(예: http://localhost:3000.)를 추가할 수 있습니다. 언제든지 등록된 애플리케이션에서 리디렉션 URI를 추가하고 수정할 수 있습니다.
리디렉션 URI에는 다음 제한 사항이 적용됩니다.
localhost 리디렉션 URL을 사용하지 않는 한 응답 URL은 https
체계로 시작해야 합니다.
회신 URL은 대/소문자를 구분합니다. 해당 사례는 실행 중인 애플리케이션의 URL 경로에 대한 대/소문자와 일치해야 합니다. 예를 들어, 애플리케이션애서 경로 .../abc/response-oidc
의 일부로 포함하는 경우 회신 URL에 .../ABC/response-oidc
를 지정하지 마세요. 웹 브라우저는 경로를 대/소문자 구분하여 처리하므로 .../abc/response-oidc
와 연결된 쿠키는 대/소문자가 일치하지 않는 .../ABC/response-oidc
URL로 리디렉션되는 경우 제외될 수 있습니다.
응답 URL은 애플리케이션에서 예상하는 대로 후행 슬래시를 포함하거나 제외해야 합니다. 예를 들어, https://contoso.com/auth-response
및 https://contoso.com/auth-response/
는 애플리케이션에서 일치하지 않는 URL로 처리될 수 있습니다.
관리자 동의 부여
애플리케이션을 등록하면 User.Read 권한이 할당됩니다. 그러나 테넌트는 외부 테넌트이므로 고객 사용자 자체는 이 권한에 동의할 수 없습니다. 관리자는 테넌트의 모든 사용자를 대신하여 이 권한에 동의해야 합니다.
앱 등록 페이지에서 사용자가 만든 애플리케이션(예: ciam-client-app)을 선택하여 해당 개요 페이지를 엽니다.
관리 아래에서 API 권한을 선택합니다.
- <테넌트 이름>에 대한 관리자 동의 부여, 예를 차례로 선택합니다.
- 새로 고침을 선택한 다음, 권한에 대한 상태 아래에 테넌트 이름>에 대해 <부여된 항목이 표시되는지 확인합니다.
API 권한 부여(선택 사항):
SPA가 API를 호출해야 하는 경우 API를 호출할 수 있도록 SPA API 권한을 부여해야 합니다. 또한 호출해야 하는 웹 API를 등록해야 합니다.
클라이언트 앱(ciam-client-app)에 API 권한을 부여하려면 다음 단계를 따릅니다.
앱 등록 페이지에서 만든 애플리케이션(예: ciam-client-app)을 선택하여 개요 페이지를 엽니다.
관리 아래에서 API 권한을 선택합니다.
구성된 사용 권한 아래에서 권한 추가를 선택합니다.
내 조직에서 사용하는 API 탭을 선택합니다.
API 목록에서 ciam-ToDoList-api와 같은 API를 선택합니다.
위임된 권한 옵션을 선택합니다.
권한 목록에서 ToDoList.Read, ToDoList.ReadWrite을 선택합니다(필요한 경우 검색 상자 사용).
사용 권한 추가 단추를 선택합니다. 이제 권한이 올바르게 할당되었습니다. 그러나 테넌트는 고객의 테넌트이므로 소비자 사용자 자신은 이러한 권한에 동의할 수 없습니다. 이 문제를 해결하려면 관리자로서 테넌트의 모든 사용자를 대신하여 다음 권한에 동의해야 합니다.
<테넌트 이름>에 대한 관리자 동의 부여를 선택한 다음 예를 선택합니다.
새로 고침을 선택한 다음 두 범위에 대해 <테넌트 이름>에 부여됨이 상태 아래에 표시되는지 확인합니다.
구성된 권한 목록에서 ToDoList.Read 및 ToDoList.ReadWrite 권한을 한 번에 하나씩 선택한 다음 나중에 사용할 수 있도록 권한의 전체 URI를 복사합니다. 전체 권한 URI는 api://{clientId}/{ToDoList.Read}
또는 api://{clientId}/{ToDoList.ReadWrite}
와 유사합니다.
링크를 추가하여 권한을 노출하는 방법을 알아보려면 웹 API 섹션으로 이동합니다.
사용자 흐름 테스트(선택 사항)
이 앱 등록을 사용하여 사용자 흐름을 테스트하려면 인증에 암시적 허용 흐름을 사용하도록 설정합니다.
Important
암시적 흐름은 프로덕션 앱에서 사용자를 인증하는 것이 아니라 테스트 목적으로만 사용해야 합니다. 테스트를 완료한 후에는 제거하는 것이 좋습니다.
암시적 흐름을 사용하도록 설정하려면 다음 단계를 수행합니다.
- 최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
- 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
- ID>애플리케이션>앱 등록으로 이동합니다.
- 만든 앱 등록을 선택합니다.
- 관리에서 인증을 선택합니다.
- 암시적 허용 및 하이브리드 흐름 아래에서 ID 토큰(암시적 및 하이브리드 흐름에 사용됨) 확인란을 선택합니다.
- 저장을 선택합니다.
웹앱 등록
외부 ID는 웹앱에 대한 인증을 지원합니다.
다음 단계에서는 Microsoft Entra 관리 센터에 웹앱을 등록하는 방법을 보여 줍니다.
최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
ID>애플리케이션>앱 등록으로 이동합니다.
+ 새 등록을 선택합니다.
표시되는 애플리케이션 등록 페이지에서 애플리케이션의 등록 정보를 입력합니다.
이름 섹션에 앱 사용자에게 표시되는 의미 있는 애플리케이션 이름을 입력합니다(예: ciam-client-app).
지원되는 계정 유형에서 이 조직 디렉터리의 계정만을 선택합니다.
리디렉션 URI(선택 사항)에서 웹을 선택한 다음 URL 상자에 http://localhost:3000/
과 같은 URL을 입력합니다.
등록을 선택합니다.
등록이 완료되면 애플리케이션의 개요 창이 표시됩니다. 애플리케이션 소스 코드에 사용할 디렉터리(테넌트) ID와 애플리케이션(클라이언트) ID를 기록해 둡니다.
리디렉션 URI 정보
리디렉션 URI는 사용자와의 상호 작용이 완료된 후 권한 부여 서버(이 경우 Microsoft Entra ID)가 사용자를 전송하는 엔드포인트이며, 권한 부여 성공 시 액세스 토큰 또는 인증 코드가 전송되는 엔드포인트입니다.
프로덕션 애플리케이션에서는 일반적으로 https://contoso.com/auth-response
와 같이 앱이 실행되는 공개적으로 액세스할 수 있는 엔드포인트입니다.
앱을 개발하는 동안 애플리케이션이 로컬에서 수신 대기하는 엔드포인트(예: http://localhost:3000.)를 추가할 수 있습니다. 언제든지 등록된 애플리케이션에서 리디렉션 URI를 추가하고 수정할 수 있습니다.
리디렉션 URI에는 다음 제한 사항이 적용됩니다.
localhost 리디렉션 URL을 사용하지 않는 한 응답 URL은 https
체계로 시작해야 합니다.
회신 URL은 대/소문자를 구분합니다. 해당 사례는 실행 중인 애플리케이션의 URL 경로에 대한 대/소문자와 일치해야 합니다. 예를 들어, 애플리케이션애서 경로 .../abc/response-oidc
의 일부로 포함하는 경우 회신 URL에 .../ABC/response-oidc
를 지정하지 마세요. 웹 브라우저는 경로를 대/소문자 구분하여 처리하므로 .../abc/response-oidc
와 연결된 쿠키는 대/소문자가 일치하지 않는 .../ABC/response-oidc
URL로 리디렉션되는 경우 제외될 수 있습니다.
응답 URL은 애플리케이션에서 예상하는 대로 후행 슬래시를 포함하거나 제외해야 합니다. 예를 들어, https://contoso.com/auth-response
및 https://contoso.com/auth-response/
는 애플리케이션에서 일치하지 않는 URL로 처리될 수 있습니다.
관리자 동의 부여
애플리케이션을 등록하면 User.Read 권한이 할당됩니다. 그러나 테넌트는 외부 테넌트이므로 고객 사용자 자체는 이 권한에 동의할 수 없습니다. 관리자는 테넌트의 모든 사용자를 대신하여 이 권한에 동의해야 합니다.
앱 등록 페이지에서 사용자가 만든 애플리케이션(예: ciam-client-app)을 선택하여 해당 개요 페이지를 엽니다.
관리 아래에서 API 권한을 선택합니다.
- <테넌트 이름>에 대한 관리자 동의 부여, 예를 차례로 선택합니다.
- 새로 고침을 선택한 다음, 권한에 대한 상태 아래에 테넌트 이름>에 대해 <부여된 항목이 표시되는지 확인합니다.
클라이언트 암호 만들기
등록된 애플리케이션에 대한 클라이언트 암호를 만듭니다. 애플리케이션은 토큰을 요청할 때 클라이언트 암호를 사용하여 ID를 증명합니다.
- 앱 등록 페이지에서 만든 애플리케이션(예: ciam-client-app)을 선택하여 개요 페이지를 엽니다.
- 관리에서 인증서 및 비밀을 선택합니다.
- 새 클라이언트 비밀을 선택합니다.
- 설명 상자에 클라이언트 암호에 대한 설명을 입력합니다(예: ciam 앱 클라이언트 암호).
- 만료에서 조직의 보안 규칙에 따라 비밀이 유효한 기간을 선택한 다음 추가를 선택합니다.
- 비밀의 값을 기록합니다. 이후 단계에서 구성에 이 값을 사용합니다. 인증서 및 비밀 페이지에서 다른 페이지로 이동한 후에는 비밀 값이 다시 표시되지 않으며 어떠한 방법으로도 검색할 수 없습니다. 따라서 반드시 기록해 둡니다.
API 권한 부여(선택 사항)
웹앱이 API를 호출해야 하는 경우 API를 호출할 수 있도록 웹앱 API 권한을 부여해야 합니다. 또한 호출해야 하는 웹 API를 등록해야 합니다.
클라이언트 앱(ciam-client-app)에 API 권한을 부여하려면 다음 단계를 따릅니다.
앱 등록 페이지에서 만든 애플리케이션(예: ciam-client-app)을 선택하여 개요 페이지를 엽니다.
관리 아래에서 API 권한을 선택합니다.
구성된 사용 권한 아래에서 권한 추가를 선택합니다.
내 조직에서 사용하는 API 탭을 선택합니다.
API 목록에서 ciam-ToDoList-api와 같은 API를 선택합니다.
위임된 권한 옵션을 선택합니다.
권한 목록에서 ToDoList.Read, ToDoList.ReadWrite을 선택합니다(필요한 경우 검색 상자 사용).
사용 권한 추가 단추를 선택합니다. 이제 권한이 올바르게 할당되었습니다. 그러나 테넌트는 고객의 테넌트이므로 소비자 사용자 자신은 이러한 권한에 동의할 수 없습니다. 이 문제를 해결하려면 관리자로서 테넌트의 모든 사용자를 대신하여 다음 권한에 동의해야 합니다.
<테넌트 이름>에 대한 관리자 동의 부여를 선택한 다음 예를 선택합니다.
새로 고침을 선택한 다음 두 범위에 대해 <테넌트 이름>에 부여됨이 상태 아래에 표시되는지 확인합니다.
구성된 권한 목록에서 ToDoList.Read 및 ToDoList.ReadWrite 권한을 한 번에 하나씩 선택한 다음 나중에 사용할 수 있도록 권한의 전체 URI를 복사합니다. 전체 권한 URI는 api://{clientId}/{ToDoList.Read}
또는 api://{clientId}/{ToDoList.ReadWrite}
와 유사합니다.
사용자 흐름 테스트(선택 사항)
이 앱 등록을 사용하여 사용자 흐름을 테스트하려면 인증에 암시적 허용 흐름을 사용하도록 설정합니다.
Important
암시적 흐름은 프로덕션 앱에서 사용자를 인증하는 것이 아니라 테스트 목적으로만 사용해야 합니다. 테스트를 완료한 후에는 제거하는 것이 좋습니다.
암시적 흐름을 사용하도록 설정하려면 다음 단계를 수행합니다.
- 최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
- 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
- ID>애플리케이션>앱 등록으로 이동합니다.
- 만든 앱 등록을 선택합니다.
- 관리에서 인증을 선택합니다.
- 암시적 허용 및 하이브리드 흐름 아래에서 ID 토큰(암시적 및 하이브리드 흐름에 사용됨) 확인란을 선택합니다.
- 저장을 선택합니다.
웹 API 등록
최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
ID>애플리케이션>앱 등록으로 이동합니다.
+ 새 등록을 선택합니다.
표시되는 애플리케이션 등록 페이지에서 애플리케이션의 등록 정보를 입력합니다.
이름 섹션에 앱 사용자에게 표시될 의미 있는 애플리케이션 이름을 입력합니다(예: ciam-ToDoList-api).
지원되는 계정 유형에서 이 조직 디렉터리의 계정만을 선택합니다.
등록을 선택하여 애플리케이션을 만듭니다.
등록이 완료되면 애플리케이션의 개요 창이 표시됩니다. 애플리케이션 소스 코드에 사용할 디렉터리(테넌트) ID와 애플리케이션(클라이언트) ID를 기록해 둡니다.
권한 노출
API는 클라이언트 앱이 사용자에 대한 액세스 토큰을 성공적으로 가져오려면 위임된 권한이라고도 하는 최소 하나의 범위를 게시해야 합니다. 범위를 게시하려면 다음 단계를 수행합니다.
앱 등록 페이지에서 만든 API 애플리케이션(ciam-ToDoList-api)을 선택하여 개요 페이지를 엽니다.
관리에서 API 표시를 선택합니다.
페이지 위쪽의 애플리케이션 ID URI 옆에 있는 추가 링크를 선택하여 이 앱에 고유한 URI를 생성합니다.
api://{clientId}
와 같은 제안된 애플리케이션 ID URI를 수락하고 저장을 선택합니다. 웹 애플리케이션은 웹 API에 대한 액세스 토큰을 요청할 때 API에 대해 정의된 각 범위의 접두사로 이 URI를 추가합니다.
이 API에서 정의한 범위에서 범위 추가를 선택합니다.
다음 값을 입력하여 API에 대한 읽기 권한을 정의하는 다음 값을 입력한 다음, 범위 추가를 선택하여 변경 내용을 저장합니다.
속성 |
값 |
범위 이름 |
ToDoList.Read |
동의할 수 있는 사람 |
관리자 전용 |
관리자 동의 표시 이름 |
'TodoListApi'를 사용하여 사용자 ToDo 목록 읽기 |
관리자 동의 설명 |
앱이 'ToDoListApi'를 사용하여 사용자의 ToDo 목록을 읽을 수 있도록 허용합니다. |
시 |
Enabled |
범위 추가를 다시 선택하고 API에 대한 읽기 및 쓰기 권한 범위를 정의하는 다음 값을 입력합니다. 범위 추가를 선택하여 변경 내용을 저장합니다.
속성 |
값 |
범위 이름 |
ToDoList.ReadWrite |
동의할 수 있는 사람 |
관리자 전용 |
관리자 동의 표시 이름 |
'TodoListApi'를 사용하여 사용자 ToDo 목록 읽기 및 쓰기 |
관리자 동의 설명 |
앱이 'ToDoListApi'를 사용하여 사용자의 ToDo 목록을 읽고 쓸 수 있도록 허용 |
시 |
Enabled |
관리에서 매니페스트를 선택하여 API 매니페스트 편집기를 엽니다.
accessTokenAcceptedVersion
속성을 2
로 설정합니다.
저장을 선택합니다.
웹 API에 대한 권한을 게시할 때 최소 권한 원칙에 대해 자세히 알아봅니다.
앱 역할 추가
API는 클라이언트 앱이 자체적으로 액세스 토큰을 가져오려면 애플리케이션 권한이라고도 하는 애플리케이션에 대해 최소한 하나의 앱 역할을 게시해야 합니다. 애플리케이션 권한은 클라이언트 애플리케이션이 자체적으로 성공적으로 인증하고 사용자가 로그인할 필요가 없도록 하려는 경우 API가 게시해야 하는 권한 형식입니다. 애플리케이션 권한을 게시하려면 다음 단계를 따릅니다.
앱 등록 페이지에서 만든 애플리케이션(예: ciam-ToDoList-api)을 선택하여 개요 페이지를 엽니다.
관리에서 앱 역할을 선택합니다.
앱 역할 만들기를 선택한 다음, 다음 값을 입력한 후 적용을 선택하여 변경 내용을 저장합니다.
속성 |
값 |
표시 이름 |
ToDoList.Read.All |
허용된 멤버 유형 |
애플리케이션 |
값 |
ToDoList.Read.All |
설명 |
앱이 'ToDoListApi'를 사용하여 모든 사용자의 ToDo 목록을 읽을 수 있도록 허용 |
다시 앱 역할 만들기를 선택한 다음, 두 번째 앱 역할에 대해 다음 값을 입력한 후 적용을 선택하여 변경 내용을 저장합니다.
속성 |
값 |
표시 이름 |
ToDoList.ReadWrite.All |
허용된 멤버 유형 |
애플리케이션 |
값 |
ToDoList.ReadWrite.All |
설명 |
앱이 'ToDoListApi'를 사용하여 모든 사용자의 할 일 목록을 읽고 쓸 수 있도록 허용 |
데스크톱 또는 모바일 앱 등록
다음 단계에서는 Microsoft Entra 관리 센터에 앱을 등록하는 방법을 보여 줍니다.
최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
ID>애플리케이션>앱 등록으로 이동합니다.
+ 새 등록을 선택합니다.
표시되는 애플리케이션 등록 페이지에서 애플리케이션의 등록 정보를 입력합니다.
이름 섹션에 앱 사용자에게 표시되는 의미 있는 애플리케이션 이름을 입력합니다(예: ciam-client-app).
지원되는 계정 유형에서 이 조직 디렉터리의 계정만을 선택합니다.
리디렉션 URI(선택 사항)에서 모바일 및 데스크톱 애플리케이션 옵션을 선택한 다음 URL 상자에 고유한 구성표가 포함된 URI를 입력합니다. 예를 들어, Electron 데스크톱 앱의 리디렉션 URI는 http://localhost
와 유사하게 보이지만 .NET 다중 플랫폼 앱 UI(MAUI)의 리디렉션 URI는 msal{ClientId}://auth
와 유사합니다.
등록을 선택합니다.
등록이 완료되면 애플리케이션의 개요 창이 표시됩니다. 애플리케이션 소스 코드에 사용할 디렉터리(테넌트) ID와 애플리케이션(클라이언트) ID를 기록해 둡니다.
관리자 동의 부여
애플리케이션을 등록하면 User.Read 권한이 할당됩니다. 그러나 테넌트는 외부 테넌트이므로 고객 사용자 자체는 이 권한에 동의할 수 없습니다. 관리자는 테넌트의 모든 사용자를 대신하여 이 권한에 동의해야 합니다.
앱 등록 페이지에서 사용자가 만든 애플리케이션(예: ciam-client-app)을 선택하여 해당 개요 페이지를 엽니다.
관리 아래에서 API 권한을 선택합니다.
- <테넌트 이름>에 대한 관리자 동의 부여, 예를 차례로 선택합니다.
- 새로 고침을 선택한 다음, 권한에 대한 상태 아래에 테넌트 이름>에 대해 <부여된 항목이 표시되는지 확인합니다.
API 권한 부여(선택 사항)
모바일 앱이 API를 호출해야 하는 경우 API를 호출할 수 있도록 모바일 앱 API 권한을 부여해야 합니다. 또한 호출해야 하는 웹 API를 등록해야 합니다.
클라이언트 앱(ciam-client-app)에 API 권한을 부여하려면 다음 단계를 따릅니다.
앱 등록 페이지에서 만든 애플리케이션(예: ciam-client-app)을 선택하여 개요 페이지를 엽니다.
관리 아래에서 API 권한을 선택합니다.
구성된 사용 권한 아래에서 권한 추가를 선택합니다.
내 조직에서 사용하는 API 탭을 선택합니다.
API 목록에서 ciam-ToDoList-api와 같은 API를 선택합니다.
위임된 권한 옵션을 선택합니다.
권한 목록에서 ToDoList.Read, ToDoList.ReadWrite을 선택합니다(필요한 경우 검색 상자 사용).
사용 권한 추가 단추를 선택합니다. 이제 권한이 올바르게 할당되었습니다. 그러나 테넌트는 고객의 테넌트이므로 소비자 사용자 자신은 이러한 권한에 동의할 수 없습니다. 이 문제를 해결하려면 관리자로서 테넌트의 모든 사용자를 대신하여 다음 권한에 동의해야 합니다.
<테넌트 이름>에 대한 관리자 동의 부여를 선택한 다음 예를 선택합니다.
새로 고침을 선택한 다음 두 범위에 대해 <테넌트 이름>에 부여됨이 상태 아래에 표시되는지 확인합니다.
구성된 권한 목록에서 ToDoList.Read 및 ToDoList.ReadWrite 권한을 한 번에 하나씩 선택한 다음 나중에 사용할 수 있도록 권한의 전체 URI를 복사합니다. 전체 권한 URI는 api://{clientId}/{ToDoList.Read}
또는 api://{clientId}/{ToDoList.ReadWrite}
와 유사합니다.
사용자 흐름 테스트(선택 사항)
이 앱 등록을 사용하여 사용자 흐름을 테스트하려면 인증에 암시적 허용 흐름을 사용하도록 설정합니다.
Important
암시적 흐름은 프로덕션 앱에서 사용자를 인증하는 것이 아니라 테스트 목적으로만 사용해야 합니다. 테스트를 완료한 후에는 제거하는 것이 좋습니다.
암시적 흐름을 사용하도록 설정하려면 다음 단계를 수행합니다.
- 최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
- 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
- ID>애플리케이션>앱 등록으로 이동합니다.
- 만든 앱 등록을 선택합니다.
- 관리에서 인증을 선택합니다.
- 암시적 허용 및 하이브리드 흐름 아래에서 ID 토큰(암시적 및 하이브리드 흐름에 사용됨) 확인란을 선택합니다.
- 저장을 선택합니다.
디먼 앱 등록
다음 단계에서는 Microsoft Entra 관리 센터에 디먼 앱을 등록하는 방법을 보여 줍니다.
최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
ID>애플리케이션>앱 등록으로 이동합니다.
+ 새 등록을 선택합니다.
표시되는 애플리케이션 등록 페이지에서 애플리케이션의 등록 정보를 입력합니다.
이름 섹션에 앱 사용자에게 표시될 의미 있는 애플리케이션 이름을 입력합니다(예: ciam-client-app).
지원되는 계정 유형에서 이 조직 디렉터리의 계정만을 선택합니다.
등록을 선택합니다.
등록이 완료되면 애플리케이션의 개요 창이 표시됩니다. 애플리케이션 소스 코드에 사용할 디렉터리(테넌트) ID와 애플리케이션(클라이언트) ID를 기록해 둡니다.
API 권한 부여
디먼 앱은 OAuth 2.0 클라이언트 자격 증명 흐름을 사용하여 자체적으로 로그인합니다. 스스로 인증하는 앱에 필요한 애플리케이션 권한(앱 역할)을 부여합니다. 또한 디먼 앱이 호출해야 하는 웹 API를 등록해야 합니다.
앱 등록 페이지에서 ciam-client-app과 같이 만든 애플리케이션을 선택합니다.
관리 아래에서 API 권한을 선택합니다.
구성된 사용 권한 아래에서 권한 추가를 선택합니다.
내 조직에서 사용하는 API 탭을 선택합니다.
API 목록에서 ciam-ToDoList-api와 같은 API를 선택합니다.
애플리케이션 권한 옵션을 선택합니다. 앱이 자체적으로 로그인하되 특정 사용자를 대행하는 것이 아니므로 이 옵션을 선택합니다.
권한 목록에서 TodoList.Read.All, ToDoList.ReadWrite.All을 선택합니다(필요한 경우 검색 상자 사용).
사용 권한 추가 단추를 선택합니다.
이제 권한이 올바르게 할당되었습니다. 그러나 디먼 앱은 사용자가 앱과 상호 작용하는 것을 허용하지 않기 때문에 사용자 자신은 이러한 권한에 동의할 수 없습니다. 이 문제를 해결하려면 관리자로서 테넌트의 모든 사용자를 대신하여 다음 권한에 동의해야 합니다.
- <테넌트 이름>에 대한 관리자 동의 부여를 선택한 다음 예를 선택합니다.
- 새로 고침을 선택한 다음 두 권한에 대해 <테넌트 이름>에 부여됨이 상태 아래에 표시되는지 확인합니다.
사용자 흐름 테스트(선택 사항)
이 앱 등록을 사용하여 사용자 흐름을 테스트하려면 인증에 암시적 허용 흐름을 사용하도록 설정합니다.
Important
암시적 흐름은 프로덕션 앱에서 사용자를 인증하는 것이 아니라 테스트 목적으로만 사용해야 합니다. 테스트를 완료한 후에는 제거하는 것이 좋습니다.
암시적 흐름을 사용하도록 설정하려면 다음 단계를 수행합니다.
- 최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
- 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
- ID>애플리케이션>앱 등록으로 이동합니다.
- 만든 앱 등록을 선택합니다.
- 관리에서 인증을 선택합니다.
- 암시적 허용 및 하이브리드 흐름 아래에서 ID 토큰(암시적 및 하이브리드 흐름에 사용됨) 확인란을 선택합니다.
- 저장을 선택합니다.
Microsoft Graph API 애플리케이션 등록
애플리케이션이 Microsoft Entra를 사용하여 사용자를 로그인할 수 있도록 하려면 Microsoft Entra 외부 ID가 사용자가 생성한 애플리케이션을 인식해야 합니다. 앱 등록은 앱과 Microsoft Entra 간의 신뢰 관계를 설정합니다. 애플리케이션을 등록하면 외부 ID는 인증 요청을 만들 때 앱을 식별하는 데 사용되는 값인 애플리케이션(클라이언트) ID라는 고유 식별자를 만듭니다.
다음 단계에서는 Microsoft Entra 관리 센터에 앱을 등록하는 방법을 보여 줍니다.
최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
ID>애플리케이션>앱 등록으로 이동합니다.
+ 새 등록을 선택합니다.
애플리케이션 등록 페이지가 표시됩니다.
- 앱 사용자에게 표시될 의미 있는 애플리케이션 이름을 입력합니다(예: ciam-client-app).
- 지원되는 계정 유형에서 이 조직 디렉터리의 계정만을 선택합니다.
등록을 선택합니다.
성공적으로 등록되면 애플리케이션의 개요 창이 표시됩니다. 애플리케이션 소스 코드에 사용할 애플리케이션(클라이언트) ID를 기록해 둡니다.
애플리케이션에 API 액세스 권한 부여
애플리케이션이 Microsoft Graph API의 데이터에 액세스할 수 있도록 등록된 애플리케이션에 관련 애플리케이션 권한을 부여합니다. 애플리케이션의 유효 권한은 권한이 암시하는 전체 수준의 권한입니다. 예를 들어 외부 테넌트의 모든 사용자를 만들고, 읽고, 업데이트하고, 삭제하려면 User.ReadWrite.All 권한을 추가합니다.
관리 아래에서 API 권한을 선택합니다.
구성된 사용 권한 아래에서 권한 추가를 선택합니다.
Microsoft API 탭을 선택한 다음, Microsoft Graph를 선택합니다.
애플리케이션 권한 선택.
적절한 권한 그룹을 확장하고 관리 애플리케이션에 부여할 권한의 확인란을 선택합니다. 예시:
사용자>User.ReadWrite.All: 사용자 마이그레이션 또는 사용자 관리 시나리오에 사용됩니다.
그룹>Group.ReadWrite.All: 그룹 만들기, 그룹 멤버 자격 읽기 및 업데이트, 그룹 삭제에 사용됩니다.
AuditLog>AuditLog.Read.All: 디렉터리의 감사 로그를 읽는데 사용됩니다.
정책>Policy.ReadWrite.TrustFramework: CI/CD(연속 통합/지속적인 업데이트) 시나리오에 사용됩니다. 예를 들어 Azure Pipelines를 사용하는 사용자 지정 정책 배포가 있습니다.
권한 추가를 선택합니다. 안내에 따라 몇 분 정도 기다린 후 다음 단계를 진행하세요.
(테넌트 이름)에 대한 관리자 동의 허용을 선택합니다.
현재 로그인되어 있지 않은 경우 최소한 클라우드 애플리케이션 관리자 역할이 할당된 외부 테넌트의 계정으로 로그인한 다음, (테넌트 이름)에 대해 관리자 동의 부여를 선택합니다.
새로 고침을 선택한 다음, 상태 아래에 "...에 대해 허용됨"이 표시되는지 확인합니다. 권한이 전파되려면 몇 분 정도 걸릴 수 있습니다.
애플리케이션을 등록한 후에는 애플리케이션에 클라이언트 암호를 추가해야 합니다. 이 클라이언트 암호는 Microsoft Graph API를 호출하기 위해 애플리케이션을 인증하는 데 사용됩니다.
클라이언트 암호 만들기
등록된 애플리케이션에 대한 클라이언트 암호를 만듭니다. 애플리케이션은 토큰을 요청할 때 클라이언트 암호를 사용하여 ID를 증명합니다.
- 앱 등록 페이지에서 만든 애플리케이션(예: ciam-client-app)을 선택하여 개요 페이지를 엽니다.
- 관리에서 인증서 및 비밀을 선택합니다.
- 새 클라이언트 비밀을 선택합니다.
- 설명 상자에 클라이언트 암호에 대한 설명을 입력합니다(예: ciam 앱 클라이언트 암호).
- 만료에서 조직의 보안 규칙에 따라 비밀이 유효한 기간을 선택한 다음 추가를 선택합니다.
- 비밀의 값을 기록합니다. 이후 단계에서 구성에 이 값을 사용합니다. 인증서 및 비밀 페이지에서 다른 페이지로 이동한 후에는 비밀 값이 다시 표시되지 않으며 어떠한 방법으로도 검색할 수 없습니다. 따라서 반드시 기록해 둡니다.
사용자 흐름 테스트(선택 사항)
이 앱 등록을 사용하여 사용자 흐름을 테스트하려면 인증에 암시적 허용 흐름을 사용하도록 설정합니다.
Important
암시적 흐름은 프로덕션 앱에서 사용자를 인증하는 것이 아니라 테스트 목적으로만 사용해야 합니다. 테스트를 완료한 후에는 제거하는 것이 좋습니다.
암시적 흐름을 사용하도록 설정하려면 다음 단계를 수행합니다.
- 최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
- 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
- ID>애플리케이션>앱 등록으로 이동합니다.
- 만든 앱 등록을 선택합니다.
- 관리에서 인증을 선택합니다.
- 암시적 허용 및 하이브리드 흐름 아래에서 ID 토큰(암시적 및 하이브리드 흐름에 사용됨) 확인란을 선택합니다.
- 저장을 선택합니다.
네이티브 인증 애플리케이션 등록
애플리케이션이 Microsoft Entra를 사용하여 사용자를 로그인할 수 있도록 하려면 Microsoft Entra 외부 ID가 사용자가 생성한 애플리케이션을 인식해야 합니다. 앱 등록은 앱과 Microsoft Entra 간의 신뢰 관계를 설정합니다. 애플리케이션을 등록하면 외부 ID는 인증 요청을 만들 때 앱을 식별하는 데 사용되는 값인 애플리케이션(클라이언트) ID라는 고유 식별자를 만듭니다.
다음 단계에서는 Microsoft Entra 관리 센터에 앱을 등록하는 방법을 보여 줍니다.
최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
ID>애플리케이션>앱 등록으로 이동합니다.
+ 새 등록을 선택합니다.
애플리케이션 등록 페이지가 표시됩니다.
- 앱 사용자에게 표시될 의미 있는 애플리케이션 이름을 입력합니다(예: ciam-client-app).
- 지원되는 계정 유형에서 이 조직 디렉터리의 계정만을 선택합니다.
등록을 선택합니다.
성공적으로 등록되면 애플리케이션의 개요 창이 표시됩니다. 애플리케이션 소스 코드에 사용할 애플리케이션(클라이언트) ID를 기록해 둡니다.
관리자 동의 부여
애플리케이션을 등록하면 User.Read 권한이 할당됩니다. 그러나 테넌트는 외부 테넌트이므로 고객 사용자 자체는 이 권한에 동의할 수 없습니다. 관리자는 테넌트의 모든 사용자를 대신하여 이 권한에 동의해야 합니다.
앱 등록 페이지에서 사용자가 만든 애플리케이션(예: ciam-client-app)을 선택하여 해당 개요 페이지를 엽니다.
관리 아래에서 API 권한을 선택합니다.
- <테넌트 이름>에 대한 관리자 동의 부여, 예를 차례로 선택합니다.
- 새로 고침을 선택한 다음, 권한에 대한 상태 아래에 테넌트 이름>에 대해 <부여된 항목이 표시되는지 확인합니다.
공용 클라이언트 및 네이티브 인증 흐름 사용
이 앱이 공용 클라이언트이고 네이티브 인증을 사용할 수 있도록 지정하려면 공용 클라이언트 및 네이티브 인증 흐름을 사용하도록 설정합니다.
- 앱 등록 페이지에서 공용 클라이언트 및 네이티브 인증 흐름을 사용하도록 설정할 앱 등록을 선택합니다.
- 관리에서 인증을 선택합니다.
- 고급 설정에서 공용 클라이언트 흐름을 허용합니다.
- 다음 모바일 및 데스크톱 흐름을 사용에 대해 예를 선택합니다.
- 네이티브 인증 사용에 대해 예를 선택합니다.
- 저장 단추를 선택합니다.
새 애플리케이션을 등록한 후 Microsoft Entra 관리 센터의 개요에서 애플리케이션(클라이언트) ID를 찾을 수 있습니다.