Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
214 lines
12 KiB
Plaintext
214 lines
12 KiB
Plaintext
---
|
||
title: 権限
|
||
description: ロールベースの権限でオブジェクト、フィールド、設定へのアクセスを制御します。
|
||
---
|
||
|
||
Twentyの権限システムにより、3つの主要な領域へのアクセスを制御できます:
|
||
|
||
* **オブジェクトとフィールド**: レコードと個々のフィールドを表示、編集、削除できる人を制御する
|
||
* **設定**: ワークスペースの構成および管理機能へのアクセスを管理する
|
||
* **アクション**: データのインポートやメールの送信など一般的なワークスペースアクションを制御する
|
||
|
||
## ロールの作成
|
||
|
||
新しい役割を作成するには:
|
||
|
||
1. **設定 → メンバー → 役割** に移動します
|
||
2. **すべての役割** で、 **+ 役割を作成** をクリック
|
||
3. 役割名を入力
|
||
4. デフォルトの**権限**タブで、[権限を設定](#customize-permissions)
|
||
5. **保存**をクリックして完了します
|
||
|
||
## 役割を削除する
|
||
|
||
役割を削除するには:
|
||
|
||
1. **設定 → メンバー → 役割** に移動します
|
||
2. 削除したい役割をクリック
|
||
3. **設定** タブを開き、 **役割を削除** をクリック
|
||
4. モーダルで **確認** をクリック
|
||
|
||
<Note>
|
||
ロールが削除されると、そのロールに割り当てられていたワークスペースメンバーは自動的にデフォルトのロールに再割り当てされます。 **管理者** ロール以外のすべてのロールは削除できます。 **管理者** 役割には常に少なくとも1人のメンバーが割り当てられている必要があります。
|
||
</Note>
|
||
|
||
## メンバーに役割を割り当てる
|
||
|
||
### 現在の割り当てを表示
|
||
|
||
* **設定 → メンバー → 役割** に移動します
|
||
* すべての役割と各役割に割り当てられているメンバー数を確認
|
||
* どのメンバーがどの役割を持っているかを表示
|
||
|
||
### メンバーに役割を割り当てる
|
||
|
||
1. **設定 → メンバー → 役割** に移動します
|
||
2. 割り当てたい役割をクリック
|
||
3. **割り当て** タブを開く
|
||
4. **+ メンバーに割り当てる** をクリック
|
||
5. リストからワークスペースメンバーを選択
|
||
6. 割り当てを確認する
|
||
|
||
### デフォルトの役割を設定する
|
||
|
||
1. **設定 → メンバー → 役割** に移動します
|
||
2. **オプション** セクションで **デフォルトの役割** を見つける
|
||
3. 新しいメンバーが自動的に受け取る役割を選択
|
||
4. 新しいワークスペースメンバーが参加するとき、この役割が割り当てられます
|
||
|
||
<Note>
|
||
ロールは既存のワークスペースメンバーにのみ割り当てできます。 新しいメンバーを招待するには、[メンバー管理](/l/ja/user-guide/settings/capabilities/member-management)を使用します。
|
||
</Note>
|
||
|
||
## 権限をカスタマイズする
|
||
|
||
権限は、ワークスペースのオブジェクト、レコード、設定、アクションなど、ワークスペース内で各ロールにアクセスまたは変更できるものを決定します。
|
||
|
||
### オブジェクトの権限
|
||
|
||
**オブジェクト**セクションでは、このロールがワークスペース全体のレコードに対して何ができるかを制御します。
|
||
|
||
#### デフォルトの権限を設定(すべてのオブジェクト)
|
||
|
||
まず、デフォルトで**すべてのオブジェクト**に適用されるベースライン権限を設定します。
|
||
|
||
| 権限 | 説明 |
|
||
| --------------------- | ------------------- |
|
||
| **全オブジェクトでレコードを表示する** | リストおよび詳細ページでレコードを表示 |
|
||
| **全オブジェクトでレコードを編集する** | 既存のレコードを変更 |
|
||
| **全オブジェクトでレコードを削除する** | レコードをソフト削除(復元可能) |
|
||
| **全オブジェクトでレコードを破棄する** | レコードを完全に削除 |
|
||
|
||
このロールのデフォルトの動作にすべき内容に基づいて選択または選択解除します。
|
||
|
||
<Note>
|
||
**例 — インターン ロール**: インターンは、デフォルトではすべてのオブジェクトを閲覧できるが編集はできないようにします。 "すべてのオブジェクトでレコードを表示"を有効にし、"すべてのオブジェクトでレコードを編集"は未選択のままにします。
|
||
</Note>
|
||
|
||
#### オブジェクトレベルの例外を追加
|
||
|
||
デフォルトを設定したら、**オブジェクトレベル**のサブセクションで特定のオブジェクトに対してデフォルトを上書きするルールを追加します。
|
||
|
||
**+ ルールを追加**をクリックし、オブジェクトを選択して例外を作成します。
|
||
|
||
**インターン ロールのルール例:**
|
||
|
||
| ルール | 効果 |
|
||
| ----------------------------- | ------------------------------------- |
|
||
| Opportunities → "レコードを表示"を無効化 | インターンはOpportunitiesオブジェクトをまったく閲覧できません |
|
||
| People → "レコードを編集"を有効化 | インターンはPeopleのレコードを編集できます(他のオブジェクトは不可) |
|
||
|
||
### 行レベルの権限
|
||
|
||
<Note>
|
||
行レベルの権限は、**プレミアム機能**であり、(クラウド版およびセルフホスト版の)**Organization**プランで利用できます。
|
||
</Note>
|
||
|
||
行レベルの権限を使用すると、動的な条件に基づいて、あるロールが閲覧または編集できる個々のレコードを制限できます。 オブジェクト権限(オブジェクト種別全体に適用される)とは異なり、行レベルの権限は各レコードを個別に評価します。
|
||
|
||
**ユースケース例:**
|
||
|
||
* 営業担当者は自分の商談のみを閲覧できる
|
||
* マネージャーは自分の担当地域内のすべてのレコードを閲覧できる
|
||
* サポート担当者は自分に割り当てられたチケットのみを閲覧できる
|
||
|
||
行レベルの権限を設定するには、ロールを開き、**Objects**タブに移動して、**Row-Level**セクションで特定のオブジェクトに対するフィルター条件を定義します。
|
||
|
||
### フィールドの権限
|
||
|
||
各オブジェクトレベルのルール内で、さらに踏み込んで特定のフィールドへのアクセスを制御するための**フィールドレベルの権限**を設定できます。
|
||
|
||
| 権限 | 説明 |
|
||
| ------------ | ------------ |
|
||
| **フィールドを表示** | フィールド値を表示 |
|
||
| **フィールドを編集** | フィールド値を変更 |
|
||
| **アクセス不可** | フィールドは完全に非表示 |
|
||
|
||
**例 — 機微なフィールドの制限:**
|
||
|
||
Peopleの編集権限を持つインターン ロールでは、特定のフィールドを制限したい場合があります。
|
||
|
||
* People → Email → **フィールドを表示**のみ(編集不可)
|
||
* People → Address → **アクセス不可**(完全に非表示)
|
||
|
||
これにより、インターンはPeopleのほとんどのフィールドを編集できる一方、機微情報は保護されます。
|
||
|
||
### 権限の継承のしくみ
|
||
|
||
権限は一般から個別へと段階的に適用されます。
|
||
|
||
1. **すべてのオブジェクト** → すべてのオブジェクトに対するベースラインを設定
|
||
2. **オブジェクトレベルのルール** → 特定のオブジェクトのベースラインを上書き
|
||
3. **フィールドレベルのルール** → 特定のフィールドについてオブジェクトの設定を上書き
|
||
|
||
より具体的な設定が常に優先されます。
|
||
|
||
### 権限オーバーライドを管理する
|
||
|
||
継承された権限を上書きするには:
|
||
|
||
1. 継承されたルールを削除するには **X** をクリック
|
||
2. 必要な特定の権限を選択
|
||
3. 変更を元に戻すには、オレンジ色の **元に戻す** アイコン(円形の矢印)をクリック
|
||
|
||
完了したら、役割ページにリダイレクトされたら **終了** をクリックし、**保存** をクリック。
|
||
|
||
### ワークスペース設定の権限
|
||
|
||
ワークスペース設定へのアクセスを2つの方法で制御する:
|
||
|
||
* **すべてのアクセスを設定** を切り替えて完全アクセスを許可する
|
||
* あるいは、特定の権限(例えば、APIキー生成、ワークスペース設定、役割割り当て、データモデル構成、セキュリティ設定、ワークフロー管理)を有効にする
|
||
|
||
<Note>
|
||
**現在の制限**: ワークフローを手動でトリガーするには、現在、ワークフロー管理へのアクセスが必要です。 この動作は今後のリリースで変更される可能性があります。
|
||
</Note>
|
||
|
||
### ワークスペースアクションの権限
|
||
|
||
一般的なワークスペースアクションへのアクセスを制御する:
|
||
|
||
* **すべてのアプリケーションのアクセス** を切り替えて完全な権限を与える
|
||
* あるいは、 **メール送信**, **CSVインポート**, **CSVエクスポート** などの個別のアクションを有効にする
|
||
|
||
## APIキーとAIエージェントにロールを割り当てる
|
||
|
||
ワークスペースメンバー以外にも、**API キー**や**AI エージェント**にロールを割り当てることができます。 これは、ワークスペース内で誰が何をできるかを正確に制御したいチーム、特に自動化プロセスや連携を含む場合に有用です。
|
||
|
||
### API キーとAI エージェントにロールを割り当てる理由
|
||
|
||
* **セキュリティ**: 自動化プロセスがアクセスまたは変更できる範囲を制限
|
||
* **コンプライアンス**: 連携が必要なデータのみに触れるようにする
|
||
* **制御**: 誤設定された自動化による偶発的なデータ変更を防止
|
||
* **監査可能性**: どの連携またはエージェントがどの操作を実行したかを追跡
|
||
|
||
### API キーにロールを割り当てる
|
||
|
||
1. **設定 → メンバー → 役割** に移動します
|
||
2. 割り当てたい役割をクリック
|
||
3. **割り当て** タブを開く
|
||
4. **API キー**セクションで、**+ API キーに割り当て**をクリック
|
||
5. リストからAPI キーを選択
|
||
6. 割り当てを確認する
|
||
|
||
そのAPI キーは、割り当てたロールで定義されたすべての権限を継承します。 このキーで行われるAPI 呼び出しは、それに応じて制限されます。
|
||
|
||
<Note>
|
||
ロールが割り当てられていないAPI キーはデフォルトの権限を使用します。 より厳格なセキュリティのため、本番のAPI キーには必ず特定のロールを割り当ててください。
|
||
</Note>
|
||
|
||
### AI エージェントにロールを割り当てる
|
||
|
||
1. **設定 → メンバー → 役割** に移動します
|
||
2. 割り当てたい役割をクリック
|
||
3. **割り当て** タブを開く
|
||
4. **AI エージェント**セクションで、**+ AI エージェントに割り当て**をクリック
|
||
5. リストからAI エージェントを選択
|
||
6. 割り当てを確認する
|
||
|
||
AI エージェントは、割り当てられたロールで許可されたデータへのアクセスと操作のみ実行できます。
|
||
|
||
<Note>
|
||
ワークフロー内で実行されるAI エージェントについては、ワークフローにより広い権限があっても、意図した範囲外のデータにアクセスまたは変更できないことを保証します。
|
||
</Note>
|