ユーザーのロールの管理

ロールとは、ユーザーに特定の権限を付与するのと同じ方法でユーザーに付与できる、一連のアクセス権のことです。

管理ガイドの「 ロール 」のセクションで、ロールの詳細について説明しています。

新しいロールを作成するコマンドの構文は以下のとおりです。

CREATE ROLE ステートメントの構文
CREATE [ OR REPLACE ] ROLE <name:identifier>
[ <description:literal> ]
[ <grant> ]*

<grant> ::= (「 ユーザーやロールへの権限の付与 」のセクションを参照)

ALTER ROLE ステートメントの構文
ALTER ROLE <name:identifier>
[ <description:literal> ]
[ <grant> ]*

<grant> ::= (「 ユーザーやロールへの権限の付与 」のセクションを参照)

ロールとユーザーに割り当てることのできるアクセス権限は同じであり、同じように機能し、コマンドの構文も同じです。

さらに、ロールを他のロールに割り当てることもできます (「ロールの継承」と呼びます)。たとえば、以下のロールを持っているとします。

  • CONNECTMETADATAEXECUTE 権限を持つロール vdp_developer

    データベース admin に対する CREATE および WRITE 権限

  • データベース itpilot に対する CONNECTMETADATAEXECUTECREATEWRITE 権限を持つロール Itpilot_developer

その場合、以下のステートメントにより、これらのロールが作成され、ロール vdp_developeritpilot_developer が割り当てられた新しいロール denodo_developer も作成されます。

ロールの継承の利用
CREATE ROLE vdp_developer GRANT CONNECT, CREATE, METADATA, EXECUTE, WRITE ON admin;

CREATE ROLE itpilot_developer GRANT CONNECT, CREATE, METADATA, EXECUTE, WRITE ON
itpilot;

CREATE ROLE denodo_developer GRANT ROLE vdp_developer,
itpilot_developer;

ロール denodo_developer を持つユーザーは、データベース admin および itpilot に対する CONNECTMETADATAEXECUTECREATE 、および WRITE 権限を持ちます。

注釈

管理ガイドの「 ロール 」のセクションで説明しているように、このユーザーの「有効な権限」は、両ロールの権限を組み合わせたものになります。