GRANT (Service Broker の権限の許可) (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
Service Broker コントラクト、メッセージ型、リモート バインド、ルート、またはサービスに対する権限を許可します。
構文
GRANT permission [ ,...n ] ON
{
[ CONTRACT :: contract_name ]
| [ MESSAGE TYPE :: message_type_name ]
| [ REMOTE SERVICE BINDING :: remote_binding_name ]
| [ ROUTE :: route_name ]
| [ SERVICE :: service_name ]
}
TO database_principal [ ,...n ]
[ WITH GRANT OPTION ]
[ AS granting_principal ]
引数
permission
Service Broker のセキュリティ保護可能なリソースに対して許可できる権限を指定します。 以下に一覧を示します。
CONTRACT ::contract_name
権限を許可するコントラクトを指定します。 スコープ修飾子 "::" が必要です。
MESSAGE TYPE ::message_type_name
権限を許可するメッセージ型を指定します。 スコープ修飾子 "::" が必要です。
REMOTE SERVICE BINDING ::remote_binding_name
権限を許可するリモート サービス バインドを指定します。 スコープ修飾子 "::" が必要です。
ROUTE ::route_name
権限を許可するルートを指定します。 スコープ修飾子 "::" が必要です。
SERVICE ::service_name
権限を許可するサービスを指定します。 スコープ修飾子 "::" が必要です。
database_principal
権限を許可するプリンシパルを指定します。 次のいずれかになります。
データベース ユーザー
データベース ロール (database role)
アプリケーション ロール (application role)
Windows ログインにマップされているデータベース ユーザー
Windows グループにマップされているデータベース ユーザー
証明書にマップされているデータベース ユーザー
非対称キーにマップされているデータベース ユーザー
サーバー プリンシパルにマップされていないデータベース ユーザー
GRANT OPTION
権限が許可されたプリンシパルが、この権限を他のプリンシパルにも許可できることを示します。
granting_principal
このクエリを実行するプリンシパルが権限を許可する権利を取得した、元のプリンシパルを指定します。 次のいずれかになります。
データベース ユーザー
データベース ロール (database role)
アプリケーション ロール (application role)
Windows ログインにマップされているデータベース ユーザー
Windows グループにマップされているデータベース ユーザー
証明書にマップされているデータベース ユーザー
非対称キーにマップされているデータベース ユーザー
サーバー プリンシパルにマップされていないデータベース ユーザー
注釈
Service Broker コントラクト
Service Broker コントラクトは、データベース レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているデータベースに含まれています。 次に、Service Broker コントラクトで許可できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に一覧で示します。
Service Broker コントラクト権限 | 権限が含まれる Service Broker コントラクト権限 | 権限が含まれるデータベース権限 |
---|---|---|
CONTROL | CONTROL | CONTROL |
TAKE OWNERSHIP | CONTROL | CONTROL |
ALTER | CONTROL | ALTER ANY CONTRACT |
REFERENCES | CONTROL | REFERENCES |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Service Broker メッセージ型
Service Broker メッセージ型は、データベース レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているデータベースに含まれています。 次に、Service Broker メッセージ型で許可できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に一覧で示します。
Service Broker メッセージ型権限 | 権限が含まれる Service Broker メッセージ型権限 | 権限が含まれるデータベース権限 |
---|---|---|
CONTROL | CONTROL | CONTROL |
TAKE OWNERSHIP | CONTROL | CONTROL |
ALTER | CONTROL | ALTER ANY MESSAGE TYPE |
REFERENCES | CONTROL | REFERENCES |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Service Broker リモート サービス バインド
Service Broker リモート サービス バインドは、データベース レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているデータベースに含まれています。 次に、Service Broker のリモート サービス バインドで許可できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に一覧で示します。
Service Broker リモート サービス バインド権限 | 権限が含まれる Service Broker リモート サービス バインド権限 | 権限が含まれるデータベース権限 |
---|---|---|
CONTROL | CONTROL | CONTROL |
TAKE OWNERSHIP | CONTROL | CONTROL |
ALTER | CONTROL | ALTER ANY REMOTE SERVICE BINDING |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Service Broker ルート
Service Broker ルートは、データベース レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているデータベースに含まれています。 次に、Service Broker ルートで許可できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に一覧で示します。
Service Broker ルート権限 | 権限が含まれる Service Broker ルート権限 | 権限が含まれるデータベース権限 |
---|---|---|
CONTROL | CONTROL | CONTROL |
TAKE OWNERSHIP | CONTROL | CONTROL |
ALTER | CONTROL | ALTER ANY ROUTE |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Service Broker サービス
Service Broker サービスは、データベース レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているデータベースに含まれています。 次に、Service Broker サービスで許可できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に一覧で示します。
Service Broker サービス権限 | 権限が含まれる Service Broker サービス権限 | 権限が含まれるデータベース権限 |
---|---|---|
CONTROL | CONTROL | CONTROL |
TAKE OWNERSHIP | CONTROL | CONTROL |
SEND | CONTROL | CONTROL |
ALTER | CONTROL | ALTER ANY SERVICE |
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 権限が許可されているユーザーは、スキーマ内のオブジェクトに対する権限を許可できます。
参照
SQL Server Service Broker (SQL Server Service Broker)
GRANT (Transact-SQL)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)