データベース セキュリティ ロールの管理

プリンシパルには、ロールベースのアクセス制御モデルを使用してリソースへのアクセス権が付与されます。このモデルでは、割り当てられたセキュリティ ロールによってリソース アクセスが決定されます。

この記事では、管理コマンドを使用して 既存のセキュリティ ロールを表示 し、データベース レベルで セキュリティ ロールを追加および削除 する方法について説明します。

Note

データベースを削除するには、クラスターに対する少なくとも共同作成者 Azure Resource Manager (ARM) アクセス許可が必要です。 ARM アクセス許可を割り当てるには、「Azure portalを使用して Azure ロールを割り当てる」を参照してください。

アクセス許可

これらのコマンドを実行するには、少なくとも Database 管理 アクセス許可が必要です。

データベース レベルのセキュリティ ロール

次の表に、データベース レベルで使用可能なセキュリティ ロールと、各ロールに付与されるアクセス許可を示します。

Role アクセス許可
admins データベースエンティティとデータベースエンティティを表示および変更します。
users データベースを表示し、新しいデータベース エンティティを作成します。
viewers RestrictedViewAccess が有効になっていないデータベース内のテーブルを表示します。
unrestrictedviewers RestrictedViewAccess が有効になっている場合でも、データベース内のテーブルを表示します。 プリンシパルには、、または users のアクセス許可も必要adminsviewersです。
ingestors クエリにアクセスせずにデータベースにデータを取り込みます。
monitors スキーマ、操作、アクセス許可などのデータベース メタデータを表示します。

Note

データベース内の一部の viewer テーブルにのみロールを割り当てることはできません。 プリンシパル ビューにテーブルのサブセットへのアクセス権を付与する方法については、「 テーブル ビューのアクセスを管理する」を参照してください。

既存のセキュリティ ロールを表示する

プリンシパルを追加または削除する前に、 コマンドを .show 使用して、データベースに既に設定されているすべてのプリンシパルとロールを含むテーブルを表示できます。

構文

すべてのロールを表示するには:

.showdatabaseDatabasenameprincipals

ロールを表示するには:

.showdatabaseDatabaseNameprincipalroles

構文規則について詳しく知る。

パラメーター

名前 必須 説明
DatabaseName string ✔️ プリンシパルを一覧表示するデータベースの名前。

次のコマンドは、データベースにアクセスできるすべてのセキュリティ プリンシパルを Samples 一覧表示します。

.show database Samples principals

出力例

Role PrincipalType PrincipalDisplayName PrincipalObjectId PrincipalFQN
データベース サンプル 管理 Microsoft Entra ユーザー アッビ・アトキンス cd709aed-a26c-e3953dec735e aaduser=abbiatkins@fabrikam.com

セキュリティ ロールの追加と削除

このセクションでは、プリンシパルを追加および削除するための構文、パラメーター、および例を示します。

構文

アクションdatabaseDatabaseNameロール(プリンシパル [,Principal...] ) [skip-results] [ Description ]

構文規則について詳しく知る。

パラメーター

名前 必須 説明
操作 string ✔️ コマンド .add、、 .dropまたは .set
.add は、指定したプリンシパルを追加し、 .drop 指定したプリンシパルを削除し .set 、指定したプリンシパルを追加して、以前のすべてのプリンシパルを削除します。
DatabaseName string ✔️ プリンシパルを追加するデータベースの名前。
ロール string ✔️ プリンシパルに割り当てるロール。 データベースの場合は、、、、viewersingestorsusersunrestrictedviewersまたは を指定monitorsできます。admins
プリンシパル string ✔️ 1 つ以上のプリンシパル。 これらのプリンシパルを指定する方法のガイダンスについては、「 セキュリティ プリンシパルの参照」を参照してください。
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 を使用してセキュリティ ロールを削除する

次の例では、グループ内のすべてのプリンシパルをデータベースのadminsSamplesロールから削除します。

.drop database Samples admins ('aadGroup=SomeGroupEmail@fabrikam.com')

新しいセキュリティ ロールを追加し、.set を使用して古いを削除する

次の例では、既存のものをviewers削除し、指定されたプリンシパルを データベースに 追加viewersSamplesします。

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

.set を使用してすべてのセキュリティ ロールを削除する

次のコマンドは、データベース上のSamples既存viewersのものをすべて削除します。

.set database Samples viewers none