• 05/24/2017
  • 4 minutes to read
    • V
    • w
    • M
    • j
    • D
    • +8
  • APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics Parallel Data Warehouse

    SQL Serverは、サーバー上の権限を管理するためにサーバーレベルのロールを提供します。 これらのロールは、他のプリンシパルをグループ化するセキュリティプリンシパルです。 サーバレベルのロールは、その権限範囲がサーバ全体に及びます。 (ロールは Windows オペレーティング システムのグループに似ています。)

    固定サーバー ロールは、利便性と後方互換性のために提供されます。 可能な限り、より具体的な権限を割り当てます。

    SQL Server は 9 つの固定サーバー ロールを提供します。 固定サーバー ロールに付与された権限(パブリックを除く)は変更できません。 SQL Server 2012(11.x)以降では、ユーザー定義のサーバー ロールを作成し、ユーザー定義のサーバー ロールにサーバー レベルの権限を追加できます。

    サーバー レベルのプリンシパル(SQL Server ログイン、Windows アカウント、および Windows グループ)をサーバー レベルのロールに追加することが可能です。 固定サーバー ロールの各メンバーは、その同じロールに他のログインを追加することができます。 ユーザー定義のサーバー ロールのメンバーは、そのロールに他のサーバー プリンシパルを追加できません。

    Note

    Server-level permissions are not available in SQL Database or Azure Synapse Analytics. SQL Databaseの詳細については、データベース アクセスの制御と許可を参照してください。

    固定サーバーレベル ロール

    次の表は、固定サーバーレベル ロールとその能力を示しています。

    固定サーバーレベルの役割 説明
    sysadmin sysadmin固定サーバー役割のメンバーはサーバーで任意の活動を行うことができます。
    serveradmin serveradmin 固定サーバーの役割のメンバーは、サーバー全体の構成オプションを変更し、サーバーをシャットダウンできます。
    securityadmin securityadmin 固定サーバーの役割のメンバーはログインとそのプロパティを管理します。 また、GRANTDENY、およびREVOKEサーバレベルパーミッションを使用できます。 また、データベースへのアクセス権を持っている場合、GRANT, DENY, REVOKE データベースレベルのパーミッションも与えることができます。 さらに、SQL Server ログインのパスワードをリセットできます。
    重要:データベース エンジンへのアクセスを許可し、ユーザー パーミッションを構成する機能により、セキュリティ管理者はほとんどのサーバー パーミッションを割り当てることができます。
    processadmin 固定サーバーの役割のメンバーは、SQL Server のインスタンスで実行中のプロセスを終了することができます。 (Management Studioを使用する場合はsysadminのメンバーシップが必要です。)
    bulkadmin バルクアドミン固定サーバーロールのメンバーは、BULK INSERT文を実行できます。
    diskadmin diskadmin固定サーバーロールはディスクファイルを管理するために使用されます。
    dbcreator dbcreator 固定サーバーロールのメンバーは、任意のデータベースを作成、変更、削除、および復元できます。
    public すべての SQL Server ログインは公開サーバーロールに所属しています。 サーバー プリンシパルが保護可能なオブジェクトに対して特定の権限を付与または拒否されていない場合、そのユーザーはそのオブジェクトで public に付与された権限を継承します。 オブジェクトの public 権限は、そのオブジェクトをすべてのユーザーが利用できるようにする場合にのみ割り当ててください。 publicのメンバーシップを変更することはできません。
    注意:publicは他のロールとは異なる実装で、public固定サーバーロールからパーミッションの付与、拒否、または取り消しが可能です。

    重要

    次のサーバロールが提供する権限のほとんどは、Synapse SQL – processadmin, serveradmin, setupadmin, and diskadminに適用できません。

    固定サーバロールの権限

    それぞれの固定サーバロールには特定の権限が割り当てられています。 次の図は、サーバー ロールに割り当てられた権限を示しています。

    Important

    CONTROL SERVER権限は、sysadmin固定サーバー ロールと似ていますが同じではありません。 パーミッションはロールメンバーシップを意味せず、ロールメンバーシップはパーミッションを付与しません。 (例: CONTROL SERVERはsysadmin固定サーバロールのメンバシップを意味しません)。 しかし、ロールと同等の権限の間でなりすますことが可能な場合もあります。 ほとんどのDBCCコマンドと多くのシステムプロシージャは、sysadmin固定サーバロールのメンバーシップを必要とします。 sysadminのメンバーシップを必要とする171のシステムストアドプロシージャのリストについては、Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation – caveats.

    サーバーレベル権限

    ユーザー定義のサーバーロールにはサーバーレベル権限のみを追加することが可能です。 サーバーレベルの権限を一覧表示するには、次のステートメントを実行します。 サーバーレベルの権限は次のとおりです。

SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name; 

権限の詳細については、「権限(データベースエンジン)」および「sys.fn_builtin_permissions(Transact-SQL)」を参照してください。

サーバーレベルのロールでの作業

次の表は、サーバーレベルのロールで作業できるコマンド、ビューおよび関数を説明したものです。

機能 タイプ 説明
sp_helpsrvrole (Transact-SQL) メタデータ サーバレベルのロールの一覧を返しました。
sp_helpsrvrolemember (Transact-SQL) Metadata サーバーレベル・ロールのメンバーについての情報を返します。
sp_srvrolepermission (Transact-SQL) Metadata サーバーレベルのロールの許可を表示します。
IS_SRVROLEMEMBER (Transact-SQL) Metadata SQL Serverログインが指定されたサーバーレベル役割のメンバーであるかどうか表示します。
sys.server_role_members (Transact-SQL) Metadata サーバーレベルの各ロールのメンバーについて1行ずつ返します。
sp_addsrvrolemember (Transact-SQL) Command ログインをサーバーレベル役割のメンバーとして追加します。 非推奨。 代わりにALTER SERVER ROLEを使用してください。
sp_dropsrvrolemember (Transact-SQL) Command SQLサーバーログインまたはWindowsユーザーまたはグループをサーバーレベルのロールから削除します。 非推奨。 代わりにALTER SERVER ROLEを使用してください。
CREATE SERVER ROLE (Transact-SQL) Command ユーザー定義のサーバーロールを作成します。
ALTER SERVER ROLE (Transact-SQL) Command サーバーロールのメンバーを変更、またはユーザー定義サーバーロールの名前を変更します。
DROP SERVER ROLE (Transact-SQL) Command ユーザー定義のサーバーロールを削除します。
IS_SRVROLEMEMBER (Transact-SQL) Function サーバーロールのメンバーシップを決定します。

関連項目

データベース レベルのロール
セキュリティ カタログ ビュー (Transact-SQL)
Security Functions (Transact-XML)
Database-Level Role (Transact-XML)
Security Catalog View (Transact-Level Role)
Database-Level Role (Transact-XML)SQL)
SQLサーバーのセキュリティ
GRANTサーバー主権限(Transact-SQL)
REVOKEサーバー主権限(Transact-SQL)
DENYサーバー主権限(Transact-SQL)
サーバー役割を作成する

コメントを残す

メールアドレスが公開されることはありません。