アクセス制御の概要

Codatumには、シンプルながら強力なロールベースのアクセス制御システムがあります。

ユーザーは、WorkspaceやNotebookやConnectionなどの個々のリソースに対して、ViewerやEditorなどの役割を持つことができます。様々な操作の権限は、ユーザーが保持する役割の組み合わせに基づいて決定されます。

用語解説

  • ユーザー

    • Workspaceのアカウントのこと。

  • グループ

    • 一緒に管理されるユーザーの集まり。複数のリソースロールを割り当てることができます。

  • リソース

    • Codatum内の様々なオブジェクトとその種類を表します。

    • 例: リソース: 特定のNotebook "nb1"、リソースタイプ: Notebook。

  • 操作

    • 個々のリソースまたはWorkspace全体にリンクされた様々なアクション。

    • 例: ユーザーの招待、Notebookの編集など。

  • ロール

    • Workspaceロール

      • Workspace内でユーザーに割り当てられるロール。すべてのユーザーに必要です。Workspace全体の操作に関する権限を決定します。

      • 例: Workspace.Owner → Workspace設定の管理やメンバー招待の権限を決定します。

    • リソースロール

      • 個々のリソースにリンクされたロール。グループまたは個々のユーザーに割り当てられます。

      • 例: notebook.Viewer(nb) → 特定のNotebook "nb"に対する閲覧操作の権限を決定します。

  • 権限

    • リソースロールまたはWorkspaceロールと、ユーザーまたはグループの組み合わせで、リソースまたはWorkspaceに関連する特定の操作を実行する権限が付与されます。

アクセス制御ルールの基本

アクセス権は、ユーザーが保持するロールの組み合わせに基づいて決定され、定義された計算方法に従います。

  • ロールには階層性があり、下位のロールにアクセス権があれば、上位のロールにもそのアクセス権があります。

  • 通常、Workspaceロールとリソースロールの両方がアクセス権を付与する必要があります(ANDで計算されます)。

  • ユーザーが同じリソースに対して複数のリソースロールを持っている場合(直接割り当てられているか、異なるグループを通じて割り当てられているかに関わらず)、いずれかのリソースロールがアクセスを許可していれば、権限が付与されます(ORで計算されます)。

以下の概念図では、これらの原則を示しています。

この図は、特定のリソースAにリンクされた操作のパターンを示しています。また、Workspaceにのみリンクされ、特定のリソースにはリンクされない操作のパターンもあります。このパターンはより単純で、以下のように示されます。

このパターンでは、アクセス権はWorkspaceロールのみによって決定されます。

これらの原則により、Codatum内で堅牢で柔軟なアクセス制御システムが実現されています。

最終更新