プリンシパル (データベース エンジン)
プリンシパルは、SQL Server リソースを要求できるエンティティです。 SQL Server の承認モデルの他のコンポーネントと同様に、プリンシパルは階層内に配置できます。 プリンシパルの効力のスコープは、プリンシパルの定義のスコープ (Windows、サーバー、データベース) と、プリンシパルが分割できないアイテムであるかコレクションであるかによって異なります。 分割できないプリンシパルの例には Windows ログインがあり、コレクションであるプリンシパルの例には Windows グループがあります。 各プリンシパルには、1 つのセキュリティ識別子 (SID) があります。
Windows レベルのプリンシパル
Windows ドメイン ログイン
Windows ローカル ログイン
SQL Server-level principals
SQL Server ログイン
サーバーの役割
データベース レベルのプリンシパル
データベース ユーザー
データベース ロール
アプリケーション ロール
SQL Server sa ログイン
SQL Server sa ログインは、サーバー レベルのプリンシパルです。 このログインは、インスタンスのインストール時に既定で作成されます。 SQL Server 2005 以降では、sa の既定のデータベースは master です。 これは、以前のバージョンの SQL Serverの動作から変更されています。
public データベース ロール
データベース ユーザーはすべて、 public データベース ロールに属しています。 セキュリティ保護可能なリソースに対する特定の権限が与えられていないか権限が拒否されたユーザーは、public がそのリソースに対して許可されている権限を継承します。
INFORMATION_SCHEMA と sys
各データベースには、カタログ ビューにユーザーとして表示される 2 つのエンティティ INFORMATION_SCHEMA および sys が含まれています。 これらのエンティティは、SQL Server で必要です。 これらのエンティティはプリンシパルではなく、変更も削除もできません。
証明書ベースの SQL Server ログイン
名前が 2 つの番号記号 (##) で囲まれたサーバー プリンシパルは、内部システムでのみ使用されます。 SQL Server のインストール時に証明書から作成される以下のプリンシパルは、削除しないでください。
##MS_SQLResourceSigningCertificate##
##MS_SQLReplicationSigningCertificate##
##MS_SQLAuthenticatorCertificate##
##MS_AgentSigningCertificate##
##MS_PolicyEventProcessingLogin##
##MS_PolicySigningCertificate##
##MS_PolicyTsqlExecutionLogin##
guest ユーザー
各データベースには、 guestが含まれます。 データベースにはアクセスできるが、データベース内のユーザー アカウントは持っていないユーザーは、 guest ユーザーに許可された権限を継承します。 guest ユーザーは削除できませんが、CONNECT
アクセス許可を取り消すことで無効にできます。 CONNECT
権限は、master または tempdb 以外の任意のデータベース内でREVOKE CONNECT FROM GUEST
を実行することで取り消すことができます。
クライアントとデータベース サーバー
定義上、クライアントとデータベース サーバーはセキュリティ プリンシパルであり、セキュリティで保護できます。 これらのエンティティは、安全なネットワーク接続が確立される前に相互に認証できます。 SQL Server では、 Kerberos 認証プロトコルがサポートされています。これは、クライアントがネットワーク認証サービスと対話する方法を定義します。
Related Tasks
SQL Server オンライン ブックのこのセクションの内容は次のとおりです。
参照
SQL Server の保護
sys.database_principals (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.sql_logins (Transact-SQL)
sys.database_role_members (Transact-SQL)
サーバーレベルのロール
データベース レベルのロール