すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:アカウントの権限の変更

最終更新日:Aug 08, 2026

ApsaraDB RDS for SQL Server では、各アカウントがアクセス可能なデータベースや、それらのデータベースに対して実行できる操作を制御できます。このトピックでは、各アカウントタイプの権限範囲について説明し、標準アカウントまたは特権アカウントの権限を変更する方法を解説します。

ApsaraDB RDS コンソールは、データベースレベルで権限を付与します。テーブルなどの特定のデータベースオブジェクトに権限を付与するには、必要な SQL ステートメントを実行します。詳細については、「オブジェクト権限の付与 (Transact-SQL)」をご参照ください。

権限変更が可能なアカウントタイプ

次の表は、コンソールから変更可能なアカウントタイプを示しています。

アカウントタイプ データベース権限の変更 注記
標準アカウント 対応 —
特権アカウント 対応 —
システム管理者アカウント 非対応 デフォルトですべてのデータベースに対するすべての権限を保持
グローバル読み取り専用アカウント 非対応 デフォルトですべてのユーザーデータベースに対する読み取り専用権限を保持。新規作成されたデータベースにも自動的に適用されます。

アカウント権限

システム管理者アカウント

  • 権限付与対象: インスタンス上のすべてのデータベース

  • 権限: RDS インスタンスのすべての権限。詳細については、「Permissions (Database Engine)」をご参照ください。

グローバル読み取り専用アカウント

  • 権限付与対象: インスタンス上のすべてのユーザーデータベース

  • 権限タイプ: 読み取り専用。インスタンス上で新しく作成されたデータベースにも権限が自動的に適用されます。

標準アカウントおよび特権アカウント

権限付与対象: アカウントに許可されたデータベース。

セキュリティの観点から、ApsaraDB RDS では一部の権限をストアドプロシージャにカプセル化しています。詳細については、「ストアドプロシージャ」をご参照ください。

特権アカウントは、許可されたすべてのデータベースに対して db_owner ロールを持ちますが、sysadmin ロールは持ちません。つまり、特権アカウントはシステム管理者 (SA) アカウントと同等ではありません。SQL Server Management Studio (SSMS) を使用して特権アカウントに手動で sysadmin サーバーロールを付与しても、ApsaraDB RDS のセキュリティ制限により、その変更は有効になりません。SA レベルの権限が必要な場合は、「ApsaraDB RDS for SQL Server インスタンスのシステム管理者アカウントの作成」を参照してシステム管理者アカウントを作成してください。システム管理者アカウントを作成すると、そのインスタンスは SLA の対象外となります。

次の表は、標準アカウントおよび特権アカウントで利用可能な 3 種類の権限レベルについて説明しています。

権限タイプ 割り当てられる SQL Server ロール アカウントが実行できる操作
読み取り専用 サーバーレベル: public、processadmin、setupadmin;データベースレベル: public、db_datareader すべてのユーザーテーブルおよびビューからデータを読み取ります。
読み取り/書き込み (DML) サーバーレベル: public、processadmin、setupadmin;データベースレベル: public、db_datareader、db_datawriter すべてのユーザーテーブルのデータを読み取り、追加、更新、削除できます。
オーナー サーバーレベル: public、processadmin、setupadmin;データベースレベル: public、db_owner テーブル、ビュー、プロシージャ、スキーマの作成など、データベースのすべての構成およびメンテナンス操作を実行できます。

各レベルに含まれるサーバーレベルおよびデータベースレベルの権限の完全な一覧については、以下のセクションを展開してください。

読み取り専用 — 権限の詳細

サーバーレベル権限: CONNECT SQL、ALTER ANY LOGIN、ALTER ANY LINKED SERVER、ALTER ANY CONNECTION、ALTER TRACE、VIEW ANY DATABASE、VIEW SERVER STATE、ALTER SERVER STATE

データベースレベル権限: CONNECT、SHOWPLAN、SELECT、KILL DATABASE CONNECTION、VIEW ANY COLUMN ENCRYPTION KEY DEFINITION、VIEW ANY COLUMN MASTER KEY DEFINITION、VIEW DATABASE STATE

読み取り/書き込み (DML) — 権限の詳細

サーバーレベル権限: CONNECT SQL、ALTER ANY LOGIN、ALTER ANY LINKED SERVER、ALTER ANY CONNECTION、ALTER TRACE、VIEW ANY DATABASE、VIEW SERVER STATE、ALTER SERVER STATE

データベースレベル権限: CONNECT、SHOWPLAN、SELECT、INSERT、UPDATE、DELETE、KILL DATABASE CONNECTION、VIEW ANY COLUMN ENCRYPTION KEY DEFINITION、VIEW ANY COLUMN MASTER KEY DEFINITION、VIEW DATABASE STATE

オーナー — 権限の詳細

サーバーレベル権限: CONNECT SQL、ALTER ANY LOGIN、ALTER ANY LINKED SERVER、ALTER ANY CONNECTION、ALTER TRACE、VIEW ANY DATABASE、VIEW SERVER STATE、ALTER SERVER STATE

データベースレベル権限: CREATE TABLE、CREATE VIEW、CREATE PROCEDURE、CREATE FUNCTION、CREATE RULE、CREATE DEFAULT、CREATE TYPE、CREATE ASSEMBLY、CREATE XML SCHEMA COLLECTION、CREATE SCHEMA、CREATE SYNONYM、CREATE AGGREGATE、CREATE ROLE、CREATE MESSAGE TYPE、CREATE SERVICE、CREATE CONTRACT、CREATE REMOTE SERVICE BINDING、CREATE ROUTE、CREATE QUEUE、CREATE SYMMETRIC KEY、CREATE ASYMMETRIC KEY、CREATE FULLTEXT CATALOG、CREATE CERTIFICATE、CREATE DATABASE DDL EVENT NOTIFICATION、CONNECT、CONNECT REPLICATION、CHECKPOINT、SUBSCRIBE QUERY NOTIFICATIONS、AUTHENTICATE、SHOWPLAN、ALTER ANY USER、ALTER ANY ROLE、ALTER ANY APPLICATION ROLE、ALTER ANY COLUMN ENCRYPTION KEY、ALTER ANY COLUMN MASTER KEY、ALTER ANY SCHEMA、ALTER ANY ASSEMBLY、ALTER ANY DATABASE SCOPED CONFIGURATION、ALTER ANY DATASPACE、ALTER ANY EXTERNAL DATA SOURCE、ALTER ANY EXTERNAL FILE FORMAT、ALTER ANY MESSAGE TYPE、ALTER ANY CONTRACT、ALTER ANY SERVICE、ALTER ANY REMOTE SERVICE BINDING、ALTER ANY ROUTE、ALTER ANY FULLTEXT CATALOG、ALTER ANY SYMMETRIC KEY、ALTER ANY ASYMMETRIC KEY、ALTER ANY CERTIFICATE、ALTER ANY SECURITY POLICY、SELECT、INSERT、UPDATE、DELETE、REFERENCES、EXECUTE、ALTER ANY DATABASE DDL TRIGGER、ALTER ANY DATABASE EVENT NOTIFICATION、ALTER ANY DATABASE AUDIT、ALTER ANY DATABASE EVENT SESSION、KILL DATABASE CONNECTION、VIEW ANY COLUMN ENCRYPTION KEY DEFINITION、VIEW ANY COLUMN MASTER KEY DEFINITION、VIEW DATABASE STATE、VIEW DEFINITION、TAKE OWNERSHIP、ALTER、ALTER ANY MASK、UNMASK、EXECUTE ANY EXTERNAL SCRIPT、CONTROL

詳細については、「データベースレベルのロール」をご参照ください。

前提条件

作業を開始する前に、以下の条件を満たしていることを確認してください。

  • ApsaraDB RDS for SQL Server インスタンス

  • インスタンス上に作成済みの標準アカウントまたは特権アカウント

アカウント権限の変更

  1. インスタンス ページに移動します。トップナビゲーションバーで RDS インスタンスが配置されているリージョンを選択し、該当の RDS インスタンスを見つけてインスタンス ID をクリックします。

  2. 左側のナビゲーションウィンドウで アカウント をクリックします。

  3. 権限を変更するアカウントを見つけ、権限の変更 をクリックします。

    image.png

  4. アカウント権限の編集 パネルで、以下のとおり権限を設定します。

    • 許可するデータベースの変更: 権限を付与するデータベースを選択し、image.png または image.png アイコンをクリックして、許可済みリストと未許可リスト間でデータベースを移動します。

    • 権限レベルの設定: 許可済みデータベース セクションで、各データベースの権限レベルを選択します。

      • 読み取り専用: db_datareader データベースロールを割り当てます。

      • 読み取り/書き込み (DML): db_datareader および db_datawriter データベースロールを割り当てます。

      • オーナー: db_owner データベースロールを割り当てます。オーナー権限は、テーブルやスキーマの作成などのデータ定義言語 (DDL) 操作を含む、データベースに対する広範な制御を提供します。アカウントがこれらの機能を実際に必要とする場合にのみ、このレベルを割り当ててください。

  5. 確認ダイアログで OK をクリックします。

よくある質問

読み取り/書き込み (DML) 権限を持つアカウントでテーブルを作成できないのはなぜですか?

読み取り/書き込み (DML) 権限を持つアカウントには db_datareader および db_datawriter ロールが割り当てられており、これらはデータ処理 (SELECT、INSERT、UPDATE、DELETE) をカバーしますが、データ定義はカバーしません。CREATE TABLE 権限は含まれていません。

データベース内にテーブルを作成するには、以下のいずれかの方法を使用できます。

  • 方法 1: 必要な SQL ステートメントを実行します。詳細については、「データベース権限の付与 (Transact-SQL)」と「データベースレベルのロール」をご参照ください。

  • 方法 2: ApsaraDB RDS コンソールにログインします。ご利用の RDS インスタンスの アカウント ページで、アカウントの権限タイプを オーナー に変更します。オーナー権限タイプには、テーブル作成を含むほとんどの権限が付与されます。ただし、慎重に操作してください。

CREATE TABLE 権限のみを付与する必要がある場合は、方法 1 を使用してください。この方法の方がセキュリティレベルが高くなります。