> For the complete documentation index, see [llms.txt](https://docs.mashmatrix.com/mashmatrix-sheet/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mashmatrix.com/mashmatrix-sheet/ja/settings_for_admin/administration_console/access_control.md).

# アクセス制御

管理コンソールの「セキュリティ > アクセス制御」メニューから、権限ページで作成した権限に対してどのような操作が許可されるのかを設定します。

{% hint style="info" %}
管理コンソールのアクセス制御メニュー以下のページを利用するには、ログインユーザーがSalesforceの管理者であるか、または「メタデータ API 関数を使用したメタデータの変更」権限を付与されている必要があります。
{% endhint %}

## 操作の許可の設定 <a href="#globally-allowed-operations" id="globally-allowed-operations"></a>

アクセス制御ページでは、与えられた権限によってMashmatrix Sheet上で許可される操作を設定できます。

<figure><img src="/files/VUBEgjlBRVIfAaCpX1SR" alt=""><figcaption></figcaption></figure>

* **\[A] 権限** - 対象とする権限をプルダウンで選択します。リストには「（組織のデフォルト）」権限が常にリストされています。これはMashmatrix Sheetアプリケーションを利用するすべてのユーザに対して暗黙的に割り当てられている権限です。この権限に対して可能な操作を設定することにより、Mashmatrix Sheetのユーザーが可能な操作のボトムラインが決定されます。
* **\[B] グローバルに許可された操作** - 選択された権限において許可される操作を選択します。後述するオブジェクト単位でのアクセス制御が有効でない場合、この操作の許可設定はすべてのシートに表示されているオブジェクトのレコードに対して適用されます。またオブジェクト単位でのアクセス制御が有効な場合であっても、この操作の許可設定で許可されていない操作はどのオブジェクトに対しても操作は許可されません。
* **\[C] 操作の詳細設定** - 許可された操作に対する詳細な設定（制限）を指定するダイアログを表示します。ダイアログ内ではそれぞれの操作に対して１回の操作で可能なレコード数の上限値を指定することができます（デフォルトは上限なし）。上限値が設定された操作にはラベルの横に「(上限: *N* 件)」というメッセージが付加されます。設定の詳細は「[操作に対する上限値の設定](#setting-limit-to-allowed-operation)」を参照してください
* **\[D] シート内データのアクセス制御** - シートに追加されたデータ列に保存されたデータやスクラッチデータシート内に保存されたデータに対するアクセス制御の設定を行います。
  * 「シート内データの参照」にチェックがない場合、データ列にデータは表示されません。またスクラッチデータシートにもデータは表示されません
  * 「シート内データの更新」にチェックがない場合、データ列のデータは変更できません。またスクラッチデータシートのデータは新規作成・編集・削除できません。
* **\[E] オブジェクト単位のアクセス制御** - 選択された権限において、オブジェクト単位のアクセス制御を有効にするかどうかを設定します。オブジェクト単位のアクセス制御が有効な場合、参照アクセスが可能なオブジェクトを明示的に指定し、オブジェクトごとに個別に操作の許可設定を行うことができます。

{% hint style="info" %}
オブジェクト単位でのアクセス制御が無効に設定されている場合、その権限を持つユーザーはSalesforce上でアクセス可能なすべてのオブジェクトをシート上でも参照することができます。オブジェクトへのアクセスを許可したくない場合は、オブジェクト単位でのアクセス制御を有効にした上で、参照できるオブジェクトを何も選択していない状態に設定します。
{% endhint %}

## オブジェクトのアクセス設定 <a href="#object-level-access-control" id="object-level-access-control"></a>

オブジェクト単位でのアクセス制御が有効に設定されている場合、与えられた権限によって参照可能なオブジェクトを指定し、さらにそれぞれのオブジェクトごとに可能な操作を設定することが可能です。

<figure><img src="/files/Gyza1gtRbRycDy0JgsiU" alt=""><figcaption></figcaption></figure>

与えられた権限によってアクセス可能なオブジェクトを指定するには、オブジェクトの一覧テーブルから参照のチェックボックスをONにします。さらにそのオブジェクトに対して許可したい操作に対してチェックボックスをONにします。

{% hint style="info" %}
与えられた権限においてグローバルの操作許可設定で許可されていない操作や、Salesforceのオブジェクトで元々許可されていない操作については、チェックボックスが非活性となり操作を許可することはできません。
{% endhint %}

## 操作に対する上限値の設定 <a href="#setting-limit-to-allowed-operation" id="setting-limit-to-allowed-operation"></a>

操作許可設定で許可された操作は、デフォルトでは対象とするレコード数に上限はありません。それぞれの許可された操作に対して、１回で操作可能なレコード数の上限値を設定できます。

グローバルの操作許可設定では「操作の詳細設定…」リンクをクリックすることで、またオブジェクトのアクセス設定では対象とするオブジェクト行の右端にあるメニューより「操作の詳細設定を編集」を選択することで、上限値の設定を行うダイアログが表示されます。

操作の詳細設定ダイアログでは、許可されている各操作に対して「上限なし」あるいは上限値を指定することができます。上限値は正の整数である必要があります。

<figure><img src="/files/ojWOji3DXVRhMpbmL66W" alt=""><figcaption></figcaption></figure>

## 項目単位でのアクセス制御 <a href="#field-level-access-control" id="field-level-access-control"></a>

オブジェクト単位でのアクセス制御が有効なとき、それぞれのオブジェクトに対して項目単位でのアクセス制御を有効にすることにより、与えられた権限によって参照可能な項目を指定し、さらにそれぞれの項目ごとに更新操作の可・不可を設定することが可能です。

項目単位でのアクセス制御を有効にするには、オブジェクトの一覧テーブルから対象とするオブジェクト行の右端にあるメニューより「項目単位のアクセス設定を編集」を選択します。ダイアログが表示され、項目単位でのアクセス制御の有効/無効を切り替えることができます。さらに項目単位でのアクセス制御の有効な場合は、参照アクセスが可能な項目および更新操作の可・不可を設定できます。

<figure><img src="/files/ZfEDtbNLK1fAeJBE1ilK" alt=""><figcaption></figcaption></figure>

項目単位でのアクセス制御が無効な場合は、Salesforce上でアクセス可能なすべての項目をシート上でも参照することができます。

{% hint style="info" %}
項目として参照を許可されているかどうかによらず、オブジェクトのID項目は常にアクセス可能となります。
{% endhint %}

## 権限を利用したアクセス制御の効果 <a href="#effect-by-using-permission-based-access-control" id="effect-by-using-permission-based-access-control"></a>

権限を利用したアクセス制御を設定することにより、Mashmatrix Sheetアプリケーションの利用に際して以下の効果が得られます。

* シートでの操作許可設定に依存することなく、ユーザーごとにレコードの作成や削除・更新・ダウンロードなどの操作を抑制する
* シートのオブジェクトに対してアクセスが許可されていない場合、そのシートにデータを表示しない（読み込み時にエラーを表示）
* 列の項目にアクセスが許可されていない場合、その列にデータを表示しない（空欄で表示）
* シートのオブジェクトに更新操作が許可されていない場合、そのレコードを編集不可にする
* 列の項目に更新操作が許可されていない場合、その列のセルを編集不可にする
* （オブジェクト単位でのアクセス制御を有効にすることで）シートを作成する際にダイアログに表示されるオブジェクトの候補をあらかじめ絞り込んで表示する
* （項目単位でのアクセス制御を有効にすることで）シートに列を追加する際にダイアログに表示される項目の候補をあらかじめ絞り込んで表示する

## 操作の許可の判定方法 <a href="#rule-of-opereation-allowance" id="rule-of-opereation-allowance"></a>

ユーザーがMashmatrix Sheetでシートを表示するとき、シートでのそれぞれの操作に対する許可・不許可の判定は以下のステップによって評価されます。

1. シートに表示されているオブジェクトのSalesforceにおけるアクセス許可設定（参照・作成・更新・削除）
2. 管理コンソールで設定されているグローバルの操作許可設定（作成・更新・削除・ダウンロード・一括コピー）
3. （オブジェクト単位でのアクセス制御が有効なとき）管理コンソールで設定されているオブジェクトへの操作許可設定（参照・作成・更新・削除・ダウンロード・一括コピー）
4. 表示しているシートの設定における操作の許可設定（作成・更新・削除・ダウンロード・一括コピー）

上限値が設定された状態で操作が許可されている場合は、各ステップを評価する際に**最も制限が強い内容**の設定が選ばれます。操作における制限の強さは、以下の順で比較できます。

<table><thead><tr><th width="211">自由度が高い &#x3C;-</th><th width="172" align="center">&#x3C;-</th><th width="161" align="center">-></th><th align="right">-> 制限が強い</th></tr></thead><tbody><tr><td>操作許可あり<br>（上限なし）</td><td align="center">上限値あり<br>（数値大）</td><td align="center">上限値あり<br>（数値小）</td><td align="right">操作許可なし</td></tr></tbody></table>

また、列に対するアクセス許可・不許可の判定は以下のステップによって評価されます。

1. 列に表示されている項目のSalesforceにおけるアクセス許可設定（参照・更新）
2. （項目単位での操作許可が有効なとき）管理コンソールで設定されている項目へのアクセス許可設定（参照・更新）
3. 表示している列の設定における操作の許可設定（更新）

Mashmatrix Sheetアプリケーションでの操作が有効となるためには、有効なすべてのステップでその操作が許可されており、かつ上限がある場合には上限値以下の件数のレコードを操作対象としている必要があります。

### 操作許可の判定例 <a href="#example-of-operation-allowance-rule" id="example-of-operation-allowance-rule"></a>

下記の図は、アクセス制御の設定がどのように実際のシートの動作に反映されるかを示したものです。

#### オブジェクト単位でのアクセス制御が無効の場合

<figure><img src="/files/TvanLRiU2wQeo4Fx1pgK" alt=""><figcaption></figcaption></figure>

#### オブジェクト単位・項目単位でのアクセス制御が有効の場合

<figure><img src="/files/xsyc6rnwFzGWKjMsC13C" alt=""><figcaption></figcaption></figure>

#### 操作の許可に上限値が設定されている場合

<figure><img src="/files/1CuOakovbqDr7LoHZFKj" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Mashmatrix Sheetのアクセス制御設定は、Salesforceの設定で許可されていないSalesforceオブジェクトおよび項目へのアクセスを開放することはありません。Salesforceのオブジェクトおよび項目に対して許可されているアクセスについて、Mashmatrix Sheetアプリケーションからの操作を制限することは可能です。
{% endhint %}

{% hint style="info" %}
「クリップボードへの大量一括コピー」操作は、管理コンソールの組織設定ページにおいて指定された「大量一括コピー権限を必要とするレコード数」のしきい値以上の件数のレコードをコピーする操作に対して適用されます。そのため、シートでの操作許可や上限値設定、管理コンソールのアクセス制御ページでの操作許可や上限値設定によらず、当しきい値までのレコード数のコピー操作は無条件で常に許可されます。
{% endhint %}

## 複数の権限が割り当てられている場合の動作 <a href="#behavior-under-multi-permissions" id="behavior-under-multi-permissions"></a>

ユーザーに対して複数のMashmatrix Sheetの権限（これには「（組織のデフォルト）」権限も含めます）が割り当てられている場合は、いずれかの権限の設定で操作が許可されていれば、その操作は許可されたものとして動作します。

上限値が設定された状態で操作が許可されている場合は、すべての割り当てられた権限における操作許可設定のうち**最も自由度の高い内容**の設定が選ばれます。操作の自由度の高さについては「[操作の許可の判定方法](#rule-of-opereation-allowance)」での比較表を参照してください。

下記の図は、あるオブジェクトに対する権限ごとの操作の許可が、複数の権限がユーザに割り当てられることでどのように実際の操作許可として反映されるかを示したものです。

#### １つの権限（組織のデフォルト）のみ割り当てられている場合

<figure><img src="/files/Bnq02gDQsMjf1JW9OPvX" alt=""><figcaption></figcaption></figure>

#### 2つの権限（組織のデフォルト、権限A）が割り当てられている場合

<figure><img src="/files/X4lVEIgtosXKhCFTrzTf" alt=""><figcaption></figcaption></figure>

#### 3つの権限（組織のデフォルト、権限A、権限B）が割り当てられている場合

<figure><img src="/files/GUmFcsMtco2crL0DGMqq" alt=""><figcaption></figcaption></figure>

#### 操作の許可に上限値が設定されている場合

<figure><img src="/files/llsQXXT0k7277Hdlarp5" alt=""><figcaption></figcaption></figure>
