SQL Anywhere 16.0 には、ロールベースのセキュリティモデルが導入されています。このモデルでは、以前の権限 (authority)、パーミッション、オブジェクトレベルのパーミッション、グループに代わって、ロール、システム権限、オブジェクトレベルの権限 (privilege)、ユーザ拡張ロールが使用されます。
SQL Anywhere 16.0 データベースサーバは、16.0 より前のバージョンのデータベースと併用できます。この場合は、そのデータベースに対して完全な下位互換性が提供され、そのセキュリティモデルは変更されません。
16.0 より前のバージョンのデータベースでは、「権限」 (authority) はデータベースレベルのパーミッションでした。たとえば、バックアップ権限を持つユーザはデータベースをバックアップできます。一部の権限には、オブジェクトレベルのパーミッションも付属しています。たとえば、PROFILE 権限を持つユーザは、アプリケーションプロファイリングやデータベーストレーシングのタスクを実行できます。これに使用するシステムプロシージャは、この権限のないユーザには使用できません。新しい権限の作成、権限を構成するパーミッションの変更と削除は実行できません。管理権限を付与する (WITH GRANT) ことはできますが、管理者であることのみに限定して付与することはできません。
「ロール」は、機能面で権限 (authority) に代わるものであり、さらに、新しいロールの作成、ロールを構成する権限 (privilege) の変更、およびロールの削除が可能であるという利点を備えています。ロールと権限 (priviege) を使用すると、ユーザに付与する権限をさらにきめ細かく制御でき、他のユーザに対してより容易に付与できるようになります。また、管理権限のみのロールをユーザに付与することもできます。つまり、ユーザは、ロールの付与と取り消しを行うことはできますが、その基本となる権限を行使することはできません。
16.0 より前のバージョンのデータベースでは、「パーミッション」があれば、テーブル、ビュー、ユーザなどのデータベースオブジェクトの作成、変更、クエリ、使用、または削除を行うことができました。たとえば、テーブルに対する SELECT パーミッションなどです。
「権限」 (privilege) は、機能面でパーミッションに代わるものであり、さらに、パーミッションより数多くの権限があるという利点があります。データベースオブジェクトに実行できる、権限が必要な操作にはそれぞれ、付与可能な権限があります。ユーザには、権限を個別に付与するか、ロールを付与することができます。パーミッションという用語は、なくなったわけではありませんが、意味が少し変わりました。パーミッションという用語の以前の意味は、ユーザに付与できる能力でした。現在、パーミッションとは、操作を実行できるかどうかを評価した結果を意味しています。たとえば、所有者であればテーブルを変更できるパーミッションがある場合や、ALTER ANY TABLE システム権限がある場合があります。
16.0 より前のバージョンのデータベースでは、「グループ」とは、グループレベルの設定で権限 (authority) とパーミッションが決定される 1 人以上のユーザの集合でした。あるユーザにグループステータスが付与され、その後に、そのグループのメンバーシップが他のユーザに付与されます。
現在は、グループのパラダイムは「ユーザ拡張ロール」で実現されます。あるユーザが持っている権限 (privilege) のセットを他のユーザに付与したい場合は、ユーザ拡張ロールになるようにユーザを拡張してから、そのロールを他のユーザに付与します。グループのパラダイムは、ユーザに付与したいロールと権限を持ち、ユーザ ID と関連付けられない「スタンドアロンロール」を作成して実現することもできます。
16.0 のデータベースをアップグレードするときは、アップグレード処理によって既存の権限 (authority)、パーミッション、およびグループの階層構造が自動的に、同等のロール、権限 (privilege)、およびユーザ拡張ロールの階層構造に変換されます。16.0 より前のバージョンの権限 (authority) にはそれぞれ、同等の「互換ロール」があります。これらのロールは、SYS_AUTH で始まる名前であるため、データベース内で容易に識別できます。互換ロールには、16.0 より前のバージョンのユーザが、権限 (authority) を使用して実行していた操作と同じ操作を実行するために必要なシステム権限が含まれています。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |