プリンシパルには、ロールベースのアクセス制御モデルを使用してリソースへのアクセス権が付与されます。ここで、割り当てられたセキュリティ ロールによってリソース アクセスが決定されます。
この記事では、管理コマンドを使用して既存のセキュリティ ロールを 表示する方法と テーブル レベルで セキュリティ ロールの追加と削除 方法について説明します。
Note
テーブル固有のセキュリティ ロールを割り当てるには、プリンシパルがデータベース レベルでアクセスできる必要があります。
アクセス許可
これらのコマンドを実行するには、少なくとも Table Admin アクセス許可が必要です。
テーブル レベルのセキュリティ ロール
次の表に、テーブル レベルで使用可能なセキュリティ ロールと、各ロールに付与されるアクセス許可を示します。
| ロール | アクセス許可 |
|---|---|
admins |
テーブルエンティティとテーブルエンティティを表示、変更、および削除します。 |
ingestors |
クエリにアクセスせずにテーブルにデータを取り込みます。 |
Note
プリンシパル ビューにデータベース内のテーブルのサブセットへのアクセス権を付与する方法については、「テーブル ビューのアクセス権 管理するを参照してください。
既存のセキュリティ ロールを表示する
プリンシパルを追加または削除する前に、 .show コマンドを使用して、テーブルに既に設定されているすべてのプリンシパルとロールを含むテーブルを表示できます。
構文
すべてのロールを表示するには:
.showtable TableName principals
ロールを表示するには:
.showtable TableName principal roles
構文規則について詳しく知る。
パラメーター
| 件名 | タイプ | Required | 説明 |
|---|---|---|---|
| TableName | string |
✔️ | プリンシパルを一覧表示するテーブルの名前。 |
例
次のコマンドは、 StormEvents テーブルにアクセスできるすべてのセキュリティ プリンシパルを一覧表示します。
.show table StormEvents principals
出力例
| ロール | PrincipalType | PrincipalDisplayName | PrincipalObjectId | PrincipalFQN |
|---|---|---|---|---|
| Table StormEvents 管理者 | Microsoft Entra ユーザー | Abbi Atkins | cd709aed-a26c-e3953dec735e | aaduser=abbiatkins@fabrikam.com |
セキュリティ ロールの追加と削除
このセクションでは、プリンシパルを追加および削除するための構文、パラメーター、および例を示します。
構文
Action table TableName Role ( Principal [, Principal...] ) [skip-results] [ Description ]
構文規則について詳しく知る。
パラメーター
| 件名 | タイプ | Required | 説明 |
|---|---|---|---|
| 操作 | string |
✔️ | コマンド .add、 .drop、または .set。.add は指定したプリンシパルを追加し、 .drop は指定したプリンシパルを削除し、 .set は指定したプリンシパルを追加し、前のすべてのプリンシパルを削除します。 |
| TableName | string |
✔️ | プリンシパルを追加するテーブルの名前。 |
| Role | string |
✔️ | プリンシパルに割り当てるロール。 テーブルの場合、これは admins または ingestorsできます。 |
| プリンシパル | string |
✔️ | 1 つ以上のプリンシパル。 これらのプリンシパルを指定する方法のガイダンスについては、「 セキュリティ プリンシパルの参照を参照してください。 |
skip-results |
string |
指定した場合、コマンドはテーブル プリンシパルの更新された一覧を返しません。 | |
| 説明 | string |
.show コマンドの使用時に表示される変更を説明するテキスト。 |
Note
プリンシパルの一覧ではなく、noneを含む .set コマンドは、指定されたロールのすべてのプリンシパルを削除します。
例
次の例では、セキュリティ ロールの 追加、 セキュリティ ロールの削除、同じコマンドでセキュリティ ロールの追加と削除を する方法について説明します。
.add を使用してセキュリティ ロールを追加する
次の例では、StormEvents テーブルのadmins ロールにプリンシパルを追加します。
.add table StormEvents admins ('aaduser=imikeoein@fabrikam.com')
次の例では、StormEvents テーブルのingestors ロールにアプリケーションを追加します。
.add table StormEvents ingestors ('aadapp=4c7e82bd-6adb-46c3-b413-fdd44834c69b;fabrikam.com')
.drop を使用してセキュリティ ロールを削除する
次の例では、StormEvents テーブルのadmins ロールからグループ内のすべてのプリンシパルを削除します。
.drop table StormEvents admins ('aadGroup=SomeGroupEmail@fabrikam.com')
新しいセキュリティ ロールを追加し、.set を使用して古いロールを削除する
次の例では、既存のingestorsを削除し、指定されたプリンシパルを StormEvents テーブルにingestorsとして追加します。
.set table StormEvents ingestors ('aaduser=imikeoein@fabrikam.com', 'aaduser=abbiatkins@fabrikam.com')
.set を使用してすべてのセキュリティ ロールを削除する
次のコマンドは、StormEvents テーブルの既存のingestorsをすべて削除します。
.set table StormEvents ingestors none