データベース セキュリティ ロールの管理
プリンシパルには、ロールベースのアクセス制御モデルを使用してリソースへのアクセス権が付与されます。このモデルでは、割り当てられたセキュリティ ロールによってリソース アクセスが決定されます。
この記事では、管理コマンドを使用して 既存のセキュリティ ロールを表示 し、データベース レベルで セキュリティ ロールを追加および削除 する方法について説明します。
Note
データベースを削除するには、クラスターに対する少なくとも共同作成者 Azure Resource Manager (ARM) アクセス許可が必要です。 ARM アクセス許可を割り当てるには、「Azure portalを使用して Azure ロールを割り当てる」を参照してください。
アクセス許可
これらのコマンドを実行するには、少なくとも Database 管理 アクセス許可が必要です。
データベース レベルのセキュリティ ロール
次の表に、データベース レベルで使用可能なセキュリティ ロールと、各ロールに付与されるアクセス許可を示します。
Role | アクセス許可 |
---|---|
admins |
データベースエンティティとデータベースエンティティを表示および変更します。 |
users |
データベースを表示し、新しいデータベース エンティティを作成します。 |
viewers |
RestrictedViewAccess が有効になっていないデータベース内のテーブルを表示します。 |
unrestrictedviewers |
RestrictedViewAccess が有効になっている場合でも、データベース内のテーブルを表示します。 プリンシパルには、、または users のアクセス許可も必要admins viewers です。 |
ingestors |
クエリにアクセスせずにデータベースにデータを取り込みます。 |
monitors |
スキーマ、操作、アクセス許可などのデータベース メタデータを表示します。 |
Note
データベース内の一部の viewer
テーブルにのみロールを割り当てることはできません。 プリンシパル ビューにテーブルのサブセットへのアクセス権を付与する方法については、「 テーブル ビューのアクセスを管理する」を参照してください。
既存のセキュリティ ロールを表示する
プリンシパルを追加または削除する前に、 コマンドを .show
使用して、データベースに既に設定されているすべてのプリンシパルとロールを含むテーブルを表示できます。
構文
すべてのロールを表示するには:
.show
database
Databasenameprincipals
ロールを表示するには:
.show
database
DatabaseNameprincipal
roles
構文規則について詳しく知る。
パラメーター
名前 | 型 | 必須 | 説明 |
---|---|---|---|
DatabaseName | string |
✔️ | プリンシパルを一覧表示するデータベースの名前。 |
例
次のコマンドは、データベースにアクセスできるすべてのセキュリティ プリンシパルを Samples
一覧表示します。
.show database Samples principals
出力例
Role | PrincipalType | PrincipalDisplayName | PrincipalObjectId | PrincipalFQN |
---|---|---|---|---|
データベース サンプル 管理 | Microsoft Entra ユーザー | アッビ・アトキンス | cd709aed-a26c-e3953dec735e | aaduser=abbiatkins@fabrikam.com |
セキュリティ ロールの追加と削除
このセクションでは、プリンシパルを追加および削除するための構文、パラメーター、および例を示します。
構文
アクションdatabase
DatabaseNameロール(
プリンシパル [,
Principal...] )
[skip-results
] [ Description ]
構文規則について詳しく知る。
パラメーター
名前 | 型 | 必須 | 説明 |
---|---|---|---|
操作 | string |
✔️ | コマンド .add 、、 .drop または .set 。.add は、指定したプリンシパルを追加し、 .drop 指定したプリンシパルを削除し .set 、指定したプリンシパルを追加して、以前のすべてのプリンシパルを削除します。 |
DatabaseName | string |
✔️ | プリンシパルを追加するデータベースの名前。 |
ロール | string |
✔️ | プリンシパルに割り当てるロール。 データベースの場合は、、、、viewers ingestors users unrestrictedviewers または を指定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 を使用してセキュリティ ロールを削除する
次の例では、グループ内のすべてのプリンシパルをデータベースのadmins
Samples
ロールから削除します。
.drop database Samples admins ('aadGroup=SomeGroupEmail@fabrikam.com')
新しいセキュリティ ロールを追加し、.set を使用して古いを削除する
次の例では、既存のものをviewers
削除し、指定されたプリンシパルを データベースに 追加viewers
Samples
します。
.set database Samples viewers ('aaduser=imikeoein@fabrikam.com', 'aaduser=abbiatkins@fabrikam.com')
.set を使用してすべてのセキュリティ ロールを削除する
次のコマンドは、データベース上のSamples
既存viewers
のものをすべて削除します。
.set database Samples viewers none
関連コンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示