적용 대상: ✅Microsoft Fabric✅Azure Data Explorer
보안 주체는 할당된 보안 역할이 리소스 액세스를 결정하는 역할 기반 액세스 제어 모델을 통해 리소스에 대한 액세스 권한을 부여받습니다.
이 문서에서는 관리 명령을 사용하여 기존 보안 역할을 보고 데이터베이스 수준에서 보안 역할에보안 역할을 추가하고 삭제하는 방법을 알아봅니다.
사용 권한
이러한 명령을 실행하려면 데이터베이스 관리자 권한이 있어야 합니다.
참고 항목
데이터베이스를 삭제하려면 ARM(기여자 Azure Resource Manager) 이상의 권한이 필요합니다. ARM 권한을 할당하려면 Azure Portal을 사용하여 Azure 역할 할당을 참조하세요.
데이터베이스 수준 보안 역할
다음 표에서는 데이터베이스 수준에서 가능한 보안 역할을 보여 줍니다. 각 역할에 대해 부여된 사용 권한에 대해 설명합니다.
| 역할 | 사용 권한 |
|---|---|
admins |
데이터베이스 및 데이터베이스 엔터티를 보고 수정합니다. |
users |
데이터베이스를 보고 새 데이터베이스 엔터티를 만듭니다. |
viewers |
RestrictedViewAccess가 켜져 있지 않은 데이터베이스의 테이블을 봅니다. |
unrestrictedviewers |
RestrictedViewAccess가 켜져 있는 경우에도 데이터베이스의 테이블을 봅니다. 보안 주체에는 사용 권한도 있어야 adminsviewersusers 합니다. |
ingestors |
쿼리에 액세스하지 않고 데이터베이스에 데이터를 수집합니다. |
monitors |
스키마, 작업 및 권한과 같은 데이터베이스 메타데이터를 봅니다. |
참고 항목
데이터베이스의 일부 테이블에 대해서만 역할을 할당 viewer 할 수 없습니다. 테이블 하위 집합에 대한 보안 주체 뷰 액세스 권한을 부여하는 방법에 대한 다양한 방법은 테이블 뷰 액세스 관리를 참조하세요.
기존 보안 역할 표시
보안 주체를 추가하거나 제거하기 전에 이 명령을 사용하여 .show 데이터베이스에 이미 설정된 모든 보안 주체 및 역할이 있는 테이블을 볼 수 있습니다.
구문
모든 역할을 표시하려면 다음을 수행합니다.
.show
database
DatabaseNameprincipals
역할을 표시하려면 다음을 수행합니다.
.show
database
DatabaseNameprincipalroles
구문 규칙에 대해 자세히 알아봅니다.
중요합니다
보안 주체가 사용자와 동일한 테넌트에 있는 경우 FQN(정규화된 이름)이 표시됩니다.
보안 주체가 사용자와 다른 테넌트에 있는 경우:
- 표시 이름에 FQN이 표시되지 않습니다.
- 표시 이름은 보안 주체가 다른 테넌트에서 온 것임을 나타냅니다. 형식은
[User/Group/Application] from AAD tenant [Tenant Id]입니다. - 식별 정보를 추가하려면 테넌트에서 보안 주체 역할을 할당하고 매개 변수를
Description사용하여 식별 세부 정보를 추가합니다. 출력Description의 Notes 열에 표시됩니다.
매개 변수
| 이름 | Type | 필수 | 설명 |
|---|---|---|---|
| DatabaseName | string |
✔️ | 보안 주체를 나열할 데이터베이스의 이름입니다. |
예시
다음 명령은 데이터베이스에 액세스할 수 있는 모든 보안 주체를 나열합니다 Samples .
.show database Samples principals
예제 출력
| 역할 | 주체 유형 | PrincipalDisplayName | PrincipalObjectId | PrincipalFQN |
|---|---|---|---|---|
| 데이터베이스 샘플 관리자 | Microsoft Entra 사용자 | 아비 앳킨스 | cd709aed-a26c-e3953dec735e | aaduser=abbiatkins@fabrikam.com |
보안 역할에 보안 연결 추가 및 삭제
이 섹션에서는 보안 역할과 보안 역할의 보안 주체를 추가 및 제거하기 위한 구문, 매개 변수 및 예제를 제공합니다.
구문
ActiondatabaseDatabaseName역할(주체 [ , 보안 주체...] ) [skip-results] [ 설명 ]
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
| 이름 | Type | 필수 | 설명 |
|---|---|---|---|
| 동작 | string |
✔️ | 명령 .add또는 .drop.set.
.add 는 지정된 보안 주체를 .drop 추가하고, 지정된 보안 주체를 제거하고, 지정된 보안 주체를 추가하고, .set 이전 보안 주체를 모두 제거합니다. |
| DatabaseName | string |
✔️ | 보안 주체를 추가할 데이터베이스의 이름입니다. |
| 역할 | string |
✔️ | 보안 주체에 할당할 역할입니다. 데이터베이스의 경우 역할은 , , adminsusers, viewersunrestrictedviewers또는 ingestors.일 수 있습니다monitors. |
| 주 서버 | string |
✔️ | 하나 이상의 보안 주체 또는 관리 ID. 관리 ID를 참조하려면 관리 ID 개체 ID 또는 애플리케이션(관리 ID 클라이언트) ID를 사용하여 "앱" 형식을 사용합니다. 이러한 보안 주체를 지정하는 방법에 대한 지침은 Microsoft Entra 보안 주체 및 그룹 참조를 참조하세요. |
skip-results |
string |
제공된 경우 명령은 업데이트된 데이터베이스 보안 주체 목록을 반환하지 않습니다. | |
| 설명 | string |
명령을 사용할 때 표시되는 변경 내용을 설명하는 텍스트입니다 .show . |
| 이름 | Type | 필수 | 설명 |
|---|---|---|---|
| 동작 | string |
✔️ | 명령 .add또는 .drop.set.
.add 는 지정된 보안 주체를 .drop 추가하고, 지정된 보안 주체를 제거하고, 지정된 보안 주체를 추가하고, .set 이전 보안 주체를 모두 제거합니다. |
| DatabaseName | string |
✔️ | 보안 주체를 추가할 데이터베이스의 이름입니다. |
| 역할 | string |
✔️ | 보안 주체에 할당할 역할입니다. 데이터베이스의 경우 , , admins, usersviewersunrestrictedviewers또는 ingestors.일 수 있습니다.monitors |
| 주 서버 | string |
✔️ | 하나 이상의 보안 주체. 이러한 보안 주체를 지정하는 방법에 대한 지침은 Microsoft Entra 보안 주체 및 그룹 참조를 참조하세요. |
skip-results |
string |
제공된 경우 명령은 업데이트된 데이터베이스 보안 주체 목록을 반환하지 않습니다. | |
| 설명 | string |
명령을 사용할 때 표시되는 변경 내용을 설명하는 텍스트입니다 .show . |
참고 항목
.set 보안 주체 목록 대신 명령을 none 사용하면 지정된 역할의 모든 보안 주체가 제거됩니다.
예제
다음 예제에서는 보안 역할을 추가하고, 보안 역할을 제거하고, 동일한 명령에서 보안 역할을 추가 및 제거하는 방법을 알아보세요.
.add를 사용하여 보안 역할 추가
다음 예제에서는 데이터베이스의 users 역할에 보안 주체를 추가합니다 Samples .
.add database Samples users ('aaduser=imikeoein@fabrikam.com')
다음 예제에서는 데이터베이스의 역할에 애플리케이션을 viewers 추가합니다 Samples .
.add database Samples viewers ('aadapp=4c7e82bd-6adb-46c3-b413-fdd44834c69b;fabrikam.com')
.drop을 사용하여 보안 역할 제거
다음 예제에서는 데이터베이스의 역할에서 그룹의 모든 보안 주체를 admins 제거합니다 Samples .
.drop database Samples admins ('aadGroup=SomeGroupEmail@fabrikam.com')
새 보안 역할 추가 및 .set을 사용하여 이전 역할 제거
다음 예제에서는 기존 viewers 보안 주체를 제거하고 데이터베이스와 같이 viewers 제공된 보안 주체를 Samples 추가합니다.
.set database Samples viewers ('aaduser=imikeoein@fabrikam.com', 'aaduser=abbiatkins@fabrikam.com')
.set을 사용하여 모든 보안 역할 제거
다음 명령은 데이터베이스에 있는 모든 기존 viewers 요소를 Samples 제거합니다.
.set database Samples viewers none