Amazon RDS for SQL Server のデータベース名の表示を拒否または許可する
マスターユーザーは DENY VIEW ANY DATABASE TO を設定して、ユーザーにデータベースを非表示にすることはできません。このアクセス許可を変更するには、代わりに次のストアドプロシージャを使用します。LOGIN
-
LOGINへのデータベースの表示アクセスを拒否する:EXEC msdb.dbo.rds_manage_view_db_permission @permission=‘DENY’, @server_principal=‘LOGIN’go -
LOGINへのデータベースの表示アクセスを許可する:EXEC msdb.dbo.rds_manage_view_db_permission @permission='GRANT', @server_principal='LOGIN'go
このストアドプロシージャを使用する場合は、次の点を考慮してください。
-
データベース名は、SSMS および内部 DMV (動的管理ビュー) には非表示になります。ただし、データベース名は監査、ログ、メタデータテーブルでは引き続き表示可能です。これらは保護されている
VIEW ANY DATABASEサーバーアクセス許可です。詳細については、「サーバーの権限の拒否」を参照してください。 -
権限が
GRANT(許可) に戻されると、LOGINはすべてのデータベースを表示できます。 -
LOGINを削除して再作成すると、LOGIN に関連する表示アクセス許可がALLOWにリセットされます。 -
マルチ AZ インスタンスの場合は、プライマリホストの
LOGINにのみDENYまたはGRANTアクセス許可を設定します。変更はセカンダリホストに自動的に伝播されます。 -
このアクセス許可は、ログインがデータベース名を表示できるかどうかのみを変更します。ただし、データベースとその内部のオブジェクトへのアクセスは個別に管理されます。