ユーザー権限の管理

このガイドでは、Frame.io V4 API を使用して、ユーザー権限を管理する方法について説明します。アカウント、ワークスペース、プロジェクトの各レベルで権限がどのように機能するかと、各レベルで使用するエンドポイントについて説明します。


権限レベル

Frame.io の権限は、アカウント、ワークスペース、プロジェクトの各レベルで管理されます。各レベルで、独自のロールセットを使用します。

Account
├── (admin) - full access to all Workspaces, Projects, and Restricted Projects
└── (member)
├── Workspace - (full_access | editor | edit_only | commenter | viewer)
│ │
│ └── Project - (full_access | editor | edit_only | commenter | viewer)
└── Restricted Project - (members require direct invite)

すべてのユーザーにアカウントロールがあります。API を使用して、ユーザーのロールを admin または member に設定できます。 アカウント管理者は、すべてのワークスペースとプロジェクトにフルアクセスできます。必要なワークスペースとプロジェクトに対して、アカウントメンバーを選択して追加できます。

アカウントメンバーをワークスペースに追加すると、割り当てた権限レベル(full_accesseditoredit_onlycommenter、またはviewer)が、そのワークスペース内の既存および将来のすべてのプロジェクトに適用されます。例えば、viewer としてアカウントメンバーを追加すると、そのメンバーは特定のワークスペース内のすべてのプロジェクトにアクセスすると必ず、viewer 権限が付与されます。

その同じアカウントメンバーを、そのワークスペース内の特定のプロジェクトの editor として追加できます。 その結果、そのプロジェクトにアクセスすると必ず、editor 権限が付与されます。これらの viewer 権限は、そのワークスペース内のその他のすべてのプロジェクトに引き続き適用されます。

プロジェクトの割り当てはワークスペースの割り当てとは別のものであるため、そのアカウントメンバーをワークスペースから削除すると、アカウントメンバーは単一のプロジェクトに対する editor 権限を保持します。

制限されたプロジェクトは例外です。アカウントメンバーには、常に直接の招待が必要となります。詳細については、以下の「プロジェクトレベルの権限」セクションを参照してください。

アカウントレベルの権限

アカウント内のすべてのユーザーには、次のロールがあります。

ロール権限API を介して設定可能エンドポイント
所有者すべてのワークスペースとプロジェクトへのフルアクセス。アカウントごとに 1 つなし
adminすべてのワークスペースとプロジェクトへのフルアクセスありPATCH /accounts/:account_id/users/:user_id
memberワークスペースおよび / またはプロジェクトレベルで設定された権限ありPATCH /accounts/:account_id/users/:user_id
レビュアー共有リンクからのみアクセスできます。ユーザーが安全な共有に追加されたときに作成されますなし

アカウント管理者はどこからでもフルアクセスできます。管理者のアクセスを特定のリソースに制限するには、まずアカウントロールを「メンバー」に変更してから、必要なワークスペースまたはプロジェクトに追加します。

例:

1

アカウントユーザーロールを一覧表示してユーザー ID を検索し、現在のロールを確認します。

1curl https://api.frame.io/v4/accounts/:account_id/users \
2 -H "Authorization: Bearer <token>"
2

アカウントロールをメンバーに更新します。

1curl -X PATCH https://api.frame.io/v4/accounts/:account_id/users/:user_id \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5"data": {
6"role": "member"
7}
8}'
3

プロジェクトに追加します。

1curl -X PATCH https://api.frame.io/v4/accounts/:account_id/projects/:project_id/users/:user_id \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5"data": {
6 "role": "edit_only"
7}
8}'

アカウント権限エンドポイント

アカウントユーザーロールの一覧表示

ユーザーの詳細(ID、名前、電子メールアドレス)とそのアカウントロールを含む、特定のアカウントのユーザーを一覧表示します。


GET https://api.frame.io/v4/accounts/:account_id/users


ドキュメント


ワークスペースレベルの権限

アカウントメンバーをワークスペースに追加すると、メンバーにはそのワークスペース内のすべてのプロジェクトに対してその権限レベルが付与されます。ワークスペースは招待専用であるため、アカウントメンバーには追加されたワークスペースのみが表示されます。


ロール権限
full_accessアップロード、管理、共有、コメント、表示、ダウンロード、設定の管理、およびユーザーの招待
editorアップロード、管理、共有、コメント、表示、ダウンロード
edit_onlyアップロード、管理、コメント、表示。共有またはダウンロードは不可
commenter表示およびコメント
viewer表示のみ

ワークスペース権限エンドポイント

ユーザーの一覧表示

ユーザーの詳細(ID、名前、電子メールアドレス)とそのロールを含む、特定のワークスペースへのアクセス権を持つユーザーを一覧表示します。


GET https://api.frame.io/v4/accounts/:account_id/workspaces/:workspace_id/users


ドキュメント


プロジェクトレベルの権限

プロジェクトは、ワークスペースと同じ権限レベルを使用します。特定のプロジェクトのみにアクセスする必要がある場合、またはワークスペースの割り当てとは異なる権限レベルが必要な場合は、ユーザーをプロジェクトに直接追加します。ユーザーは、プロジェクトに追加されるために、ワークスペースへのアクセス権を必要としません。


ロール権限
full_accessアップロード、管理、共有、コメント、表示、ダウンロード、設定の管理、およびユーザーの招待
editorアップロード、管理、共有、コメント、表示、ダウンロード
edit_onlyアップロード、管理、コメント、表示。共有またはダウンロードは不可
commenter表示およびコメント
viewer表示のみ

例: プロジェクトへのユーザーの追加

1curl -X PATCH https://api.frame.io/v4/accounts/:account_id/projects/:project_id/users/:user_id \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "data": {
6 "role": "full_access"
7 }
8}'

制限されたプロジェクト

制限されたプロジェクトには、直接の招待が必要となります。ワークスペースへのアクセス権は引き継がれません。 そのため、ユーザーは直接追加された場合にのみ、制限されたプロジェクトにアクセスできます。

メンバーにアクセス権を付与するには、適切な権限レベルでメンバーをプロジェクトに追加します。

アカウント管理者と所有者は例外であり、すべての制限されたプロジェクトにアクセス できます。

プロジェクト権限エンドポイント

プロジェクトユーザーロールの一覧表示

ユーザーの詳細(ID、名前、電子メールアドレス)とそのロールを含む、特定のプロジェクトへのアクセス権を持つユーザーを一覧表示します。


GET https://api.frame.io/v4/accounts/:account_id/projects/:project_id/users


ドキュメント


リソース

役立つその他のリソース: