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 サーバ データベース管理 » ユーザとデータベースのセキュリティ » ユーザのセキュリティ (ロールと権限) » ロール » 互換ロール

 

互換ロールをユーザ定義ロールに移行する (SQL の場合)

互換ロールをユーザ定義ロールに移行してから、他のロールおよびユーザに新しいロールを付与します。互換ロールを移行すると、互換ロールの被付与者すべてに自動的にユーザ定義ロールが付与され、互換ロールは削除されます。

前提条件

移行するロールに対する MANAGE ROLES システム権限および管理権限が必要です。

内容と備考

互換ロールは開始用のロールのようなものです。互換ロールの基本となるシステム権限は変更できません。ただし、それらをユーザ定義ロールに移行してから、権限を変更することができます。

新しいロールに付ける名前には、プレフィクス SYS_ を先頭に付けることも、サフィックス _ROLE を末尾に付けることもできません。たとえば、SYS_MyBackup_ROLE をユーザ定義ロールの名前にすることはできません。新しいロールに付けた名前は永続的です。後で変更することはできません。

システム権限の継承を無効にしたロール (SYS_AUTH_VALIDATE_ROLE など) を移行する場合、新しく作成されたユーザ定義ロールの権限は、継承ツリー内の被付与者すべてに付与されます。

SYS_AUTH_SA_ROLE および SYS_AUTH_SSO_ROLE システムロールは個別に移行することはできません。ただし、SYS_AUTH_DBA_ROLE システムロールを移行するとき、SYS_AUTH_SA_ROLE および SYS_AUTH_SSO_ROLE システムロールは、自動的に新しいユーザ定義ロールに含まれます。

 ♦ タスク
  • 互換ロールを移行するには、次のような ALTER ROLE 文を実行します。

    ALTER ROLE compatibility-role MIGRATE TO new-role-name;

    SYS_AUTH_DBA_ROLE システムロールを移行する場合、自動的に移行される SYS_AUTH_SA_ROLE および SYS_AUTH_SSO_ROLE システムロールの名前 (つまり、MIGRATE TO new-role-name、new-sa-role-name、new-sso-role-name) を忘れずに含めるようにします。

結果

互換ロールの被付与者にはすべて、自動的にユーザ定義ロールが付与されます。互換ロールは削除されます。

次の手順

新しいユーザ定義ロールのシステム権限を変更し、そのロールを他のユーザに付与します。

互換ロールは移行された後自動的に削除されますが、CREATE ROLE 文を使用すれば、後から使用する目的でリストアできます。互換ロールのリストア (SQL の場合)を参照してください。

次の文は、SYS_AUTH_BACKUP_ROLE 互換ロールを新しいユーザ定義ロールである my_BACKUP に移行します。以前 SYS_AUTH_BACKUP_ROLE 互換ロールを付与されたすべてのユーザには、互換ロールに対するあらゆる管理権限をはじめ、my_BACKUP ロールが付与されます。

ALTER ROLE SYS_AUTH_BACKUP_ROLE MIGRATE TO my_BACKUP;

次の文は、SYS_AUTH_DBA_ROLE、SYS_AUTH_SA_ROLE、および SYS_AUTH_SSO_ROLE システムロールを、それぞれ my_DBA、my_DBA_Administration および my_DBA_Security というユーザ定義ロールに移行します。すべてのユーザ、基本となるシステム権限、および元のロールに付与されたロールは、自動的に新しいロールに移行されます。最後に、SYS_AUTH_DBA_ROLE、SYS_AUTH_SA_ROLE、および SYS_AUTH_SSO_ROLE システムロールが削除されます。

ALTER ROLE SYS_AUTH_DBA_ROLE
MIGRATE TO my_DBA、my_DBA_Administration、my_DBA_Security

 参照