> This page is for プラットフォーム, version V4 (default).
> For other versions, use one of these documentation indexes:
> - V4 (default): https://next.developer.frame.io/platform/v4/llms.txt
> - V4 Experimental: https://next.developer.frame.io/platform/v4-experimental/llms.txt
> - レガシー: https://next.developer.frame.io/platform/v2/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://next.developer.frame.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://next.developer.frame.io/_mcp/server.

# ユーザー権限の管理

このガイドでは、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_access`、`editor`、`edit_only`、`commenter`、または`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` |
| レビュアー    | 共有リンクからのみアクセスできます。ユーザーが安全な共有に追加されたときに作成されます | なし           | —                                            |

---

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

例：

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

```curl

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

```

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

```curl

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

```

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

```curl

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

```

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

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

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

\


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

\


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

\


[ドキュメント](https://next.developer.frame.io/platform/api-reference/account-permissions/index)

#### ユーザーロールの更新

#### ユーザーロールの更新

\


アカウントのユーザーロールを更新します。これは現在、試験的なエンドポイントです。

\
\


`PATCH` `https://api.frame.io/v4/accounts/:account_id/users/:user_id`

\


[ドキュメント](https://next.developer.frame.io/platform/v4-experimental/api-reference/account-permissions/developer-api-web-experimental-account-user-roles-controller-update)

---

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

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

\


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

\


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

#### ワークスペースユーザーロールの一覧表示

#### ユーザーの一覧表示

\


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

\


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

\


[ドキュメント](https://next.developer.frame.io/platform/api-reference/workspace-permissions/index)

#### ユーザーロールの更新

#### ユーザーロールの更新

\


指定されたワークスペースでのユーザーのロールを変更します。これにより、ユーザーがワークスペースに既に追加されている場合は、ユーザーのロールが更新されるか、指定されたロールで追加されます。

\


`PATCH` `https://api.frame.io/v4/accounts/:account_id/workspaces/:workspace_id/users/:user_id`

\


[ドキュメント](https://next.developer.frame.io/platform/api-reference/workspace-permissions/workspace-user-roles-update)

#### ユーザーの削除

#### ユーザーの削除

\


指定されたワークスペースからユーザーを削除します

\


`DEL` `https://api.frame.io/v4/accounts/:account_id/workspaces/:workspace_id/users/:user_id`

\


[ドキュメント](https://next.developer.frame.io/platform/api-reference/workspace-permissions/workspace-user-roles-delete)

---

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

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

\


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

\


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

```curl

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

```

---

### 制限されたプロジェクト

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

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

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

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

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

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

\


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

\


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

\


[ドキュメント](https://next.developer.frame.io/platform/api-reference/project-permissions/index)

#### ユーザーロールの更新

#### ユーザーロールの更新

\


指定されたプロジェクトでのユーザーのロールを変更します。これにより、ユーザーがプロジェクトに既に追加されている場合は、ユーザーのロールが更新されるか、指定されたロールで追加されます。

\


`PATCH` `https://api.frame.io/v4/accounts/:account_id/projects/:project_id/users/:user_id `

\


[ドキュメント](https://next.developer.frame.io/platform/api-reference/project-permissions/project-user-roles-update)

#### ユーザーの削除

#### ユーザーの削除

\


指定されたプロジェクトからユーザーを削除します

\


`DEL` `https://api.frame.io/v4/accounts/:account_id/projects/:project_id/users/:user_id`

\


[ドキュメント](https://next.developer.frame.io/platform/api-reference/project-permissions/delete)

---

## リソース

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

* Frame.io [開発者フォーラム（英語）](https://forum.frame.io/)では、開発者が質問をしたり、フィードバックを共有、および構築内容について話し合ったりすることができます
* ユーザーロールと権限に関する[ヘルプセンターの記事](https://help.frame.io/en/articles/9875389-user-roles-and-permissions)
* 関係と帰属に基づくアクセス制御に関する詳細は、OWASP [認証に関するチートシート](https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html#prefer-attribute-and-relationship-based-access-control-over-rbac)を参照してください