데이터베이스 보안 역할 관리
보안 주체는 할당된 보안 역할이 리소스 액세스를 결정하는 역할 기반 액세스 제어 모델을 통해 리소스에 대한 액세스 권한을 부여받습니다.
이 문서에서는 관리 명령을 사용하여 기존 보안 역할을 보고 데이터베이스 수준에서 보안 역할을 추가 및 제거하는 방법을 알아봅니다.
참고
데이터베이스를 삭제하려면 클러스터에 대한 ARM(기여자 Azure Resource Manager) 이상의 권한이 필요합니다. ARM 권한을 할당하려면 Azure Portal 사용하여 Azure 역할 할당을 참조하세요.
사용 권한
이러한 명령을 실행하려면 데이터베이스 관리 이상의 권한이 있어야 합니다.
데이터베이스 수준 보안 역할
다음 표에서는 데이터베이스 수준에서 가능한 보안 역할을 보여 줍니다. 각 역할에 대해 부여된 권한을 설명합니다.
역할 | 사용 권한 |
---|---|
admins |
데이터베이스 및 데이터베이스 엔터티를 보고 수정합니다. |
users |
데이터베이스를 보고 새 데이터베이스 엔터티를 만듭니다. |
viewers |
RestrictedViewAccess가 켜져 있지 않은 데이터베이스의 테이블을 봅니다. |
unrestrictedviewers |
RestrictedViewAccess가 켜져 있는 경우에도 데이터베이스의 테이블을 봅니다. 보안 주체에는 또는 viewers users 사용 권한도 있어야 admins 합니다. |
ingestors |
쿼리에 액세스하지 않고 데이터베이스에 데이터를 수집합니다. |
monitors |
스키마, 작업 및 권한과 같은 데이터베이스 메타데이터를 봅니다. |
참고
데이터베이스의 일부 테이블에 대해서만 역할을 할당 viewer
할 수 없습니다. 테이블 하위 집합에 대한 보안 주체 뷰 액세스 권한을 부여하는 방법에 대한 다양한 방법은 테이블 뷰 액세스 관리를 참조하세요.
기존 보안 역할 표시
보안 주체를 추가하거나 제거하기 전에 명령을 사용하여 .show
데이터베이스에 이미 설정된 모든 보안 주체 및 역할이 있는 테이블을 볼 수 있습니다.
Syntax
모든 역할을 표시하려면 다음을 수행합니다.
.show
database
Databasenameprincipals
역할을 표시하려면 다음을 수행합니다.
.show
database
Databasenameprincipal
roles
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | 형식 | 필수 | Description |
---|---|---|---|
DatabaseName | string |
✔️ | 보안 주체를 나열할 데이터베이스의 이름입니다. |
예제
다음 명령은 데이터베이스에 액세스할 수 있는 모든 보안 주체를 Samples
나열합니다.
.show database Samples principals
예제 출력
역할 | PrincipalType | PrincipalDisplayName | PrincipalObjectId | PrincipalFQN |
---|---|---|---|---|
데이터베이스 샘플 관리 | Microsoft Entra 사용자 | 애비 앳킨스 | cd709aed-a26c-e3953dec735e | aaduser=abbiatkins@fabrikam.com |
보안 역할 추가 및 삭제
이 섹션에서는 보안 주체를 추가 및 제거하기 위한 구문, 매개 변수 및 예제를 제공합니다.
Syntax
작업database
DatabaseName역할(
주체 [,
보안 주체...] )
[skip-results
] [ 설명 ]
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | 형식 | 필수 | 설명 |
---|---|---|---|
작업 | string |
✔️ | 명령 .add , .drop 또는 .set 입니다..add 지정된 보안 주체를 추가하고, .drop 지정된 보안 주체를 제거하고, 지정된 보안 주체를 추가하고, .set 이전 보안 주체를 모두 제거합니다. |
DatabaseName | string |
✔️ | 보안 주체를 추가할 데이터베이스의 이름입니다. |
Role | string |
✔️ | 보안 주체에 할당할 역할입니다. 데이터베이스의 경우 , , , users viewers , unrestrictedviewers ingestors 또는 monitors 일 수 있습니다admins . |
주 서버 | string |
✔️ | 하나 이상의 보안 주체. 이러한 보안 주체를 지정하는 방법에 대한 지침은 보안 주체 참조를 참조하세요. |
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
보안 주체를 제거하고 제공된 보안 주체를 데이터베이스에 Samples
추가 viewers
합니다.
.set database Samples viewers ('aaduser=imikeoein@fabrikam.com', 'aaduser=abbiatkins@fabrikam.com')
.set을 사용하여 모든 보안 역할 제거
다음 명령은 데이터베이스에 있는 모든 기존 viewers
항목을 Samples
제거합니다.
.set database Samples viewers none
관련 콘텐츠
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기