Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ データベース管理 » ユーザとデータベースのセキュリティ » ユーザのセキュリティ (ロールと権限) » 同一化

 

同一化の最低の基準の詳細

最低の基準が満たされている場合にだけ、ユーザは他のユーザの同一化を正常に行えます。基準の検証は、SET USER システム権限が付与される時ではなく、SETUSER 文が実行されるときに行われます。SETUSER 文の発行時にユーザが基準を満たしていない場合、同一化の試行は失敗し、エラーが返されます。

正常の同一化のための基準は次の 4 つです。

  1. 同一化実行者にターゲットユーザを同一化する権限が付与されていること。

  2. 同一化実行者は、最低でもターゲットユーザに付与されているすべてのロールとシステム権限を持っていること。

  3. 同一化実行者に、同様またはそれ以上の管理権限を持つロールとシステム権限が付与されていること。

    管理権限の基準を満たすという目的のため、WITH ADMIN OPTION および WITH ADMIN ONLY OPTION 句が同様の管理権限を付与するとみなされること。また、WITH NO ADMIN OPTION 句以上の管理権限を付与するともみなされること。たとえば、User1 は WITH ADMIN OPTION 句で Role1 を付与され、User2 は WITH ADMIN ONLY 句で Role1 を付与され、User3 は WITH NO ADMIN OPTION 句で Role1 を付与されます。User1 と User2 は、同様の管理権限を持つ Role1 を持っているとみなされます。また、User1 と User2 は、User 3 以上の管理権限を持つ Role1 を持っているともみなされます。

  4. 「拡張」とも呼ばれる追加のパラメータをサポートするシステム権限がターゲットユーザに付与されている場合 (たとえば、SET USER システム権限を付与するときにユーザ ID のリストを提供できます)、同一化実行者にシステム権限を付与するために使用される句は、ターゲットユーザに使用されるもののスーパーセットです。

    現在、拡張をサポートするのは SET USER システム権限と CHANGE PASSWORD システム権限のみです。SET USER および CHANGE PASSWORD を同一化実行者に付与するときに指定される拡張は、ターゲットユーザに SET USER または CHANGE PASSWORD が付与されたときに指定された拡張と同等またはそのスーパーセットである必要があります。これは次のように評価されます。

    • ANY 拡張は role-list 拡張 (ロールのリスト) および users-list 拡張 (ユーザのリスト) に対するスーパーセットとみなされます。ターゲットユーザが ANY 拡張を含む SET USER システム権限 (たとえば、GRANT SET USER ANY TO user1) を持つ場合、同一化実行者も ANY 拡張を持っている必要があります。

    • ターゲットユーザが role-listusers-list 両方の拡張を含む SET USER システム権限を持っている場合、同一化実行者も 2 つの拡張を含むシステム権限を持つ必要があり、各拡張はターゲットユーザの対応する拡張と同等またはそのスーパーセットである必要があります。たとえば、同一化実行者とターゲットユーザ両方の拡張リストに User1、User2 および Role1、Role2 がそれぞれ含まれる場合、各句のターゲットリストの付与は同等とみなされます。代わりに、同一化実行者の users-list に User1、User2、Role1、Role2 がそれぞれ含まれる場合、ターゲットユーザの users-list には User1、Role2 のみが含まれ、同一化実行者の users-list はターゲットユーザのリストのスーパーセットとみなされます。

    • ターゲットユーザに 1 つのリスト拡張を含む SET USER システム権限がある場合、同一化実行者の拡張リストは、ターゲットユーザのリストと同等またはそのスーパーセットである必要があります。たとえば、同一化実行者とターゲットユーザ両方の user_list に User1 と User2 が含まれる場合、両者は同等とみなされます。同一化実行者の user_list に User1、User2 が含まれる場合、ターゲットユーザの user_list には User2 のみが含まれ、同一化実行者の user_list はターゲットユーザの user_list のスーパーセットとみなされます。

    したがって、同一化実行者は、使用できるユーザを制限する拡張を含む SET USER または CHANGE PASSWORD システム権限を持つが、ターゲットユーザは制限のないシステム権限を持つ場合、拡張に関する最低の基準を満たしていないため、同一化実行者は同一化に失敗します。

 シナリオ 1
 シナリオ 2
 シナリオ 3
 参照