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

ApsaraDB RDS:標準、特権、およびグローバル読み取り専用アカウントの作成

最終更新日:Mar 29, 2026

ApsaraDB RDS for SQL Server は、特権、標準、グローバル読み取り専用の 3 種類のデータベースアカウントをサポートしています。このトピックでは、各タイプの使用シーンと、コンソールで作成する方法について説明します。

アカウントタイプの選択

アカウントタイプ既存のデータベースに対する権限新しいデータベースに対する権限インスタンスあたりの上限数
特権作成時にすべてのデータベースに対する db_owner 権限が自動的に付与されますアクセス権なし。コンソール経由で手動で付与しますインスタンスあたり 1 つ
標準デフォルトでは権限なし。作成時にデータベースごとに読み取り/書き込み、読み取り専用、またはオーナー権限を付与しますアクセス権なし。手動で付与します制限なし
グローバル読み取り専用作成時にすべてのデータベースに対する読み取り専用権限が自動的に付与されます (master および rdscore (存在する場合) を除く)読み取り専用権限が自動的に付与されますインスタンスあたり 2 つ

各タイプの使用シーン:

  • 特権アカウント: プライマリ管理アカウントとして使用します。既存のすべてのデータベースに対する db_owner アクセス権が自動的に付与されるため、インスタンス全体の DBA タスクに適しています。

  • 標準アカウント: アプリケーション接続やロールベースのアクセスに使用します。データベースごと、ロールごと (読み取り/書き込み、読み取り専用、またはオーナー) に権限を割り当て、最小権限の原則を遵守します。

  • グローバル読み取り専用アカウント: 分析、レポート作成、モニタリングなど、読み取り負荷の高いワークロードに使用します。データベースごとの権限付与を必要とせず、現在および将来のすべてのデータベースを自動的にカバーします。

前提条件

開始する前に、以下を確認してください。

  • 実行中の ApsaraDB RDS for SQL Server インスタンス

  • インスタンス上の最初のアカウントとして、特権アカウントまたは スーパーユーザーアカウント (SA 権限) が存在すること — 標準アカウントとグローバル読み取り専用アカウントは、これらのいずれかが存在した後にのみ作成できます

  • (グローバル読み取り専用アカウントのみ) 汎用または専用インスタンスファミリーで SQL Server 2016 以降を実行しているインスタンス

アカウントの作成

  1. [インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。インスタンス ID をクリックします。

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

  3. [アカウントの作成] をクリックし、アカウントタイプに応じたパラメーターを入力します。

特権アカウント

パラメーター説明
データベースアカウント先頭が英字で、末尾が英字または数字の名前を入力します。名前には小文字の英字、数字、アンダースコア (_) を使用できます。キーワードの使用は避けてください。
アカウントタイプ[特権アカウント] を選択します。インスタンスごとに 1 つの特権アカウントが許可されます。
新しいパスワード8~32 文字。大文字、小文字、数字、特殊文字 (!@#$%^&*()_+-=) のうち、少なくとも 3 種類を含める必要があります。
パスワードの確認パスワードを再入力します。
パスワードポリシーの適用(オプション) パスワードポリシーを適用して、有効期間を制御し、セキュリティを強化します。
説明(オプション) 256 文字まで。

標準アカウント

パラメーター説明
データベースアカウント先頭が英字で、末尾が英字または数字の名前を入力します。名前には小文字の英字、数字、アンダースコア (_) を使用できます。キーワードの使用は避けてください。
アカウントタイプ[標準アカウント] を選択します。
データベースの権限付与(オプション) 1 つ以上のデータベースへのアクセス権をアカウントに付与します。[未承認のデータベース] リストでデータベースを選択し、image.png をクリックして [承認済みのデータベース] に移動し、権限を [読み取り/書き込み (DML)][読み取り専用]、または [オーナー] に設定します。このステップをスキップした場合、アカウントはデータベースへのアクセス権なしで作成されます。権限レベルの詳細については、「アカウント権限」をご参照ください。
新しいパスワード8~32 文字。大文字、小文字、数字、特殊文字 (!@#$%^&*()_+-=) のうち、少なくとも 3 種類を含める必要があります。
パスワードの確認パスワードを再入力します。
パスワードポリシーの適用(オプション) パスワードポリシーを適用して、有効期間を制御し、セキュリティを強化します。
説明(オプション) 256 文字まで。

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

パラメーター説明
データベースアカウント先頭が英字で、末尾が英字または数字の名前を入力します。名前には小文字の英字、数字、アンダースコア (_) を使用できます。キーワードの使用は避けてください。
アカウントタイプ[グローバル読み取り専用アカウント] を選択します。インスタンスごとに 2 つのグローバル読み取り専用アカウントが許可されます。作成後、アカウントには既存のすべてのデータベースと、後で追加されるすべてのデータベースに対する読み取り専用アクセス権が自動的に付与されます。
新しいパスワード8~32 文字。大文字、小文字、数字、特殊文字 (!@#$%^&*()_+-=) のうち、少なくとも 3 種類を含める必要があります。
パスワードの確認パスワードを再入力します。
パスワードポリシーの適用(オプション) パスワードポリシーを適用して、有効期間を制御し、セキュリティを強化します。
説明(オプション) 256 文字まで。
  1. [OK] をクリックします。ページが更新されると、アカウントがアカウントリストに表示されます。

権限の動作リファレンス

データベースが追加、削除、または再作成されると、アカウントタイプごとに動作が異なります。これを理解することで、予期しないアクセス問題を回避できます。

特権アカウント

シナリオ動作
アカウントの作成既存のすべてのデータベースに対する db_owner 権限が自動的に付与されます。
新しいデータベースの追加アクセス権なし。アカウントの権限範囲を変更して、新しいデータベースに db_owner 権限を付与します。
アカウントの削除アカウントとそのすべての権限が完全に削除されます。
アカウントの再作成使用されたアカウント名に関係なく、既存のすべてのデータベースに対する db_owner 権限が自動的に付与されます。新しいデータベースには、引き続き手動での権限更新が必要です。

標準アカウント

シナリオ動作
アカウントの作成作成時にデータベースを承認しない限り、権限はありません。
新しいデータベースの追加アクセス権なし。手動でデータベースを追加し、権限を設定します。
アカウント削除アカウントとすべての権限が完全に削除されます。このアカウントを使用するアプリケーション接続は失敗します — アプリケーションの認証情報を速やかに更新してください。
同じ名前でアカウントを再作成権限なしの状態で開始されます。元の権限は復元されません。データベースを手動で再承認してください。

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

シナリオ動作
アカウントの作成既存のすべてのデータベースに対する読み取り専用アクセス権が自動的に付与されます。master または rdscore (存在する場合) システムデータベースへのアクセス権はありません。
新しいデータベースの追加読み取り専用アクセス権が自動的に付与されます。手動での操作は不要です。
アカウントの削除アカウントとそのすべての読み取り専用権限が完全に削除されます。
アカウントの再作成既存のすべてのデータベースに対する読み取り専用アクセス権が自動的に付与されます。新しいデータベースも自動的にカバーされます。

セキュリティのベストプラクティス

  • 強力なパスワードを使用する。複雑なパスワードを設定し、定期的にローテーションします。パスワードポリシーを適用して、有効期限ルールを強制します。

  • 最小権限を適用する。ビジネスロールに基づいてアカウントを作成し、各ロールが必要とする権限のみを割り当てます。書き込みアクセスが不要な場合は、読み取り専用権限を使用します。

  • アプリケーションで特権アカウントを使用しない。代わりに、アプリケーション接続には権限範囲が限定された標準アカウントを使用します。

よくある質問

プライマリインスタンスで作成されたアカウントは、読み取り専用インスタンスで使用できますか?

プライマリインスタンスで作成されたアカウントは、その読み取り専用インスタンスに自動的に同期されます。読み取り専用インスタンスでは、アカウントは読み取り専用権限のみを持ち、書き込み操作は許可されません。読み取り専用インスタンスでのアカウント管理はサポートされていません。

パスワードの複雑性要件なしでアカウントを作成するにはどうすればよいですか?

重要

単純なパスワードは不正アクセスのリスクを高めます。すべてのデータベースアカウントに強力なパスワードを使用し、定期的に変更してください。

デフォルトでは、ApsaraDB RDS for SQL Server は、パスワードが 8~32 文字で、3 種類以上の文字タイプ (大文字、小文字、数字、特殊文字) を含むことを要求します。特定のアカウントでこれをバイパスするには、コンソールや API の代わりに SQL Server Management Studio (SSMS) を使用します:

  1. RDS インスタンスにユーザーアカウント A を作成し、SSMS を使用して SQL Server インスタンスに接続します。

    DMS は master データベースへの切り替えをサポートしていません。以下の手順には SSMS を使用してください。
  2. アカウント A を使用して、CHECK_POLICY=OFF を指定してターゲットアカウントを作成します:

    -- master データベースに切り替えます
    USE master
    GO
    -- パスワードポリシーと有効期限のチェックを無効にしてターゲットアカウントを作成します
    CREATE LOGIN [TargetAccountName] WITH PASSWORD=N'TargetAccountPassword', CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
    GO
    -- アカウントを有効にします
    ALTER LOGIN [TargetAccountName] ENABLE
    GO

    CHECK_POLICY=OFF はパスワードの複雑性チェックを無効にします。CHECK_EXPIRATION=OFF はパスワードの有効期限を無効にします。

ユーザー単位でパスワードルールを管理するには、RDS コンソールで パスワードポリシーをカスタマイズします。

アカウントが「無効」と表示され、「アカウントは無効です。」というエラーが返されるのはなぜですか?

症状

コンソールまたは API を介して作成されたアカウントは、デフォルトでアクティブです。アカウントが [アカウント] ページで [無効] と表示され、ログイン時に アカウントは無効です。 というエラーが返される場合、そのアカウントは作成時に SQL で無効にされたか、後で手動で無効にされたかのいずれかです。

imageimage

アカウントを再度有効にするには、アクティブなアカウントを使用して SSMS 経由で インスタンスに接続し、次のいずれかの方法を選択します:

  • 方法 1: SSMS GUI を使用する。オブジェクトエクスプローラーでログインを右クリックし、[プロパティ] を開き、ステータスを [有効] に設定します。

    image

  • 方法 2: SQL ステートメントを使用する。現在のアカウントステータスを確認します:

    SELECT
        name AS LoginName,
        is_disabled AS IsDisabled   -- 1 = 無効, 0 = 有効
    FROM sys.server_principals
    WHERE name = 'ReplaceWithTargetLoginName';

    is_disabled = 1 の場合、アカウントを有効にします:

    ALTER LOGIN [ReplaceWithTargetLoginName] ENABLE;

    image

    image

原因

ソリューション

CreateAccount が AccountLimitExceeded を返すのはなぜですか?

AccountLimitExceeded エラーは、インスタンスが要求されたアカウントタイプの上限に達したことを意味します。各インスタンスでは、1 つの特権アカウントと 1 つの Sysadmin アカウントが許可されます。特権アカウントは削除できないことに注意してください。

作成しようとしているアカウントのタイプと、それが既に存在するかどうかを確認してください:

AccountType の値アカウントタイプ解決策
Normal標準アカウント制限なし — このエラーは表示されないはずです。他のパラメーターを確認してください。
Super特権アカウント[アカウント] ページを開き、特権アカウントが既に存在するかどうかを確認します。存在する場合は、別のものを作成しないでください。
SysadminSysadmin アカウント[アカウント] ページを開き、Sysadmin アカウントが既に存在するかどうかを確認します。存在する場合は、別のものを作成しないでください。

次のステップ