ApsaraDB RDS for SQL Server は、特権、標準、グローバル読み取り専用の 3 種類のデータベースアカウントをサポートしています。このトピックでは、各タイプの使用シーンと、コンソールで作成する方法について説明します。
アカウントタイプの選択
| アカウントタイプ | 既存のデータベースに対する権限 | 新しいデータベースに対する権限 | インスタンスあたりの上限数 |
|---|---|---|---|
| 特権 | 作成時にすべてのデータベースに対する db_owner 権限が自動的に付与されます | アクセス権なし。コンソール経由で手動で付与します | インスタンスあたり 1 つ |
| 標準 | デフォルトでは権限なし。作成時にデータベースごとに読み取り/書き込み、読み取り専用、またはオーナー権限を付与します | アクセス権なし。手動で付与します | 制限なし |
| グローバル読み取り専用 | 作成時にすべてのデータベースに対する読み取り専用権限が自動的に付与されます (master および rdscore (存在する場合) を除く) | 読み取り専用権限が自動的に付与されます | インスタンスあたり 2 つ |
各タイプの使用シーン:
特権アカウント: プライマリ管理アカウントとして使用します。既存のすべてのデータベースに対する
db_ownerアクセス権が自動的に付与されるため、インスタンス全体の DBA タスクに適しています。標準アカウント: アプリケーション接続やロールベースのアクセスに使用します。データベースごと、ロールごと (読み取り/書き込み、読み取り専用、またはオーナー) に権限を割り当て、最小権限の原則を遵守します。
グローバル読み取り専用アカウント: 分析、レポート作成、モニタリングなど、読み取り負荷の高いワークロードに使用します。データベースごとの権限付与を必要とせず、現在および将来のすべてのデータベースを自動的にカバーします。
前提条件
開始する前に、以下を確認してください。
実行中の ApsaraDB RDS for SQL Server インスタンス
インスタンス上の最初のアカウントとして、特権アカウントまたは スーパーユーザーアカウント (SA 権限) が存在すること — 標準アカウントとグローバル読み取り専用アカウントは、これらのいずれかが存在した後にのみ作成できます
(グローバル読み取り専用アカウントのみ) 汎用または専用インスタンスファミリーで SQL Server 2016 以降を実行しているインスタンス
アカウントの作成
[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。インスタンス ID をクリックします。
左側のナビゲーションウィンドウで、[アカウント] をクリックします。
[アカウントの作成] をクリックし、アカウントタイプに応じたパラメーターを入力します。
特権アカウント
| パラメーター | 説明 |
|---|---|
| データベースアカウント | 先頭が英字で、末尾が英字または数字の名前を入力します。名前には小文字の英字、数字、アンダースコア (_) を使用できます。キーワードの使用は避けてください。 |
| アカウントタイプ | [特権アカウント] を選択します。インスタンスごとに 1 つの特権アカウントが許可されます。 |
| 新しいパスワード | 8~32 文字。大文字、小文字、数字、特殊文字 (!@#$%^&*()_+-=) のうち、少なくとも 3 種類を含める必要があります。 |
| パスワードの確認 | パスワードを再入力します。 |
| パスワードポリシーの適用 | (オプション) パスワードポリシーを適用して、有効期間を制御し、セキュリティを強化します。 |
| 説明 | (オプション) 256 文字まで。 |
標準アカウント
| パラメーター | 説明 |
|---|---|
| データベースアカウント | 先頭が英字で、末尾が英字または数字の名前を入力します。名前には小文字の英字、数字、アンダースコア (_) を使用できます。キーワードの使用は避けてください。 |
| アカウントタイプ | [標準アカウント] を選択します。 |
| データベースの権限付与 | (オプション) 1 つ以上のデータベースへのアクセス権をアカウントに付与します。[未承認のデータベース] リストでデータベースを選択し、 |
| 新しいパスワード | 8~32 文字。大文字、小文字、数字、特殊文字 (!@#$%^&*()_+-=) のうち、少なくとも 3 種類を含める必要があります。 |
| パスワードの確認 | パスワードを再入力します。 |
| パスワードポリシーの適用 | (オプション) パスワードポリシーを適用して、有効期間を制御し、セキュリティを強化します。 |
| 説明 | (オプション) 256 文字まで。 |
グローバル読み取り専用アカウント
| パラメーター | 説明 |
|---|---|
| データベースアカウント | 先頭が英字で、末尾が英字または数字の名前を入力します。名前には小文字の英字、数字、アンダースコア (_) を使用できます。キーワードの使用は避けてください。 |
| アカウントタイプ | [グローバル読み取り専用アカウント] を選択します。インスタンスごとに 2 つのグローバル読み取り専用アカウントが許可されます。作成後、アカウントには既存のすべてのデータベースと、後で追加されるすべてのデータベースに対する読み取り専用アクセス権が自動的に付与されます。 |
| 新しいパスワード | 8~32 文字。大文字、小文字、数字、特殊文字 (!@#$%^&*()_+-=) のうち、少なくとも 3 種類を含める必要があります。 |
| パスワードの確認 | パスワードを再入力します。 |
| パスワードポリシーの適用 | (オプション) パスワードポリシーを適用して、有効期間を制御し、セキュリティを強化します。 |
| 説明 | (オプション) 256 文字まで。 |
[OK] をクリックします。ページが更新されると、アカウントがアカウントリストに表示されます。
権限の動作リファレンス
データベースが追加、削除、または再作成されると、アカウントタイプごとに動作が異なります。これを理解することで、予期しないアクセス問題を回避できます。
特権アカウント
| シナリオ | 動作 |
|---|---|
| アカウントの作成 | 既存のすべてのデータベースに対する db_owner 権限が自動的に付与されます。 |
| 新しいデータベースの追加 | アクセス権なし。アカウントの権限範囲を変更して、新しいデータベースに db_owner 権限を付与します。 |
| アカウントの削除 | アカウントとそのすべての権限が完全に削除されます。 |
| アカウントの再作成 | 使用されたアカウント名に関係なく、既存のすべてのデータベースに対する db_owner 権限が自動的に付与されます。新しいデータベースには、引き続き手動での権限更新が必要です。 |
標準アカウント
| シナリオ | 動作 |
|---|---|
| アカウントの作成 | 作成時にデータベースを承認しない限り、権限はありません。 |
| 新しいデータベースの追加 | アクセス権なし。手動でデータベースを追加し、権限を設定します。 |
| アカウント削除 | アカウントとすべての権限が完全に削除されます。このアカウントを使用するアプリケーション接続は失敗します — アプリケーションの認証情報を速やかに更新してください。 |
| 同じ名前でアカウントを再作成 | 権限なしの状態で開始されます。元の権限は復元されません。データベースを手動で再承認してください。 |
グローバル読み取り専用アカウント
| シナリオ | 動作 |
|---|---|
| アカウントの作成 | 既存のすべてのデータベースに対する読み取り専用アクセス権が自動的に付与されます。master または rdscore (存在する場合) システムデータベースへのアクセス権はありません。 |
| 新しいデータベースの追加 | 読み取り専用アクセス権が自動的に付与されます。手動での操作は不要です。 |
| アカウントの削除 | アカウントとそのすべての読み取り専用権限が完全に削除されます。 |
| アカウントの再作成 | 既存のすべてのデータベースに対する読み取り専用アクセス権が自動的に付与されます。新しいデータベースも自動的にカバーされます。 |
セキュリティのベストプラクティス
強力なパスワードを使用する。複雑なパスワードを設定し、定期的にローテーションします。パスワードポリシーを適用して、有効期限ルールを強制します。
最小権限を適用する。ビジネスロールに基づいてアカウントを作成し、各ロールが必要とする権限のみを割り当てます。書き込みアクセスが不要な場合は、読み取り専用権限を使用します。
アプリケーションで特権アカウントを使用しない。代わりに、アプリケーション接続には権限範囲が限定された標準アカウントを使用します。
よくある質問
プライマリインスタンスで作成されたアカウントは、読み取り専用インスタンスで使用できますか?
パスワードの複雑性要件なしでアカウントを作成するにはどうすればよいですか?
アカウントが「無効」と表示され、「アカウントは無効です。」というエラーが返されるのはなぜですか?
CreateAccount が AccountLimitExceeded を返すのはなぜですか?
次のステップ
コンソールを使用して SA 権限を持つデータベースアカウントを作成します。
新しいデータベースを追加した後に アカウント権限を変更します。
API 経由でアカウントを作成する:CreateAccount。
API 経由でアカウントを削除する:DeleteAccount。




