# 共有相手に表示する行と列を管理する

> 1つのテーブルをチームと共有し、各メンバーにアクセスを許可した行と列だけを表示します。

アクセスルールを使うと、テーブルの共有相手全員が同じテーブルで作業しながら、それぞれに許可された範囲だけを表示できます。ルールはテーブルの共有シートで設定します。

このページでは、営業データベースにある **Deals** テーブルを例に説明します。このテーブルには **Region**、**Rep**、**Amount**、**Margin** の列があります。各営業担当者には自分の地域の商談だけを表示し、**Margin** は Finance チームだけに表示します。

## アクセスルールの仕組み

- **その他全員に適用するルール**は、テーブルの共有相手のうち、個別のルールがない全員に適用されます。このルールがない場合は、すべての行と列が表示されます。
- **個人、チーム、ワークスペースに適用するルール**は例外です。例外がある人には、その他全員のルールではなく、その例外が適用されます。
- **複数の例外は組み合わされます。** 同じ人に複数の例外が適用される場合、それぞれの例外で許可された行が表示され、いずれかの例外で非表示にされた列は表示されません。
- **テーブルの所有者には常にすべてが表示されます。** ルールは、管理者を含め、所有者以外のすべての共有相手に適用されます。

ルールはテーブルに設定されます。テーブルを誰かと共有したり、その人のアクセス権を削除したりしても、ルールが追加または削除されることはありません。

## 始める前に

- ルールを作成または変更するには、Enterprise プランが必要です。
- ルールを管理できるのは、テーブルの所有者とワークスペースの管理者です。
- まずテーブルを共有します。データベースのページからテーブルを開き、**共有**を選択してください。ルールは共有相手に適用されます。

## その他全員に適用するルールを設定する

この例では、各営業担当者には自分の地域の商談だけを表示し、**Margin** は誰にも表示しません。

1. テーブルを開いて**共有**を選択し、**アクセス権のあるユーザー**を選択します。
2. **その他全員**の横にある**行と列…**を選択します。
3. **行**で、**条件に一致する行のみ…**を選択します。
4. **列**（**Region**）と**条件**（**等しい**）を選択します。
5. **メンバー属性**を選択し、**属性**（`region`）を選択します。固定値と比較する場合は、**値**を選択して入力します。
6. **非表示の列**で、**Margin** を選択します。
7. **保存**を選択します。

個別のルールがない人に表示される範囲が狭まる場合、Dvina は適用前に確認を求め、影響を受ける人やチームの数を表示します。

**行**では、**すべての行**も選択できます。また、**行なし**を選択すると、そのルールでは行が一切表示されなくなります。

> [!TIP]
> 条件では、列の種類に合った方法で比較します。テキスト列には**等しい**、**等しくない**、**含む**、**含まない**を使えます。数値列では値より大きいか小さいかを、日付列では指定した日付より前か後か、または指定した期間内かを比較できます。どの列でも、値があるか空かを条件にできます。

## 個人やチームの例外を追加する

Finance チームには、**Margin** を含むすべての商談を表示します。

1. **アクセス権のあるユーザー**で、Finance チームを探します。その横にある、**閲覧可能**などの権限が表示されたメニューを開きます。
2. **行と列…**を選択します。
3. **行**で**すべての行**を選択し、**非表示の列**ではすべての列を選択解除したままにします。
4. **保存**を選択します。

**アクセス権のあるユーザー**の各行には、**すべての行**や**一部の行、1列を非表示**など、その人やチームに表示される内容が示されます。2つの例外がそれぞれ異なる列を非表示にしている場合、Dvina は、両方の例外が適用される人にはどちらのルールの非表示列も表示されないことを知らせます。

ワークスペースのルールは、その中の全員に個別のルールとあわせて適用されます。そのため、両方のルールで表示される行が合算されます。

## メンバーに属性を設定する

列とメンバー属性を比較するルールでは、各メンバーに、その人の属性値と一致する行が表示されます。この例では、`region` が West の営業担当者には、West の案件だけが表示されます。属性の利用には Enterprise プランが必要で、管理者が設定します。

1. 設定 › **メンバー**で、**メンバー属性**を選択します。
2. **新しい属性**に `region` などを入力し、**追加**を選択します。小文字の英字、数字、アンダースコアを使用し、先頭は英字にします。
3. **メンバー**で、メンバーのロールメニューを開き、**メンバー属性**を選択します。
4. `West` など、そのメンバーの値を入力します。複数の値を指定する場合は、`West, Central` のようにカンマで区切ると、それぞれの値に一致する行が表示されます。
5. **保存**を選択します。

SCIM を使用する場合、`department`、`cost_center`、`division`、`organization`、`employee_number`、`title`、`user_type` は ID プロバイダーから取得されます。

> [!IMPORTANT]
> 属性が設定されていないメンバーには、その属性と比較するルールによる行は表示されません。**制限付きビュー**と、管理者に属性の設定を依頼するよう案内するメッセージが表示されます。属性を削除すると、その属性と比較するアクセスルールは誰にも一致しなくなります。

## メンバーに表示される内容

ルールは、チャットの回答、カード、カードのエクスポート、インサイトなど、テーブルにクエリを実行するすべての場所に適用されます。

- ルールによって表示内容が絞られるカードやインサイトには、**制限付きビュー**と表示されます。
- 非表示にされた列は、そのメンバーには一切表示されません。その列を要求すると、列が存在しない場合と同じようにクエリが拒否されます。
- ルールによって表示できる行がない場合、Dvina はデータベースに問い合わせません。
- ルールが適用されるメンバーにテーブルを説明するとき、Dvina は非表示の列と、そのメンバーがすべてを閲覧できるとは限らない行から作成された説明を省きます。
- データベースのページでは、アクセスルールがあるテーブルに**制限付きビュー**と表示されます。

### 共有されたインサイトとチャット

- ルールが適用されるメンバーが共有インサイトを開くと、共有した人の結果ではなく、そのメンバー自身の結果が表示されます。
- テーブルにクエリを実行するカードを含むチャット、タスク、スレッドを共有すると、Dvina はルールによって表示内容が制限されるメンバーの名前を示します。そのメンバーのカードには、アクセス権に応じたデータが表示されますが、回答のテキストには、共有した人が見た数値が表示されます。

## テーブルにクエリを実行した人を確認する

アクセスルールがあるテーブルへの各クエリと、テーブルを共有されたメンバーによる各クエリは、監査ログに記録されます。

1. **アクセス権のあるメンバー**で、**このテーブルにクエリを実行した人**を選択します。
2. 記録を選択すると、**日時**、**実行者**、返された**行数**、クエリの**実行元**（**チャット**、**カード**、**インサイト**、**その他**）を確認できます。

管理者は、設定 › **監査ログ**の**テーブル**でも、これらのイベントを確認できます。テーブルにクエリを実行した人を確認するには、Enterprise プランが必要です。

## ルールを削除する

1. **アクセス権のあるメンバー**からルールを開きます。
2. **ルールを削除**を選択します。削除によって表示できる内容が増えるメンバーがいる場合、Dvina はそのメンバーを示して確認を求めます。**ルールを削除**を選択して確定します。

## プラン

ルールの作成と変更、メンバー属性、**このテーブルにクエリを実行した人**は、Enterprise プランで利用できます。保存済みのルールはどのプランでも引き続き適用され、確認と削除もできます。

## 関連情報

- [データベースとデータウェアハウス](/docs/connectors/databases)
- [メンバーとロール](/docs/teams/members-and-roles)
- [監査ログを使う](/docs/teams/audit-log)
- [共有](/docs/use-dvina/features/sharing)
