Share via


애플리케이션에 대한 역할 기반 액세스 제어 사용

RBAC(역할 기반 액세스 제어)는 애플리케이션에서 권한 부여를 적용하는 데 널리 사용되는 메커니즘입니다. 조직에서 RBAC를 사용하는 경우 애플리케이션 개발자는 애플리케이션에 대한 역할을 정의합니다. 그런 다음 관리자는 다양한 사용자 및 그룹에 역할을 할당하여 애플리케이션의 콘텐츠 및 기능에 액세스할 수 있는 사람을 제어할 수 있습니다.

애플리케이션은 일반적으로 보안 토큰의 클레임으로 사용자 역할 정보를 받습니다. 개발자는 역할 클레임이 애플리케이션 권한으로 해석되는 방식에 대한 자체 구현을 제공할 수 있는 유연성을 가지고 있습니다. 이러한 사용 권한 해석에는 애플리케이션 또는 관련 라이브러리의 플랫폼에서 제공하는 미들웨어 또는 기타 옵션을 사용하는 것이 포함될 수 있습니다.

앱 역할

Microsoft Entra 외부 ID 통해 애플리케이션에 대한 애플리케이션 역할을 정의하고 해당 역할을 사용자 및 그룹에 할당할 수 있습니다. 사용자 또는 그룹에 할당하는 역할은 애플리케이션의 리소스 및 작업에 대한 액세스 수준을 정의합니다.

Microsoft Entra 외부 ID 인증된 사용자에 대한 보안 토큰을 발급하는 경우 보안 토큰의 역할 클레임에 사용자 또는 그룹을 할당한 역할의 이름이 포함됩니다. 요청에서 해당 보안 토큰을 받은 애플리케이션은 역할 클레임의 값을 기반으로 권한 부여 결정을 내릴 수 있습니다.

지금 체험하기

이 기능을 사용해 보려면 Woodgrove 식료품 데모로 이동하여 "역할 기반 액세스 제어" 사용 사례를 시작합니다.

그룹

또한 개발자는 보안 그룹을 사용하여 애플리케이션에서 RBAC를 구현할 수 있습니다. 여기서 특정 그룹의 사용자 멤버 자격은 해당 역할 멤버 자격으로 해석됩니다. 조직에서 보안 그룹을 사용하는 경우 그룹 클레임이 토큰에 포함됩니다. 그룹 클레임은 현재 외부 테넌트 내에서 사용자가 할당된 모든 그룹의 식별자를 지정합니다.

지금 체험하기

이 기능을 사용해 보려면 Woodgrove 식료품 데모로 이동하여 "그룹 기반 액세스 제어" 사용 사례를 시작합니다.

앱 역할 및 그룹

권한 부여를 위해 앱 역할 또는 그룹을 사용할 수 있지만, 시나리오에 사용할 항목을 결정할 때 둘 사이의 주요 차이점을 고려해야 합니다.

앱 역할 Groups
애플리케이션에 따라 다르며, 앱 등록에 정의됩니다. 앱이 아니라 외부 테넌트에만 해당합니다.
애플리케이션 간에 공유할 수 없습니다. 여러 애플리케이션에서 사용할 수 있습니다.
앱 역할은 앱 등록이 제거될 때 제거됩니다. 그룹은 앱이 제거되어도 그대로 유지됩니다.
roles 클레임에 제공됩니다. groups 클레임에 제공됩니다.

보안 그룹 만들기

보안 그룹은 공유 리소스에 대한 사용자 및 컴퓨터 액세스를 관리합니다. 모든 그룹 멤버가 동일한 보안 권한 집합을 갖도록 보안 그룹을 만들 수 있습니다.

보안 그룹을 만들려면 다음 단계를 따릅니다.

  1. 조건부 액세스 관리자, 보안 관리자 또는 전역 관리자로 Microsoft Entra 관리 센터에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 위쪽 메뉴의 설정 아이콘 을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
  3. ID>그룹>모든 그룹으로 이동합니다.
  4. + 새 그룹을 선택합니다.
  5. 그룹 유형 드롭다운에서 보안을 선택합니다.
  6. 보안 그룹의 그룹 이름(예: Contoso_App_Administrators)을 입력합니다.
  7. Contoso 앱 보안 관리istrator와 같은 보안 그룹에 대한 그룹 설명을 입력합니다.
  8. 만들기를 실행합니다.

새 보안 그룹이 모든 그룹 목록에 나타납니다. 즉시 표시되지 않으면 페이지를 새로 고칩니다.

Microsoft Entra 외부 ID 애플리케이션 내에서 사용할 토큰에 사용자의 그룹 멤버 자격 정보를 포함할 수 있습니다. 사용자 및 그룹을 역할에 할당 섹션에서 토큰에 그룹 클레임을 추가하는 방법을 알아봅니다.

애플리케이션에 대한 역할 선언

  1. 조건부 액세스 관리자, 보안 관리자 또는 전역 관리자로 Microsoft Entra 관리 센터에 로그인합니다.

  2. 여러 테넌트에 액세스할 수 있는 경우 위쪽 메뉴의 설정 아이콘 을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.

  3. ID>애플리케이션>앱 등록으로 이동합니다.

  4. 앱 역할을 정의하려는 애플리케이션을 선택합니다.

  5. 앱 역할을 선택한 다음, 앱 역할 만들기를 선택합니다.

  6. 앱 역할 만들기 창에서 역할에 대한 설정을 입력합니다. 다음 표에서는 각 설정과 해당 매개 변수에 대해 설명합니다.

    필드 Description 예시
    표시 이름 앱 할당 환경에 표시되는 앱 역할의 표시 이름입니다. 이 값에는 공백이 포함될 수 있습니다. Orders manager
    허용된 멤버 유형 이 앱 역할을 사용자, 애플리케이션 또는 둘 다에 할당할 수 있는지 여부를 지정합니다. Users/Groups
    애플리케이션이 토큰에서 예상하는 역할 클레임의 값을 지정합니다. 값은 애플리케이션 코드에 참조된 문자열과 정확하게 일치해야 합니다. 값은 공백을 포함할 수 없습니다. Orders.Manager
    설명 관리자 앱 할당 환경 중에 표시되는 앱 역할에 대한 자세한 설명입니다. Manage online orders.
    이 앱 역할을 사용하도록 설정하시겠습니까? 앱 역할 사용 여부를 지정합니다. 앱 역할을 삭제하려면 삭제 작업을 시도하기 전 이 확인란을 선택 취소하고 변경 사항을 적용합니다. 선택
  7. 애플리케이션 역할을 만들려면 적용을 선택합니다.

역할에 사용자 및 그룹 할당

애플리케이션에 앱 역할을 추가하면 관리자는 사용자와 그룹을 역할에 할당할 수 있습니다. 사용자 및 그룹을 역할에 할당하는 것은 관리 센터를 통하거나 프로그래밍 방식으로 Microsoft Graph를 사용하여 수행할 수 있습니다. 다양한 앱 역할에 할당된 사용자가 애플리케이션에 로그인하면 해당 토큰은 roles 클레임에 할당된 역할을 갖게 됩니다.

Azure Portal을 사용하여 애플리케이션 역할에 사용자 및 그룹을 할당하려면 다음을 수행합니다.

  1. 조건부 액세스 관리자, 보안 관리자 또는 전역 관리자로 Microsoft Entra 관리 센터에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 위쪽 메뉴의 설정 아이콘 을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
  3. ID>애플리케이션>엔터프라이즈 애플리케이션으로 이동합니다.
  4. 모든 애플리케이션을 선택하여 모든 애플리케이션 목록을 봅니다. 애플리케이션이 목록에 표시되지 않으면 모든 애플리케이션 목록 상단의 필터를 사용하여 목록을 제한하거나 목록을 아래로 스크롤하여 애플리케이션을 찾습니다.
  5. 역할에 사용자 또는 보안 그룹을 할당할 애플리케이션을 선택합니다.
  6. 관리에서 사용자 및 그룹을 선택합니다.
  7. 사용자 추가를 선택하여 할당 추가 창을 엽니다.
  8. 할당 추가 창에서 사용자 및 그룹을 선택합니다. 사용자 및 보안 그룹 목록이 나타납니다. 목록에서 여러 사용자 및 그룹을 선택할 수 있습니다.
  9. 사용자와 그룹을 선택한 후 선택을 선택합니다.
  10. 할당 추가 창에서 역할 선택을 선택합니다. 애플리케이션에 대해 정의한 모든 역할이 나타납니다.
  11. 역할을 선택한 다음 선택을 선택합니다.
  12. 할당을 선택하여 앱에 사용자와 그룹 할당을 마칩니다.
  13. 추가한 사용자와 그룹이 사용자 및 그룹 목록에 보이는지 확인합니다.

애플리케이션을 테스트하려면 로그아웃한 후 역할을 할당한 사용자로 다시 로그인합니다. 보안 토큰을 검사하여 사용자의 역할이 포함되어 있는지 확인합니다.

보안 토큰에 그룹 클레임 추가

보안 토큰으로 그룹 멤버 자격 클레임을 내보내려면 다음 단계를 따릅니다.

  1. 조건부 액세스 관리자, 보안 관리자 또는 전역 관리자로 Microsoft Entra 관리 센터에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 위쪽 메뉴의 설정 아이콘 을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
  3. ID>애플리케이션>앱 등록으로 이동합니다.
  4. 그룹 클레임을 추가하려는 애플리케이션을 선택합니다.
  5. 관리에서 토큰 구성을 선택합니다.
  6. 그룹 클레임 추가를 선택합니다.
  7. 보안 토큰에 포함할 그룹 유형을 선택합니다.
  8. 형식별 토큰 속성 사용자 지정에서 그룹 ID를 선택합니다.
  9. 그룹 소유권을 추가하려면 추가를 선택합니다.

그룹에 멤버 추가

이제 애플리케이션에 앱 그룹 클레임을 추가했으므로 보안 그룹에 사용자를 추가합니다. 보안 그룹이 없으면 보안 그룹을 만듭니다.

  1. 조건부 액세스 관리자, 보안 관리자 또는 전역 관리자로 Microsoft Entra 관리 센터에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 위쪽 메뉴의 설정 아이콘 을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
  3. ID>그룹>모든 그룹으로 이동합니다.
  4. 관리하려는 그룹을 선택합니다.
  5. 구성원을 선택합니다.
  6. + 구성원 추가를 선택합니다.
  7. 목록을 스크롤하거나 검색 상자에 이름을 입력합니다. 여러 이름을 선택할 수 있습니다. 준비가 되면 선택을 선택합니다.
  8. 그룹 개요 페이지는 현재 그룹에 추가된 멤버 수를 표시하도록 업데이트됩니다.

애플리케이션을 테스트하려면 로그아웃한 다음 보안 그룹에 추가한 사용자로 다시 로그인합니다. 보안 토큰을 검사하여 사용자의 그룹 멤버 자격이 포함되어 있는지 확인합니다.

그룹 및 애플리케이션 역할 지원

외부 테넌트는 Microsoft Entra 사용자 및 그룹 관리 모델 및 애플리케이션 할당을 따릅니다. 대부분의 핵심 Microsoft Entra 기능은 외부 테넌트로 단계적으로 전환되고 있습니다.

다음 표에는 현재 사용할 수 있는 기능이 나와 있습니다.

기능 현재 사용 가능?
리소스에 대한 애플리케이션 역할 만들기 예, 애플리케이션 매니페스트를 수정하면 됩니다.
사용자에게 애플리케이션 역할 할당
그룹에 애플리케이션 역할 할당 예, Microsoft Graph를 통해서만 가능합니다.
애플리케이션에 애플리케이션 역할 할당 예, 애플리케이션 권한을 통해
애플리케이션 역할에 사용자 할당
애플리케이션 역할에 애플리케이션 할당(애플리케이션 권한)
애플리케이션/서비스 주체에 그룹 추가(그룹 클레임) 예, Microsoft Graph를 통해서만 가능합니다.
Microsoft Entra 관리 센터를 통해 고객(로컬 사용자) 만들기/업데이트/삭제
Microsoft Entra 관리 센터를 통해 고객(로컬 사용자)의 암호 초기화
Microsoft Graph를 통해 고객(로컬 사용자) 만들기/업데이트/삭제
Microsoft Graph를 통해 고객(로컬 사용자)의 암호 초기화 예, 서비스 주체가 Global 관리istrator 역할에 추가된 경우에만
Microsoft Entra 관리 센터를 통해 보안 그룹 만들기/업데이트/삭제
Microsoft Graph API를 통해 보안 그룹 만들기/업데이트/삭제
Microsoft Entra 관리 센터를 사용하여 보안 그룹 멤버 변경
Microsoft Graph API를 사용하여 보안 그룹 멤버 변경
최대 50,000명의 사용자와 50,000개의 그룹으로 스케일 업 현재 사용할 수 없음
두 개 이상의 그룹에 50,000명의 사용자 추가 현재 사용할 수 없음

다음 단계