Amazon RDS for SQL Server のデータベース名の表示を拒否または許可する - Amazon Relational Database Service

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 アクセス許可を設定します。変更はセカンダリホストに自動的に伝播されます。

  • このアクセス許可は、ログインがデータベース名を表示できるかどうかのみを変更します。ただし、データベースとその内部のオブジェクトへのアクセスは個別に管理されます。