次の方法で共有


GRANT (アセンブリの権限の許可) (Transact-SQL)

アセンブリに対する権限を許可します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

GRANT { permission [ ,...n ] } ON ASSEMBLY :: assembly_name
    TO database_principal [ ,...n ]
    [ WITH GRANT OPTION ]
    [ AS granting_principal ]

引数

  • permission
    アセンブリで許可できる権限を指定します。下の表を参照してください。

  • ON ASSEMBLY **::**assembly_name
    権限を許可するアセンブリを指定します。スコープ修飾子 "::" が必要です。

  • database_principal
    権限を許可するプリンシパルを指定します。次のいずれかです。

    • データベース ユーザー

    • データベース ロール

    • アプリケーション ロール

    • Windows ログインにマップされているデータベース ユーザー

    • Windows グループにマップされているデータベース ユーザー

    • 証明書にマップされているデータベース ユーザー

    • 非対称キーにマップされているデータベース ユーザー

    • サーバー プリンシパルにマップされていないデータベース ユーザー

  • GRANT OPTION
    権限が許可されたプリンシパルが、この権限を他のプリンシパルにも許可できることを示します。

  • AS granting_principal
    このクエリを実行するプリンシパルが権限を許可する権利を取得した、元のプリンシパルを指定します。次のいずれかです。

    • データベース ユーザー

    • データベース ロール

    • アプリケーション ロール

    • Windows ログインにマップされているデータベース ユーザー

    • Windows グループにマップされているデータベース ユーザー

    • 証明書にマップされているデータベース ユーザー

    • 非対称キーにマップされているデータベース ユーザー

    • サーバー プリンシパルにマップされていないデータベース ユーザー

説明

アセンブリは、データベース レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているデータベースに含まれています。次に、アセンブリで許可できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に示します。

アセンブリ権限

権限が含まれるアセンブリ権限

権限が含まれるデータベース権限

CONTROL

CONTROL

CONTROL

TAKE OWNERSHIP

CONTROL

CONTROL

ALTER

CONTROL

ALTER ANY ASSEMBLY

REFERENCES

CONTROL

REFERENCES

VIEW DEFINITION

CONTROL

VIEW DEFINITION

権限

権限の許可者 (または AS オプションで指定されたプリンシパル) は、GRANT OPTION によって与えられた権限を保持しているか、権限が暗黙的に与えられる上位の権限を保持している必要があります。

AS オプションを使用する場合は、次の追加要件があります。

AS granting_principal

必要な追加権限

データベース ユーザー

ユーザーに対する IMPERSONATE 権限、db_securityadmin 固定データベース ロールのメンバシップ、db_owner 固定データベース ロールのメンバシップ、または sysadmin 固定サーバー ロールのメンバシップ。

Windows ログインにマップされているデータベース ユーザー

ユーザーに対する IMPERSONATE 権限、db_securityadmin 固定データベース ロールのメンバシップ、db_owner 固定データベース ロールのメンバシップ、または sysadmin 固定サーバー ロールのメンバシップ。

Windows グループにマップされているデータベース ユーザー

Windows グループのメンバシップ、db_securityadmin 固定データベース ロールのメンバシップ、db_owner 固定データベース ロールのメンバシップ、または sysadmin 固定サーバー ロールのメンバシップ。

証明書にマップされているデータベース ユーザー

db_securityadmin 固定データベース ロールのメンバシップ、db_owner 固定データベース ロールのメンバシップ、または sysadmin 固定サーバー ロールのメンバシップ。

非対称キーにマップされているデータベース ユーザー

db_securityadmin 固定データベース ロールのメンバシップ、db_owner 固定データベース ロールのメンバシップ、または sysadmin 固定サーバー ロールのメンバシップ。

サーバー プリンシパルにマップされていないデータベース ユーザー

ユーザーに対する IMPERSONATE 権限、db_securityadmin 固定データベース ロールのメンバシップ、db_owner 固定データベース ロールのメンバシップ、または sysadmin 固定サーバー ロールのメンバシップ。

データベース ロール

ロールに対する ALTER 権限、db_securityadmin 固定データベース ロールのメンバシップ、db_owner 固定データベース ロールのメンバシップ、または sysadmin 固定サーバー ロールのメンバシップ。

アプリケーション ロール

ロールに対する ALTER 権限、db_securityadmin 固定データベース ロールのメンバシップ、db_owner 固定データベース ロールのメンバシップ、または sysadmin 固定サーバー ロールのメンバシップ。

オブジェクトの所有者は、所有するオブジェクトの権限を許可できます。セキュリティ保護可能なリソースに対して CONTROL 権限があるプリンシパルは、そのリソースの権限を許可できます。

sysadmin 固定サーバー ロールのメンバなど、CONTROL SERVER 権限が許可されているユーザーは、サーバー内のセキュリティ保護可能なリソースに対する権限を許可できます。db_owner 固定データベース ロールのメンバなど、データベースに対する CONTROL 権限が許可されているユーザーは、データベース内のセキュリティ保護可能なリソースに対する権限を許可できます。スキーマに対する CONTROL 権限が許可されているユーザーは、スキーマ内のオブジェクトに対する権限を許可できます。