このトピックでは、ApsaraDB RDS for SQL Server における各アカウントタイプの権限とそのスコープについて説明します。標準アカウントおよび特権アカウントの権限は変更できます。システム管理者アカウントにはすべてのデータベースに対するすべての権限があり、その権限は変更できません。
アカウント権限
セキュリティ上の理由により、ApsaraDB RDS for SQL Server では一部の権限が制限されています。代わりに、Alibaba Cloud は、これらの制限された操作を実行するためのストアドプロシージャを提供しています。詳細については、「ストアドプロシージャ」をご参照ください。
ApsaraDB RDS コンソールでは、 データベース レベルで権限を付与できます。テーブルなど、データベース内の特定のオブジェクトに対してより細かな権限を付与するには、SQL Server の標準 SQL ステートメントを使用します。詳細については、Microsoft の公式チュートリアル「GRANT object permissions」をご参照ください。
システム管理者アカウント
-
スコープ:インスタンス上のすべてのデータベース
-
権限:システム管理者アカウントは、SQL Server インスタンスに対する すべての権限 を有します。詳細については、Microsoft の公式チュートリアル「Database Permissions」をご参照ください。
標準アカウントと特権アカウント
スコープ:アカウントに認可されたデータベース。
|
タイプ |
ロール |
権限 |
|
所有者 |
|
|
|
読み取り専用 |
|
|
|
読み取り/書き込み (DML) |
|
|
グローバル読み取り専用アカウント
-
スコープ:インスタンス上のすべてのユーザーデータベース。
-
権限タイプ:読み取り専用。この権限は、新しく作成されたデータベースに自動的に適用されます。
アカウント権限の変更
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
-
左側のナビゲーションウィンドウで、アカウント管理 をクリックします。
-
変更するアカウントを見つけ、「操作」列の権限の変更をクリックします。
-
アカウント権限の編集 パネルで、アカウントの権限を設定します:
-
承認済みデータベースを変更するには、1 つ以上のデータベースを選択し、
または
をクリックして権限を設定します。 -
権限レベルを変更するには、権限が付与されたデータベース セクションで、権限レベルを選択します。
-
[読み取り専用]: SQL Server の
db_datareaderデータベースロールを付与します。 -
[読み書き (DML)]: SQL Server の
db_datawriterおよびdb_datareaderデータベースロールを付与します。 -
[所有者]: SQL Server の
db_ownerデータベースロールを付与します。
データベースレベルのロールの詳細については、Microsoft の公式ドキュメントをご参照ください。
-
-
-
OK をクリックします。
よくある質問
-
Q:読み書き (DML) 権限を持つアカウントを使用して、 ApsaraDB RDS for SQL Server のデータベースでテーブルを作成できないのはなぜですか。
-
A: 読み取り/書き込み (DML) 権限レベルのアカウントは、標準の SQL Server データベースロール
db_datareaderおよびdb_datawriterにマッピングされます。これらのロールには、CREATE TABLE権限は含まれていません。詳細については、「アカウント権限」をご参照ください。データベースにテーブルを作成する必要がある場合は、次のいずれかの方法を使用します。-
方法 1: SQL Server で標準の SQL ステートメントを実行します。詳細については、 Microsoft の公式チュートリアル「GRANT Database Permissions」および「Database-Level Roles」をご参照ください。
-
方法 2: ApsaraDB RDS コンソールで [アカウント] ページに移動し、アカウントの権限レベルを [所有者] に変更します。 [所有者] の権限レベルには、テーブルを作成する権限のほか、広範な権限も含まれます。この権限レベルは慎重に付与してください。手順については、「アカウント権限の変更」をご参照ください。
アカウントに
CREATE TABLE権限のみを付与する必要がある場合は、方法 1 を使用することをお勧めします。この方法では、セキュリティがより高くなります。 -