Share via


데이터베이스 보안 역할 관리

보안 주체는 할당된 보안 역할이 리소스 액세스를 결정하는 역할 기반 액세스 제어 모델을 통해 리소스에 대한 액세스 권한을 부여받습니다.

이 문서에서는 관리 명령을 사용하여 기존 보안 역할을 보고 데이터베이스 수준에서 보안 역할을 추가 및 제거하는 방법을 알아봅니다.

참고

데이터베이스를 삭제하려면 클러스터에 대한 ARM(기여자 Azure Resource Manager) 이상의 권한이 필요합니다. ARM 권한을 할당하려면 Azure Portal 사용하여 Azure 역할 할당을 참조하세요.

사용 권한

이러한 명령을 실행하려면 데이터베이스 관리 이상의 권한이 있어야 합니다.

데이터베이스 수준 보안 역할

다음 표에서는 데이터베이스 수준에서 가능한 보안 역할을 보여 줍니다. 각 역할에 대해 부여된 권한을 설명합니다.

역할 사용 권한
admins 데이터베이스 및 데이터베이스 엔터티를 보고 수정합니다.
users 데이터베이스를 보고 새 데이터베이스 엔터티를 만듭니다.
viewers RestrictedViewAccess가 켜져 있지 않은 데이터베이스의 테이블을 봅니다.
unrestrictedviewers RestrictedViewAccess가 켜져 있는 경우에도 데이터베이스의 테이블을 봅니다. 보안 주체에는 또는 viewersusers 사용 권한도 있어야 admins합니다.
ingestors 쿼리에 액세스하지 않고 데이터베이스에 데이터를 수집합니다.
monitors 스키마, 작업 및 권한과 같은 데이터베이스 메타데이터를 봅니다.

참고

데이터베이스의 일부 테이블에 대해서만 역할을 할당 viewer 할 수 없습니다. 테이블 하위 집합에 대한 보안 주체 뷰 액세스 권한을 부여하는 방법에 대한 다양한 방법은 테이블 뷰 액세스 관리를 참조하세요.

기존 보안 역할 표시

보안 주체를 추가하거나 제거하기 전에 명령을 사용하여 .show 데이터베이스에 이미 설정된 모든 보안 주체 및 역할이 있는 테이블을 볼 수 있습니다.

Syntax

모든 역할을 표시하려면 다음을 수행합니다.

.showdatabaseDatabasenameprincipals

역할을 표시하려면 다음을 수행합니다.

.showdatabaseDatabasenameprincipalroles

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 형식 필수 Description
DatabaseName string ✔️ 보안 주체를 나열할 데이터베이스의 이름입니다.

예제

다음 명령은 데이터베이스에 액세스할 수 있는 모든 보안 주체를 Samples 나열합니다.

.show database Samples principals

예제 출력

역할 PrincipalType PrincipalDisplayName PrincipalObjectId PrincipalFQN
데이터베이스 샘플 관리 Microsoft Entra 사용자 애비 앳킨스 cd709aed-a26c-e3953dec735e aaduser=abbiatkins@fabrikam.com

보안 역할 추가 및 삭제

이 섹션에서는 보안 주체를 추가 및 제거하기 위한 구문, 매개 변수 및 예제를 제공합니다.

Syntax

작업databaseDatabaseName역할(주체 [,보안 주체...] ) [skip-results] [ 설명 ]

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 형식 필수 설명
작업 string ✔️ 명령 .add, .drop또는 .set입니다.
.add 지정된 보안 주체를 추가하고, .drop 지정된 보안 주체를 제거하고, 지정된 보안 주체를 추가하고, .set 이전 보안 주체를 모두 제거합니다.
DatabaseName string ✔️ 보안 주체를 추가할 데이터베이스의 이름입니다.
Role string ✔️ 보안 주체에 할당할 역할입니다. 데이터베이스의 경우 , , , usersviewers, unrestrictedviewersingestors또는 monitors일 수 있습니다admins.
주 서버 string ✔️ 하나 이상의 보안 주체. 이러한 보안 주체를 지정하는 방법에 대한 지침은 보안 주체 참조를 참조하세요.
skip-results string 제공된 경우 명령은 업데이트된 데이터베이스 보안 주체 목록을 반환하지 않습니다.
설명 string 명령을 사용할 때 표시될 변경 내용을 설명하는 텍스트입니다 .show .

참고

.setnone 보안 주체 목록 대신 명령을 사용하면 지정된 역할의 모든 보안 주체가 제거됩니다.

예제

다음 예제에서는 동일한 명령에서 보안 역할을 추가하고, 보안 역할을 제거하고, 보안 역할을 추가 및 제거하는 방법을 확인할 수 있습니다.

.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 보안 주체를 제거하고 제공된 보안 주체를 데이터베이스에 Samples 추가 viewers 합니다.

.set database Samples viewers ('aaduser=imikeoein@fabrikam.com', 'aaduser=abbiatkins@fabrikam.com')

.set을 사용하여 모든 보안 역할 제거

다음 명령은 데이터베이스에 있는 모든 기존 viewers 항목을 Samples 제거합니다.

.set database Samples viewers none