次の方法で共有


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

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

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

Note

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

アクセス許可

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

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

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

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

Note

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

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

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

構文

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

.showdatabase DatabaseName principals

ロールを表示するには:

.showdatabase DatabaseName principal roles

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

パラメーター

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

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

.show database Samples principals

出力例

ロール PrincipalType PrincipalDisplayName PrincipalObjectId PrincipalFQN
データベース サンプル管理者 Microsoft Entra ユーザー Abbi Atkins cd709aed-a26c-e3953dec735e aaduser=abbiatkins@fabrikam.com

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

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

構文

Action database DatabaseName Role ( Principal [, Principal...] ) [skip-results] [ Description ]

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

パラメーター

件名 タイプ Required 説明
操作 string ✔️ コマンド .add.drop、または .set
.add は指定したプリンシパルを追加し、 .drop は指定したプリンシパルを削除し、 .set は指定したプリンシパルを追加し、前のすべてのプリンシパルを削除します。
DatabaseName string ✔️ プリンシパルを追加するデータベースの名前。
Role string ✔️ プリンシパルに割り当てるロール。 データベースの場合、これは adminsusersviewersunrestrictedviewersingestors、または monitorsにすることができます。
プリンシパル string ✔️ 1 つ以上のプリンシパル。 これらのプリンシパルを指定する方法のガイダンスについては、「 セキュリティ プリンシパルの参照を参照してください。
skip-results string 指定した場合、コマンドはデータベース プリンシパルの更新された一覧を返しません。
説明 string .show コマンドの使用時に表示される変更を説明するテキスト。

Note

プリンシパルの一覧ではなく、noneを含む .set コマンドは、指定されたロールのすべてのプリンシパルを削除します。

次の例では、セキュリティ ロールの 追加セキュリティ ロールの削除、同じコマンドでセキュリティ ロールの追加と削除を する方法について説明します

.add を使用してセキュリティ ロールを追加する

次の例では、Samples データベースのusers ロールにプリンシパルを追加します。

.add database Samples users ('aaduser=imikeoein@fabrikam.com')

次の例では、Samples データベースのviewers ロールにアプリケーションを追加します。

.add database Samples viewers ('aadapp=4c7e82bd-6adb-46c3-b413-fdd44834c69b;fabrikam.com')

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

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

.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 を使用してすべてのセキュリティ ロールを削除する

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

.set database Samples viewers none