テーブルのセキュリティ ロールを管理する
プリンシパルには、ロールベースのアクセス制御モデルを使用してリソースへのアクセス権が付与されます。ここで、割り当てられたセキュリティ ロールによってリソース アクセスが決定されます。
この記事では、管理コマンドを使用して既存のセキュリティ ロールを 表示する方法と テーブル レベルで セキュリティ ロールの追加と削除 方法について説明します。
Note
テーブル固有のセキュリティ ロールを割り当てるには、プリンシパルがデータベース レベルでアクセスできる必要があります。
アクセス許可
これらのコマンドを実行するには、少なくとも Table Admin アクセス許可が必要です。
テーブル レベルのセキュリティ ロール
次の表に、テーブル レベルで使用可能なセキュリティ ロールと、各ロールに付与されるアクセス許可を示します。
ロール | アクセス許可 |
---|---|
admins |
テーブルエンティティとテーブルエンティティを表示、変更、および削除します。 |
ingestors |
クエリにアクセスせずにテーブルにデータを取り込みます。 |
Note
プリンシパル ビューにデータベース内のテーブルのサブセットへのアクセス権を付与する方法については、「テーブル ビューのアクセス権 管理するを参照してください。
既存のセキュリティ ロールを表示する
プリンシパルを追加または削除する前に、 .show
コマンドを使用して、テーブルに既に設定されているすべてのプリンシパルとロールを含むテーブルを表示できます。
構文
すべてのロールを表示するには:
.show
table
TableName principals
ロールを表示するには:
.show
table
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