에이전트는 Microsoft Graph 및 Microsoft Entra ID 애플리케이션 권한(앱 역할로 표시됨)이 필요한 다른 웹 서비스에서 작업을 수행해야 하는 경우가 많습니다. 자치 에이전트는 Microsoft Entra ID 관리자에게 이러한 권한을 요청해야 합니다. 이 문서에서는 이전 단계에서 만든 에이전트 ID를 사용하여 관리자에게 애플리케이션 권한을 요청하는 프로세스를 안내합니다.
자율 에이전트에 애플리케이션 권한을 부여하는 방법에는 두 가지가 있습니다.
- 관리자는 Microsoft Graph API 또는 PowerShell을 사용하여 appRoleAssignment 를 만들 수 있습니다.
- 에이전트는 관리자 동의 URL을 사용하여 관리자에게 동의 페이지로 보낼 수 있습니다.
필수 조건
에이전트 ID에 권한을 부여하기 전에 다음이 있는지 확인합니다.
- 만든 에이전트 ID( 에이전트 ID 만들기 및 삭제 참조)
- Microsoft Entra ID 테넌트에서 관리자 권한
- 에이전트에 필요한 특정 권한 이해
API를 통해 앱 역할 할당 만들기
다음 단계를 사용하여 앱 역할 할당을 가져옵니다.
위임된 권한
Application.Read.All및AppRoleAssignment.ReadWrite.All과 함께 액세스 토큰을 획득하십시오.액세스하려는 리소스 서비스 주체의 개체 ID를 가져옵니다. 예를 들어 Microsoft Graph 서비스 주체 개체 ID를 찾으려면 다음을 수행합니다.
- Microsoft Entra 관리 센터로 이동합니다.
- Entra ID -->Enterprise 애플리케이션으로 이동합니다.
- 애플리케이션 유형별 필터 == Microsoft 애플리케이션
- Microsoft Graph를 검색합니다.
할당하려는 앱 역할의 고유 ID를 가져옵니다.
앱 역할 할당을 만듭니다.
POST https://graph.microsoft.com/v1.0/servicePrincipals/<agent-identity-id>/appRoleAssignments Authorization: Bearer <token> Content-Type: application/json { "principalId": "<agent-identity-id>", "resourceId": "<microsoft-graph-sp-object-id>", "appRoleId": "<app-role-id>" }
테넌트 관리자의 권한 부여 요청
위임된 권한을 부여하려면 관리자에게 메시지를 표시하는 데 사용되는 권한 부여 URL을 생성합니다. 역할 매개 변수는 요청된 애플리케이션 권한을 지정하는 데 사용됩니다.
다음 요청에서 에이전트 ID 클라이언트 ID를 사용해야 합니다.
https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/adminconsent
?client_id=<agent-identity-client-id>
&role=User.Read.All
&redirect_uri=https://entra.microsoft.com/TokenAuthorize
&state=xyz123
에이전트 구현은 채팅 창에서 관리자에게 보낸 메시지에 포함시키는 등 다양한 방법으로 관리자를 이 URL로 리디렉션할 수 있습니다. 관리자가 이 URL로 리디렉션되면 범위 매개 변수에 지정된 권한에 로그인하고 동의를 부여하라는 메시지가 표시됩니다. 현재 관리자에게 동의를 부여한 후 빈 페이지로 안내하는 리디렉션 URI를 사용해야 합니다.
애플리케이션에 필요한 권한을 부여한 후 새 에이전트 액세스 토큰을 요청하여 사용 권한을 적용합니다.