このトピックでは、Hologres の簡易権限モデル (SPM) について説明します。
背景情報
Hologres は PostgreSQL と互互換性があり、PostgreSQL 標準権限モデルを使用できます。詳細については、「エキスパート権限モデル」をご参照ください。PostgreSQL 標準権限モデルでは、権限が厳密に分割されています。このモデルは、実際のビジネスシナリオで使用するには複雑であり、次のような典型的な課題があります。
ユーザーに権限を付与する場合、大量の権限付与ステートメントを実行する必要があります。
ロールごとに必要な権限が異なるため、権限付与が煩雑になります。また、ユーザーに権限を付与する際に権限付与ステートメントが不足していると、ユーザーは対応する操作を実行できません。
新しいユーザーごとに同じ権限付与ステートメントを実行する必要があり、時間がかかります。
Hologres は参考用に PostgreSQL の標準的な権限付与ステートメントを提供していますが、ユーザーの操作習慣によっては、さまざまな権限に対して適切な権限付与ステートメントを実行できない場合があります。これにより、権限管理が混乱し、ビジネスにリスクをもたらすとともに、管理、時間、利用のコストが増加する可能性があります。
上記の課題を解決するために、Hologres は PostgreSQL 標準権限モデルをベースに、粗粒度で権限を管理する簡易権限モデルを開発しました。簡易権限モデルは、データベースレベルで権限を管理し、admin、developer、writer、viewer のロールを提供します。これらのロールを使用することで、少数の関数を用いて、便利かつ安全な方法でデータベース内のオブジェクトに対する権限を管理できます。
簡易権限モデルの概要
簡易権限モデルは、各データベースに次のロールを提供します。
{db}_admin:データベース管理者
{db}_developer:デベロッパー
{db}_writer:読み書き担当者
{db}_viewer:アナリスト
次の表は、各ロールの権限を示しています。
ロール | 権限 |
{db}_admin |
|
{db}_developer |
|
{db}_writer |
|
{db}_viewer |
|