다음을 통해 공유


대화형 에이전트에 대한 사용자 권한 부여 구성

에이전트는 종종 에이전트를 사용하는 사용자를 대신하여 조치를 취해야 합니다. 이렇게 하려면 대화형 에이전트가 OAuth 프로토콜을 사용하여 사용자에게 위임된 권한 부여를 요청해야 합니다. 이 문서에서는 에이전트 ID를 사용하여 사용자의 동의를 요청하는 프로세스를 안내합니다. 단계는 다음과 같습니다.

  • 에이전트 신원 청사진을 리디렉션 URI와 함께 업데이트합니다.
  • 권한 부여 요청을 생성하고 사용자를 Microsoft Entra ID로 리디렉션합니다.

필수 조건

사용자 권한 부여를 요청하기 전에 다음이 있는지 확인합니다.

리디렉션 URI 등록

위임된 권한을 지원하려면 유효한 리디렉션 URI를 사용하여 에이전트 ID 청사진을 구성해야 합니다. 이 URI는 Microsoft Entra ID가 에이전트에 대한 동의를 부여하거나 거부한 후 사용자를 보내는 위치입니다.

이 요청을 보내려면 먼저 위임된 권한 AgentIdentityBlueprint.ReadWrite.All으로 액세스 토큰을 가져와야 합니다.

PATCH https://graph.microsoft.com/beta/applications/<agent-blueprint-id>
OData-Version: 4.0
Content-Type: application/json
Authorization: Bearer <token>

{
  "web": {
    "redirectUris": [
      "https://myagentapp.com/authorize"
    ]
  }
}

권한 부여 요청 URL 생성

이제 에이전트 ID 청사진에 유효한 리디렉션 URI가 있으므로 위임된 권한을 부여하라는 메시지를 사용자에게 표시하는 데 사용되는 권한 부여 URL을 생성할 수 있습니다. 권한 부여 URL은 OAuth 2.0 인증 코드 흐름 표준을 따릅니다.

다음 요청에서는 에이전트 아이덴티티 청사진의 ID가 아닌, 에이전트 아이덴티티 클라이언트 ID를 사용해야 합니다. 에이전트 구현은 채팅 창에서 사용자에게 보낸 메시지에 포함시키는 등 다양한 방법으로 사용자를 이 URL로 리디렉션할 수 있습니다.

https://login.microsoftonline.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?
  client_id=<agent-identity-id>
  &response_type=none
  &redirect_uri=https%3A%2F%2Fmyagentapp.com%2Fauthorize
  &response_mode=query
  &scope=User.Read
  &state=xyz123

사용자가 이 URL로 리디렉션되면 범위 매개 변수에 지정된 권한에 로그인하고 동의를 부여하라는 메시지가 표시됩니다. 동의를 부여하면 사용자가 지정된 리디렉션 URI로 돌아갑니다.

권한 부여 URL의 주요 매개 변수는 다음과 같습니다.

  • client_id: 에이전트 ID 클라이언트 ID 사용(에이전트 ID 청사진 클라이언트 ID 아님)
  • response_type: 권한 부여 코드 흐름을 위한 none으로 설정
  • redirect_uri: 이전 단계에서 구성한 것과 정확히 일치해야 합니다.
  • scope: 필요한 위임된 사용 권한 지정(예: User.Read).
  • state: 요청과 콜백 간의 상태를 유지 관리하기 위한 선택적 매개 변수