다음을 통해 공유


인바운드 프로비전 API에 대한 액세스 권한 부여

소개

API 기반 인바운드 프로비저닝 앱을 구성한 후에는 API 클라이언트가 프로비저닝/bulkUpload API에 요청을 보내고 프로비전 로그 API를 쿼리할 수 있도록 액세스 권한을 부여해야 합니다. 이 자습서에서는 이러한 권한을 구성하는 단계를 안내합니다.

API 클라이언트가 Microsoft Entra ID로 인증하는 방법에 따라 다음 두 가지 구성 옵션 중에서 선택할 수 있습니다.

서비스 주체 구성

이 구성은 외부 API 클라이언트를 나타내는 Microsoft Entra ID에 앱을 등록하고 인바운드 프로비전 API를 호출할 수 있는 권한을 부여합니다. 서비스 주체 클라이언트 ID와 클라이언트 암호는 OAuth 클라이언트 자격 증명 부여 흐름에서 사용될 수 있습니다.

  1. https://entra.microsoft.com 로그인 자격 증명을 사용하여 Microsoft Entra 관리 센터()에 로그인합니다.
  2. Entra ID>앱 등록으로 이동합니다.
  3. 새 등록 옵션을 클릭합니다.
  4. 앱 이름을 제공하고, 기본 옵션을 선택하고, 등록을 클릭합니다. 앱 등록 스크린샷
  5. 개요 블레이드에서 애플리케이션(클라이언트) ID디렉터리(테넌트) ID 값을 복사하고 나중에 API 클라이언트에서 사용하도록 저장합니다. 앱 클라이언트 ID의 스크린샷.
  6. 앱의 상황에 맞는 메뉴에서 인증서 및 비밀 옵션을 선택합니다.
  7. 새 클라이언트 암호를 만듭니다. 비밀 및 만료 날짜에 대한 설명을 입력합니다.
  8. 클라이언트 비밀번호의 생성된 값을 복사하고 나중에 API 클라이언트에서 사용할 수 있도록 저장합니다.
  9. 상황에 맞는 메뉴 API 사용 권한에서 권한 추가 옵션을 선택합니다.
  10. 요청 API 권한에서 Microsoft Graph를 선택합니다.
  11. 애플리케이션 사용 권한을 선택합니다.
  12. AuditLog.Read.AllSynchronizationData-User.Upload 권한을 검색하고 선택합니다.
  13. 다음 화면에서 관리자 동의 부여 를 클릭하여 권한 할당을 완료합니다. 확인 대화 상자에서 예를 클릭합니다. 앱에는 다음 사용 권한 집합이 있어야 합니다. 앱 사용 권한의 스크린샷
  14. 이제 API 클라이언트에서 서비스 주체를 사용할 준비가 되었습니다.
  15. 프로덕션 워크로드의 경우 서비스 주체 또는 관리 ID와 함께 클라이언트 인증서 기반 인증 을 사용하는 것이 좋습니다.

관리 ID 구성

이 섹션에서는 관리 ID에 필요한 권한을 할당하는 방법을 설명합니다.

  1. Azure 리소스에 사용할 관리 ID 를 구성합니다.

  2. Microsoft Entra 관리 센터에서 관리 ID의 이름을 복사합니다. 예를 들어 아래 스크린샷은 “CSV2SCIMBulkUpload”라는 Azure Logic Apps 워크플로와 연결된 시스템 할당 관리 ID의 이름을 보여 줍니다.

    관리 ID 이름의 스크린샷

  3. 다음 PowerShell 스크립트를 실행하여 관리 ID에 권한을 할당합니다.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
    Connect-MgGraph -Scopes "Application.Read.All","AppRoleAssignment.ReadWrite.All,RoleManagement.ReadWrite.Directory"
    $graphApp = Get-MgServicePrincipal -Filter "AppId eq '00000003-0000-0000-c000-000000000000'"
    
    $PermissionName = "SynchronizationData-User.Upload"
    $AppRole = $graphApp.AppRoles | `
    Where-Object {$_.Value -eq $PermissionName -and $_.AllowedMemberTypes -contains "Application"}
    $managedID = Get-MgServicePrincipal -Filter "DisplayName eq 'CSV2SCIMBulkUpload'"
    New-MgServicePrincipalAppRoleAssignment -PrincipalId $managedID.Id -ServicePrincipalId $managedID.Id -ResourceId $graphApp.Id -AppRoleId $AppRole.Id
    
    $PermissionName = "AuditLog.Read.All"
    $AppRole = $graphApp.AppRoles | `
    Where-Object {$_.Value -eq $PermissionName -and $_.AllowedMemberTypes -contains "Application"}
    $managedID = Get-MgServicePrincipal -Filter "DisplayName eq 'CSV2SCIMBulkUpload'"
    New-MgServicePrincipalAppRoleAssignment -PrincipalId $managedID.Id -ServicePrincipalId $managedID.Id -ResourceId $graphApp.Id -AppRoleId $AppRole.Id
    
  4. 사용 권한이 적용되었는지 확인하려면 Microsoft Entra ID의 엔터프라이즈 애플리케이션 에서 관리 ID 서비스 주체를 찾습니다. 애플리케이션 유형 필터를 제거하여 모든 서비스 주체를 확인합니다. 관리된 ID 주체의 스크린샷.

  5. 보안에서 사용 권한 블레이드를 클릭합니다. 사용 권한이 설정되어 있는지 확인합니다. 관리 ID 권한의 스크린샷.

  6. 이제 API 클라이언트에서 관리 ID를 사용할 준비가 되었습니다.

다음 단계