---
schema_version: "1"
id: c6830465ab87448033de2e101955f2f2d7c635dcb0a2e320073b6410d440bfea
title: 安全
collection: architect
version: next
locale: ja-jp
portal_url: https://docs.salesforce.com/architect/next/ja-jp/well-architected/guides/secure.md
canonical_url: https://staging.architect.salesforce.com/docs/architect/ja-jp/well-architected/guide/secure.html
source_site: staging.architect.salesforce.com
content_type: documentation
content_hash: fb70618cdb802b8cebc44b3f5b7b632d4ebfec3499f05e86b067b9d06ea83e26
products:
  - 適切に設計された
  - Architect Site Content Repo
updated_at: 2025-10-01T00:00:00Z
---
> 更新スケジュールについては、[こちら](/docs/architect/ja-jp/well-architected/guide/contributors)を参照してください。

## はじめに

安全なシステムは、組織の関係者とデータを保護します。セキュアなアーキテクチャでは、ユーザー ID を検証し、必要な情報のみへのデータアクセスを制限し、データ侵害を防止します。

Salesforce は、Customer Trust とデータ セキュリティを優先します。Salesforce Platform はプライバシーとセキュリティを確保します。リアルタイムのシステム パフォーマンスおよびセキュリティ情報は、[Salesforce Trust](https://trust.salesforce.com/)で入手できます。

組織と顧客データを保護することは、セキュアな Salesforce ソリューションを構築するための基礎となります。Salesforce アーキテクトは、Salesforce の組み込みセキュリティ機能を利用して組織と顧客データを保護する責任を負います。これらの決定を行うときは、地理的分布、業種、会社の業務手順、顧客のデータ型を考慮します。

組織のセキュリティ、セッションのセキュリティ、データセキュリティの 3 つの領域に焦点を絞ることで、ソリューションのセキュリティを強化できます。

## 組織のセキュリティ

組織のセキュリティでは、検証済みの承認されたユーザーのみがシステムにアクセスでき、必要な機能とデータのみにアクセスできるようにすることで、不正なアクセスからシステムを保護します。

組織のセキュリティに問題があることを示す兆候には、次のようなものがあります。

- ユーザーを有効化または無効化するアドホックプロセス
- ユーザーまたはシステムロールの変更の承認を更新する手順が明確でない
- ユーザーセキュリティを正しく割り当てるための個人の組織的な Knowledge への依存
- 確立されたセキュリティフレームワークや業界のベストプラクティスに適合できない
- 構造化データガバナンスフレームワークとサポートポリシーがない

認証と承認に焦点を絞ることで、Salesforce 組織のより適切なセキュリティ制御を構築できます。

### 認証

認証は、システムにアクセスしようとしているユーザーの ID を検証する、セキュリティとアクセス管理に不可欠です。これは、人間のユーザー (従業員、顧客) と自動化されたユーザー (外部システム、インテグレーション) の両方に適用され、各ユーザー種別に特定の認証スキームが必要です。組織内のすべての Salesforce エントリポイントで安全なアクセスを確保するには、さまざまな認証方法を設定する必要があります。

Salesforce で安全な認証フローを作成する

- **人格ではなく個人に基づいて Salesforce ユーザーを作成します。**Salesforce の組み込み監査機能は、各ユーザーアカウントがプラットフォームにアクセスする 1 人の個人に対応している場合に最も効果的です。共有ユーザーアカウントを使用すると、これらの監査の有効性が低下し、セキュリティの脆弱性がさらに発生し、アカウント侵害の潜在的な影響がエスカレーションし、効果的な認証スキームを作成する機能が複雑になります。これには、インテグレーションユーザーのユーザーアカウントも含まれます。
- **安全な UI ベースのアクセスシナリオ**。ほとんどの人間のユーザーは、Salesforce 組織にある種の UI ベースのアクセス (ログインアクセスと呼ばれることが多い) を必要とします。Salesforce では、次のログインシナリオに対していくつかの保護レイヤーが提供されます。
  - **パスワードポリシー。**サイバー犯罪者は多くの場合、ユーザー名とパスワードを狙ってアプリケーションへの不正アクセスを取得します。[パスワード ポリシー](https://help.salesforce.com/s/articleView?id=sf.admin_password.htm&type=5)の設定は、ログイン アクセスを保護するための基本的なステップですが、Salesforce ではユーザーごとにポリシーを上書きできるため、これだけでは不十分であることに注意してください。
  - **多要素認証 (MFA)**。Salesforce では、すべての UI ベースのユーザーログインに [MFA が必要](https://help.salesforce.com/s/articleView?id=000352937&type=1)です。MFA は、ユーザー名とパスワードを正常に入力した後で追加の ID 形式または要素を入力するようにユーザーに要求することで、ログイン情報の漏洩やブルートフォース攻撃に対する重要な防御策を提供します。この追加要素は通常、モバイルデバイス、セキュリティキー、生体認証マーカーなどの物理的な形式を取ります。
  - **シングルサインオン (SSO)**。SSO シナリオでは、ユーザーは組織のアプリケーション全体で 1 セットのログイン情報のみを使用します。システムへのアクセスは一元的にプロビジョニングおよび管理されるため、セキュリティが向上します。Salesforce は、[SSO シナリオ](https://help.salesforce.com/s/articleView?id=sf.sso_about.htm&type=5)でサービスプロバイダーまたは ID プロバイダーとして機能できます。SSO 実装の停止や問題に対処できるように、一部またはすべてのシステム管理者が Salesforce に直接ログインできるようにします。
  - **ログイン後のステップ。**一部の使用事例では、システムにアクセスする前にユーザーが追加の手順を実行する必要がある場合があります。カスタムログインフローを実装して、次の追加プロセスステップでユーザーをガイドできます。例として、次のようなものがあります。
    - 契約条件への同意
    - [ログイン検出とパスワードなしのログインシナリオ](https://help.salesforce.com/s/articleView?id=sf.external_identity_passwordless_login_use_cases.htm&type=5)の使用
    - ユーザーあたりの同時 Salesforce セッション数を制限して、セッションベースの攻撃の可能性を減らす (「[セッションセキュリティ](/docs/architect/ja-jp/well-architected/guide/secure#セッションセキュリティ)」を参照)。
    - ジオフェンスサービスへの接続
- **安全な API ベース アクセス シナリオ**。すべてのユーザーが Salesforce 組織の API ベースのアクセスを要求できます。Salesforce では、API ベースのシナリオに対して次のような保護レイヤーが提供されます。
  - **API アクセスコントロール**。[API アクセス制御](https://help.salesforce.com/s/articleView?id=sf.security_api_access_control_about.htm&type=5)を使用しない場合、組織に接続アプリケーションが導入されていなくても、有効なログイン情報セットを持つすべてのユーザーが任意のアプリケーションを活用して組織に接続できます。データアクセス制御は引き続き適用されますが、ユーザーは制御されていない方法で情報にアクセスできました。たとえば、システム管理者の承認なしに、アプリケーションを使用して大量のデータをダウンロードしたり、破損した情報をアップロードしたりすることができます。
  - **API Only 権限**。Salesforce で API 限定ユーザー権限を設定できます。権限セットの一部としてこれを自動化ユーザーまたは[インテグレーションユーザー](https://help.salesforce.com/s/articleView?language=en_US&id=sf.integration_user.htm)人格に割り当てて、UI ベースのアクセスを完全にブロックします。
  - **証明書とキー**。[証明書と鍵](https://help.salesforce.com/s/articleView?id=sf.security_keys_about.htm&type=5)により、Salesforce は、承認された企業または会社からの要求であることを検証できます。[Salesforce で SSO](https://help.salesforce.com/s/articleView?id=sf.sso_about.htm&type=5) を使用する場合は、証明書とキーを設定する必要があります。
  - **接続アプリケーション**。Salesforce で[接続アプリケーション](https://help.salesforce.com/s/articleView?id=sf.connected_app_overview.htm&type=5)を設定すると、必要な認証プロトコル、認証範囲、セッションの動作など、Salesforce への外部システムアクセスを 1 つの定義で制御できます。
  - **指定ログイン情報**。[指定ログイン情報](https://help.salesforce.com/s/articleView?id=sf.named_credentials_define.htm&type=5)を使用すると、Salesforce 内の 1 つの定義で外部アクセス ポイントと認証プロトコルを制御できます。Apex、外部サービス、および Salesforce Connect データソースからのコールアウトの認証を安全に定義および管理するために使用できます。
- **Agentforce Agent ユーザー認証**。Salesforce 上に構築された Agentforce エージェントは、実際のユーザーと同様に管理可能な権限を持つエージェントユーザーオブジェクトを使用します。エージェントを設定するときは、アクセスをエージェントが果たす役割に合わせて慎重に調整し、データアクセスをエンドユーザーにサービスを提供するために必要なアクセスのみに制限します。同様に、エージェントは公開アクションと非公開アクションの両方で設定できます。非公開アクションの場合、エンドユーザーを検証して認証し、エージェントコンテキストに対応付けます。これにより、エージェントはエンドユーザーのアクセス制御内で偽装および操作を行い、セキュリティと Trust を維持できます。

次の[パターンとアンチパターン](/docs/architect/ja-jp/well-architected/guide/secure#組織のセキュリティパターンとアンチパターン)のリストは、Salesforce 組織での適切な (および劣悪な) 認証アーキテクチャを示しています。これらを使用して、構築前に設計を検証したり、さらなる改善の機会を特定したりできます。

Salesforce で使用できる認証ツールについての詳細は、「[Tools Relevant to Secure](/docs/architect/ja-jp/well-architected/guide/secure#セキュリティに関連するツール) (セキュリティに関連するツール)」を参照してください。

### Authorization

認証では、ユーザーがアクセスできる機能、機能、データ、および[認証](/docs/architect/ja-jp/well-architected/guide/secure#認証)後にこれらのリソースを使用して実行できるアクションを定義します。認証制御は人間のユーザーのみを対象とするのではなく、Agentforce Agent ユーザー (特に、認証されていないエンドユーザーにサービスを提供するエージェント) に合わせて調整する必要があります。

組織で認証できるユーザーの制限は重要な最初のステップですが、強力な認証と堅牢な認証を組み合わせることも重要です。適切な承認制御がないと、ユーザーはレコードを作成、編集、削除したり、ビジネスや関係者に有害な方法でシステム機能にアクセスしたりする可能性があります。承認管理が不十分な場合、システムが使いづらくなる可能性もあります。ユーザーがシステム内で実行できる操作を制御することで、より高いレベルの Trust を促進し、システムとユーザーの両方を保護できます。

Salesforce の安全な認証スキームを作成する

- **最小権限の原則**に従います。ユーザーに ToDo に必要な権限のみを割り当てることで、最小権限 (PoLP) の原則を受け入れます。この原則に従うには、詳細でモジュール化された権限セットを設計します。これにより、権限セットグループを使用した高度なアクセス制御が可能になり、[ミュート](https://help.salesforce.com/s/articleView?id=sf.perm_set_groups_muting.htm&type=5)や[有効期限の設定](https://help.salesforce.com/s/articleView?id=release-notes.rn_forcecom_permissions_assn_expiration.htm&type=5&release=238)などの権限を正確に管理できます。システムの[機能単位](/docs/architect/ja-jp/well-architected/guide/composable#機能単位)をビジネス機能に合わせて、詳細な権限と有効な権限セットグループを定義します。権限は、Salesforce の*メタデータ*アクセスに適用されます。Salesforce *データ*アクセスの PoLP の設定についての詳細は、「[共有と表示](/docs/architect/ja-jp/well-architected/guide/secure#共有と表示)」を参照してください。
- **ユーザーアクセスは、個人ではなく人格の観点から考えます。**個々のユーザーの観点から認証 (またはセキュリティ全般) を考慮すると、システムを拡張および進化させることはできません。代わりに、ユーザーのグループを表す人格を設計して管理します。セキュアな Salesforce ソリューションでは、認証に個人を使用し、認証に人格を使用します。個別の人格のセキュリティ設定を定義することで、セキュリティモデルのアクセス権と権限を詳細に制御できるため、長期的にリファクタリングする必要が最小限に抑えられます。定義するセキュリティ人格を[設計標準とドキュメント](/docs/architect/ja-jp/well-architected/guide/intentional#読みやすさ)に含めます。
- **権限セットと権限セットグループを使用して、メタデータへのユーザーアクセスを制御します。**権限セットと権限セットグループは、ユーザーがアクセスできるメタデータとそのメタデータで実行できる操作を制御します。Salesforce メタデータについての詳細は、「[メタデータとデータ](/docs/architect/ja-jp/fundamentals/guide/architecture-basics#メタデータとデータ)」を参照してください。権限セットと権限セットグループを使用して、アプリケーションの割り当て、機能ライセンスの有効化、管理パッケージアクセス、システム権限、[CRUD](https://developer.salesforce.com/docs/atlas.en-us.214.0.lightning.meta/lightning/apex_crud_fls.htm) アクセス、項目レベルのアクセスを設定します。このアクセス権を[設計標準とドキュメント](/docs/architect/ja-jp/well-architected/guide/intentional#読みやすさ)に含めます。
- **組織の共有設定 (OWD) と共有を使用して、ユーザーのデータアクセスを制御します。**[データとメタデータ](/docs/architect/ja-jp/fundamentals/guide/architecture-basics#メタデータとデータ)は Salesforce では別個のエンティティであり、それぞれに個別のアクセス制御が必要です。OWD と組み込み共有ツールを使用して、Salesforce データ (個々のレコード、ファイル、ドキュメント) のアクセス権を設定します。詳細は、「[データセキュリティ](/docs/architect/ja-jp/well-architected/guide/secure#データセキュリティ)」を参照してください。
- **OAuth 範囲を使用して、接続アプリケーションのアクセスを制御します。**接続アプリケーションを設定するときに、アプリケーションユーザーが Salesforce リソースに対して持つ[範囲](https://help.salesforce.com/s/articleView?id=remoteaccess_oauth_tokens_scopes.htm&type=5&language=en_US)またはアクセス権限を定義します。OAuth トークンの管理についての詳細は、「[セッション管理」](/docs/architect/ja-jp/well-architected/guide/secure#セッション管理)を参照してください。
- **インテグレーションごとに 1 人の Salesforce ユーザーを作成します。**最小権限の原則に従うには、インテグレーションごとに一意の Salesforce [インテグレーションユーザー](https://help.salesforce.com/s/articleView?id=sf.integration_user.htm)を作成します。これにより、特定のデータアクセスを割り当てて、操作の制御を改善し、トランザクションのトレーサビリティを確保し、潜在的なセキュリティ侵害の影響を最小限に抑えることができます。
- **すべてのエージェントユーザーに対して PoLP を使用して一意のアカウントを実装します。**各 Agentforce Agent ユーザーは一意であり、複数のエージェントで再利用しないでください。これらのアカウントの権限は、最小権限の原則に厳密に従う必要があります。エージェントユーザーが実行するアクションは、Salesforce 内の高度なセキュリティコンテキストで、または Salesforce のアクセス制御が適用されない外部システムに対して動作する場合があります。これにより、アクションが機密情報にアクセスしたり、ユーザーに開示したりする可能性があります。
- **プロファイルの使用を最小限に抑え、プロファイル外のアクセス制御を移行します。**プロファイルを使用すると、[ログイン IP 範囲](https://help.salesforce.com/s/articleView?id=sf.security_networkaccess.htm&type=5)、[ログイン時間](https://help.salesforce.com/s/articleView?id=sf.login_hours.htm&type=5)、従来の Salesforce Classic ユーザー インターフェイスに固有の機能(具体的には、デフォルトのレコード タイプとページ レイアウトの割り当て)へのアクセスを制限できます。現在プロファイルにあるその他の機能は、[権限セットおよび権限セットグループ](https://help.salesforce.com/s/articleView?id=sf.perm_set_groups_create_with_perm_sets.htm)の同等の機能に移行する必要があります。Salesforce Classic UI 機能に関連付けられたプロファイルの機能は、修復の対象にする必要があります。

次の[パターンとアンチパターン](/docs/architect/ja-jp/well-architected/guide/secure#組織のセキュリティパターンとアンチパターン)のリストは、Salesforce 組織での適切な (および不適切な) 認証方法を示しています。これらを使用して、構築前に設計を検証したり、さらなる改善の機会を特定したりできます。

Salesforce から入手できる認証ツールについての詳細は、「[Tools Relevant to Secure](/docs/architect/ja-jp/well-architected/guide/secure#セキュリティに関連するツール) (セキュリティに関連するツール)」を参照してください。

### 組織のセキュリティパターンとアンチパターン

次の表に、組織で検索 (または作成) するパターンと、回避または修正の対象となるアンチパターンの選択を示します。

✨ [パターン & アンチパターンエクスプローラー](/docs/architect/ja-jp/well-architected-tools/guide/trusted-organizational-security)で、組織のセキュリティに関するより多くのパターンを検出します。

<table>
    <colgroup>
       <col span="1" style="width: 10%;">
       <col span="1" style="width: 45%;">
       <col span="1" style="width: 45%;">
    </colgroup>
    <tbody>
        <tr>
            <th scope="colgroup"></th>
            <th scope="colgroup">パターン</th>
            <th scope="colgroup">アンチパターン</th>
        </tr>
        <tr>
            <td rowspan="3"><b>認証</b></td>
            <td><b>設計標準およびドキュメント:</b>
            <br> 承認済みセキュリティ人格が明確に定義され、リストされている
            <br> - セキュリティマトリックスにセキュリティ人格と許可された認証スキーム (UI、API) の対応付けが存在する</td>
            <td><b>設計標準とドキュメントが存在する場合、次のことを行います。</b>
            <br> - セキュリティ人格を含めない
            <br> -セキュリティ人格と許可された認証スキームの明確な対応付けを含むセキュリティマトリックスを含めない</td>
        </tr>
        <tr>
            <td><b>組織内：</b>
            <br> - <a href="https://security.salesforce.com/mfa-requirement-check">Salesforce MFA Check</a> に合わせたログイン設定
            <br> -Salesforce にログインしているユーザーとエンティティのリレーションは 1 対 1 (共有ユーザーなし)
            <br> - <a href="https://help.salesforce.com/s/articleView?language=en_US&type=5&id=sf.security_api_access_control_about.htm">API アクセスコントロール</a>により、未承認の接続アプリケーションを介したユーザーの認証を防止
            <br> SSO が有効になっている場合、承認された管理者ユーザーにダイレクトログインアクセス権がある</td>
            <td><b>組織内：</b>
            <br> - ログイン設定が <a href="https://security.salesforce.com/mfa-requirement-check">Salesforce MFA Check</a> に適合していない
            <br> -Salesforce にログインしているユーザーとエンティティ間のリレーションが 1 対 1 ではない (共有ユーザーアカウントがある)
            <br> - ユーザーがファイアウォールの内側から Salesforce にアクセスする場合、ファイアウォールはハードコードされた IP アドレスを使用して Salesforce との間の通信を保護します。
            <br> - <a href="https://help.salesforce.com/s/articleView?language=en_US&type=5&id=sf.security_api_access_control_about.htm">API アクセスコントロール</a>が有効になっていない
            <br> -SSO が有効になっている場合、承認された管理者ユーザーには直接ログインアクセス権がありません。</td>
        </tr>
        <tr>
            <td><b>LWC、Apex、Aura の場合:</b>
            <br> - 認証を実行するメソッドは、指定ログイン情報を使用してユーザー名/パスワードフローを処理します。
            <br> - ユーザー名やパスワードが判読可能な形式でコードに表示されない (ハードコードされた値や文字列がない)
            <br> - カスタムログインフローが存在する場合、関連するすべてのカスタムコードで適切な <code>SessionManagement</code> メソッドが使用されます。</td>
            <td><b>LWC、Apex、Aura の場合:</b>
            <br> - 認証がアドホックで処理される
            <br> - ユーザー名とパスワードがコードに表示される</td>
        </tr>
        <tr>
            <td rowspan="4"><b>Authorization</b></td>
            <td><b>設計標準およびドキュメント:</b>
            <br> - Salesforce へのアクセス権を持つすべてのユーザーとシステムがセキュリティマトリックスの 1 つ以上の人格に対応付けられる
            <br> -セキュリティマトリックスには、メタデータ権限と割り当てられたユーザー人格が明確にリストされています。
            <br> - 権限を昇格させる使用事例が明確にリストされている。たとえば、次のようなケースがあります。
            <br> -- 「すべてのデータの編集」権限
            <br> -- 「すべてのデータの参照」権限 </td>
            <td><b>設計標準とドキュメントが存在する場合、次のことを行います。</b>
            <br> - セキュリティマトリックスを含めない
            <br> - 権限を明確にリストしない
            <br> - 権限の昇格を許可する使用事例を明確にリストしない</td>
        </tr>
        <tr>
            <td><b>組織内：</b>
            <br> 権限セットと権限セットグループは、メタデータへのアクセスを制御するために使用されます。
            <br> - 権限セットと権限セットグループはビジネス機能に合わせて調整
            <br> - ユーザーに割り当てられた権限は、セキュリティマトリックス定義に従います。
            <br> - プロファイルは、ログイン IP アドレスの制限とログイン時間を制御するためにのみ最小限使用されます。
            <br> - すべてのインテグレーションに一意の API 専用インテグレーションユーザーが設定されている</td>
            <td><b>組織内：</b>
            <br> - 権限セットグループがビジネス機能に基づいてアクセスできるように設定されていない
            <br> 権限セットがアドホックに設定されている
            <br> - 権限セットが冗長であるか、重複が激しい。明確な機能ロジックやセット間の違いを理解するのが難しい。
            <br> - ユーザーに割り当てられた権限がセキュリティマトリックス定義に従っていない
            <br> - プロファイルにはメタデータのアクセス制御が含まれます。
            <br> - API 限定ユーザーが設定されていないか、複数のインテグレーションで共有されている</td>
        </tr>
        <tr>
            <td><b>Apex:</b>
            <br> - データベース操作では、次のような項目レベルおよびオブジェクトレベルのアクセスチェックが適切に実行されます。
            <br> -- DML およびデータベース DML ステートメントは、データ操作の<a href="https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_enforce_usermode.htm">ユーザーモード</a>またはシステムモードを宣言します。
            <br> -- DML およびデータベース DML ステートメントでは、データ操作の前に <code>stripInaccessible</code> メソッドを使用します。
            <br> -- SOQL および SOSL ステートメントは、<code>WITH USER_MODE</code> および <code>WITH SYSTEM_MODE</code> キーワードおよび/または
            <br> -- <code>stripInaccessible</code> メソッドは、クエリ結果とサブクエリ結果を絞り込むために使用されます。
            <br> -- sObject describe の結果メソッド (<code>isAccessible</code>、<code>isCreateable</code>、<code>isUpdateable</code>、<code>isDeletable</code>) は慎重に使用されます。</td>
            <td><b>Apex:</b>
            <br> - DML、データベースクラスのメソッド、SOQL および SOSL がデフォルトのシステムモードで実行
            <br> - 次のようなデータベース操作では、アクセスチェックが適切に実行されません。
            <br> -- DML またはデータベースクラスのメソッドでは、sObject および項目レベルのアクセス権に対して <code>isAccessible</code>、<code>isCreateable</code>、<code>isUpdateable</code>、<code>isDeletable</code> チェックのみが使用されます。
            <br> -- SOQL クエリは、アクセス制限に <code>WITH SECURITY_ENFORCED</code> キーワードのみを使用します。</td>
        </tr>
        <tr>
            <td><b>フロー内</b><a href="https://developer.salesforce.com/docs/atlas.en-us.secure_coding_guide.meta/secure_coding_guide/secure_coding_considerations_flow_design.htm">(フロー設計のセキュリティに関する考慮事項)</a><b>:</b>
            <br> - フローでは、可能な限り制限の厳しい実行コンテキスト (理想的にはユーザーモード) が使用されます。
            <br> -セキュリティ上の機密データや特権データへのアクセスは、実行コンテキストを最小限に抑えるためにサブフローによって実行されます。
            <br> - レコードトリガーフローで実行されるロジックの制限
            <br> フロー入力が検証され、許可されたペイロードのみが入力として渡されることを確認します。</td>
            <td><b>フロー内:</b>
            <br> - フローが実行するアクションに関係なく、フローはシステムモードまたは共有なしのシステムモードで実行されます。
            <br> - すべてのフローロジックが 1 つの大きなフロー内で実行される
            <br> - フロー入力は検証されず、検証なしでコンシューマーに渡されます。</td>
        </tr>
    </tbody>
</table>

## セッションセキュリティ

セッションとは、ユーザーに関連付けられた一定期間の一連の要求と応答です。ユーザーが Salesforce に対して正常に認証されると、セッションが開始されます。[セッションセキュリティ](https://help.salesforce.com/s/articleView?language=en_US&type=5&id=sf.security_overview_sessions.htm)とは、セッションの干渉やハイジャックを阻止して不正アクセスやデータ侵害を防止するようにシステムを設定する方法です。

システムのすべてのユーザー活動はセッションのコンテキスト内で発生するため、セッションの開始方法、セッション中に実行できること、ユーザーが使用する (および使用する) デバイス、疑わしいセッション動作や異常なセッション動作を検出して対処する方法を考慮することが重要です。

Salesforce でセッションセキュリティを構築するには、セッション管理、デバイスアクセス、脅威の検出と対応という 3 つの鍵に焦点を当てます。

### セッション管理

セッションは、ユーザーが正常に認証され、Salesforce へのアクセス権が付与されたときに開始されます。これらのセッションにより、プラットフォームは特定の要求と応答を特定のユーザーに関連付けることができます。

HTTPS プロトコルは、フロントエンドクライアントと Salesforce Platform 間の通信を容易にします。クライアントには、ブラウザー、モバイルアプリケーション、ローカルアプリケーションなどが含まれます。HTTPS はステートレスなプロトコルです。つまり、すべての通信は個別であり、以前または将来の通信とは無関係です。

このステートレスなアプローチにより、ネットワーク通信が高速化され、パケット間のリンクの切断によるエラーが排除されます。ただし、Web アプリケーションには、複数の要求と応答のやり取りで各ユーザーの ID やその他の関連情報を追跡する方法がまだ必要です。Salesforce は、ほとんどの Web アプリケーションと同様に、セッションと[トークン](https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_tokens_scopes.htm&type=5)を使用してこれを実現します。

- **セッション**により、Salesforce は要求と応答をユーザーに関連付けることができます。ユーザーが認証されると、プラットフォームはセッション ID をクライアントアプリケーションに送信します。この ID には、ユーザーの要求 (データの移動、検索、送信など) が含まれます。
- **トークンを使用**すると、ユーザーおよび接続アプリケーションは ID を 1 回検証するだけで、それ以降は一意のアクセストークンを使用できます。トークンの有効期限は制限され、特定のリソースへのアクセスのみが許可されます（アクセスレベルの設定についての詳細は、「[認証](/docs/architect/ja-jp/well-architected/guide/secure#authorization)」を参照してください）。トークンを使用すると、ユーザーがログインしなくても、承認されたリソースにアクセスできます。

セッションとトークンが適切に保護されていない場合、悪意のある人物がセッションとトークンを妨害し、ユーザーになりすましたり、システムで悪意のあるコードを実行したりする可能性があります。

Salesforce の安全なセッション管理を構築する

- **Salesforce でセッション種別がどのように分類されるかを理解**します。承認済み[セッション種別](https://help.salesforce.com/s/articleView?id=sf.security_session_types.htm&type=5)を特定してセキュリティユーザー人格に対応付け、ドキュメントに記録します。
- **セッションの発信方法とセッション トラフィックの送信先を制御します。**さまざまなユーザー人格が開始できるセッションの種類を特定したら、未承認のソースまたはコンテキストから発生するセッションをブロックするコントロールを設定します。Salesforce では、次のようなセッションの開始元とトラフィックを制御する方法がいくつか用意されています。
  - **組み込みセッション保護**。Salesforce では、クロスサイトスクリプティング、クロスサイト要求フォージェリ、[コンテンツ盗聴](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#mime_sniffing)、[クリックジャック](https://owasp.org/www-community/attacks/Clickjacking)など、セッションベースの悪意のある活動に対する組織全体の保護が自動的に有効になります。これらの保護は無効にしないでください。無効にできない保護もあります。
  - **ドメインと IP 範囲**。すべての Salesforce 組織で[\[私のドメイン](https://help.salesforce.com/s/articleView?id=sf.domain_name_overview.htm&type=5)]がデフォルトで有効になっており、Salesforce アクセス用の会社固有のサブドメインが作成されます。\[私のドメイン] を使用して、組織に関連付けられた名前をカスタマイズまたは変更できます。さらに、Salesforce では Experience Cloud サイトやその他のアプリケーションページの追加[ドメイン設定](https://help.salesforce.com/s/articleView?id=sf.domain_mgmt_overview.htm&type=5)をサポートしています。注意:ユーザーが会社のファイアウォールの内側から Salesforce にアクセスする必要がある場合、[必要なドメイン](https://help.salesforce.com/s/articleView?id=sf.setup_domains.htm&type=5)をファイアウォールの許可リストに追加します。[ログイン IP アドレス](https://developer.salesforce.com/docs/atlas.en-us.securityImplGuide.meta/securityImplGuide/users_profiles_epui_login_ip_ranges_edit.htm)と[信頼済み IP アドレス](https://help.salesforce.com/s/articleView?id=sf.security_networkaccess.htm)を設定して、Salesforce への受信ログイン要求とセッション要求を制御できます。
  - **ログイン時間**。特定のユーザー 人格が勤務時間を設定している場合、定義され[たログイン時間](https://help.salesforce.com/s/articleView?id=sf.login_hours.htm&type=5)外に Salesforce にアクセスするユーザー 人格を制限できます。
- セッションレベルセキュリティの強化が必要な活動を**制御します**。デフォルトでは、セッションには標準と高保証の 2 種類の[セキュリティレベル](https://help.salesforce.com/s/articleView?id=sf.security_overview_sessions.htm&type=5)を設定できます。これらのセキュリティレベルを使用して、ユーザーがレポートやダッシュボードへのアクセス、Salesforce 組織のセキュリティ設定の管理などの活動を実行できるようにする方法と実行できないようにする方法を制御します。セッションレベルのセキュリティポリシーでは、ユーザーが操作を実行するために[高保証セッション](https://help.salesforce.com/s/articleView?id=sf.security_auth_require_ha_session.htm&type=5)の確立を要求したり、機密操作の実行をブロックしたりする場合があります。
- セッションベースの権限の追加が必要な活動を**制御します**。Salesforce では、[セッションベースの権限](https://help.salesforce.com/s/articleView?id=sf.perm_sets_session_use.htm&type=5)の有効化がサポートされ、特定のセッション中にユーザーが権限の昇格やアクセス権の付与を一時的に許可できます。セッションベースの権限は、フローまたは Salesforce API で有効化および無効化できます。
- **タイムアウト**による無効なユーザーセッションの管理。無効なセッションを終了することは、セッションセキュリティの管理の重要な部分です。これにより、たとえば、ユーザーがブラウザータブで Salesforce セッションを開いたままにして別のアプリケーションで作業している場合や、ユーザーのモバイルデバイスが Salesforce にログインしていて無人の場合にシステムを保護できます。Salesforce のデフォルトのセッション無操作タイムアウトは 2 時間です。セッションの無操作タイムアウトレベルを増減できますが、タイムアウトの増減は、説得力のある十分な根拠に基づいて行う必要があります。
- **トークン設定を使用して接続アプリケーションセッションを管理します。**接続アプリケーションを設定するときに、接続アプリケーションを使用して Salesforce にアクセスするユーザーに付与される範囲 (認証レベル) も定義します。この範囲は、接続アプリケーションのユーザーが正常に認証された後に発行される [OAuth トークン](https://help.salesforce.com/s/articleView?id=remoteaccess_oauth_tokens_scopes.htm&type=5&language=en_US)を使用してセッションレベルで適用されます。トークンの有効期間は、[トークン更新ポリシー](https://help.salesforce.com/s/articleView?id=remoteaccess_oauth_tokens_scopes.htm&type=5&language=en_US)を使用して制御できます。組織管理者は、必要に応じてユーザーごと、または組織ごとにトークンを手動で取り消すことができます。

次の[パターンとアンチパターン](/docs/architect/ja-jp/well-architected/guide/secure#セッションセキュリティパターンとアンチパターン)のリストは、Salesforce 組織での適切な (および不適切な) セッション管理を示しています。これらを使用して、構築前に設計を検証したり、さらなる改善の機会を特定したりできます。

Salesforce から入手できるセッション管理ツールについての詳細は、「[Tools Relevant to Secure](/docs/architect/ja-jp/well-architected/guide/secure#セキュリティに関連するツール) (セキュリティに関連するツール)」を参照してください。

### デバイスアクセス

現在のコンテキストでは、*デバイス*とは、デスクトップワークステーション、ノートパソコン、タブレット、携帯電話など、個人が Salesforce にアクセスするために使用する電子機器を指します。

ポータブルデバイスを使用すると、ユーザーはどこからでも柔軟に Salesforce にアクセスできます。ただし、この利便性により、悪意のあるアクターにさらなる攻撃ベクトルがもたらされる可能性があります。これらの脅威ベクトルは、公共の場所で肩を並べてログイン情報を盗む単純な戦術から、デバイスにマルウェアをインストールしたり、偽の公衆 Wi-Fi ネットワークを作成してデータ送信を傍受したりするより高度な方法まで多岐にわたります。このため、デバイス (特にポータブルデバイス) のセキュリティ保護は、システム全体のセキュリティにとって不可欠です。

Salesforce のデバイスアクセスを保護する

- **Salesforce 提供**のモバイルアプリケーションソリューション。Salesforce にアクセスする必要があるモバイルデバイスのユーザーに、iOS および Android で使用可能な公式の [Salesforce アプリケーション](https://help.salesforce.com/s/articleView?id=sf.mobile_security.htm&type=5)を使用してもらいます。ビジネスニーズにカスタムモバイルソリューションが必要な場合は、安全な認証および承認方法を提供する [Salesforce Mobile SDK](https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/intro.htm) を使用する必要があります。
- **モバイルデバイスの使用をセッション管理に組み込みます**。セッションセキュリティレベル、セッションタイムアウト、その他のセッションコンテキスト制御では、モバイルデバイスでのユーザーからの予想されるアクセスを考慮する必要があります。Salesforce へのアクセスを許可するデバイスと許可しないデバイス、およびモバイルセッションにアクセスできるユーザーの種類を検討します。セキュリティ人格ドキュメントにモバイルアクセス標準を含めます。このトピックについての詳細は、「[セッション管理」](/docs/architect/ja-jp/well-architected/guide/secure#セッション管理)を参照してください。
- **モバイルデバイス管理 (MDM) テクノロジーを使用して、デバイスレベルのセキュリティを補完します。**iOS および Android 用の Salesforce アプリケーションは、[多くの一般](https://help.salesforce.com/s/articleView?id=sf.mobile_security_mdm.htm&type=5)的な MDM スイートと互換性があります。任意の MDM ソリューションを使用して、ユーザーデバイスの Salesforce アプリケーションの追加のアクセス制御を設定できます。
- **モバイルアプリケーション管理 (MAM) テクノロジを使用してアプリケーションレベルのセキュリティを補完します。**MAM テクノロジーは、モバイルデバイスでのアプリケーションレベルの制御をサポートします。Salesforce では、Salesforce モバイルアプリケーション用の有料[MAM アドオン](https://help.salesforce.com/s/articleView?id=sf.mobile_security_mam_overview.htm&type=5)を提供しています。

次の[パターンとアンチパターン](/docs/architect/ja-jp/well-architected/guide/secure#セッションセキュリティパターンとアンチパターン)のリストは、Salesforce 組織での適切な (および不適切な) デバイス管理を示しています。これらを使用して、構築前に設計を検証したり、さらなる改善の機会を特定したりできます。

Salesforce から入手できるデバイス管理ツールについての詳細は、「[Tools Relevant to Secure](/docs/architect/ja-jp/well-architected/guide/secure#セキュリティに関連するツール) (セキュリティに関連するツール)」を参照してください。

### 脅威の検出と対応

脅威検知は、悪意のある活動を示している可能性があるシステム内の行動パターンを特定するプロセスです。これには、ダウンロードされるデータ量が平均を超えている場合や、ユーザーが平均よりも短い期間内に複数のレコードの機密データを含む項目を変更した場合などがあります。脅威への対応には、自動セッションの有効期限、アラート、その他の通知を含めることができます。

脅威検知の目標は、潜在的な問題をできるだけ早く特定して対応することです。リアルタイムの脅威検知に基づいてアクションを実行することで、悪意のある行動を追跡から阻止できます。Salesforce は、アドオンまたは [Salesforce Shield](https://www.salesforce.com/products/platform/products/shield/) の一部として[リアルタイムイベント監視](https://help.salesforce.com/s/articleView?id=sf.real_time_event_monitoring_overview.htm&type=5)を提供します。機密性の高いアプリケーションがある場合や、堅牢なリアルタイムの脅威検知および対応機能が必要な場合、次のいずれかのソリューションを使用します。

Salesforce ソリューションの効果的な脅威検知および対応戦略を構築する

- **組み込み監査機能**。Salesforce には、組織への変更を追跡および監査するのに役立つさまざまな[組み込みツール](https://help.salesforce.com/s/articleView?id=sf.monitoring_admin.htm&type=5)が用意されています。たとえば、[監査履歴設定](https://help.salesforce.com/s/articleView?id=sf.admin_monitorsetup.htm&type=5)では、管理アクションの監査履歴を表示できます。Salesforce では、デフォルトで項目レベルの変更が一定期間追跡されますが、[項目履歴管理](https://help.salesforce.com/s/articleView?id=sf.tracking_field_history.htm&type=5)を有効化して、項目の変更を UI で最大 18 か月間、API で最大 24 か月間表示できます。また、[項目監査履歴](https://help.salesforce.com/s/articleView?id=sf.field_audit_trail.htm&type=5)を有効化して、項目レベルの変更に関する監査履歴を無期限に保持できます (データを手動で削除するまで)。
- **定期的な監査レビュー**。リアルタイムの脅威検知で見逃される可能性のある異常な変更を特定するには、監査が不可欠です。正当なアクセス権を持つユーザーが長期にわたって毎日少数のレコードを一貫して削除するシナリオを考えてみます。このユーザーは、有効なログイン情報を持ち、レコードを削除する適切な権限を持っており、大量のレコードを一度に削除していないため、活動がリアルタイムの脅威として検出される可能性はほとんどありません。ただし、ユーザー活動レポートを確認する監査チームは、1 人のユーザーが経時的に過剰にレコードを削除しているこの傾向を明確に特定できるため、簡単に対処できます。[ガバナンス ポリシー](/docs/architect/ja-jp/well-architected/guide/intentional#ガバナンス)の一環として、ログイン履歴、ユーザー セッション アクティビティ、接続アプリケーションの使用状況を監査する定期的な間隔を設定します。
- **脅威対応戦略を作成し、セキュリティポリシーに含めます。**次の内容をカバーする脅威対応戦略を作成します。
  - 脅威対応種別定義(アラートや自動化など)と[関連する](/docs/architect/ja-jp/well-architected/guide/resilient#インシデント対応)関係者グループ。メッセージまたはアラートの設計についての詳細は、「[エラーと通知](/docs/architect/ja-jp/well-architected/guide/engaging#通知とメッセージ)」を参照してください。
  - 脅威とみなされる可能性があるリアルタイムの変更または活動の特定のカテゴリと、各カテゴリに関連付けられた対応種別
  - すべての自動脅威対応 (トークンの取り消し、セッションの終了、ユーザーアカウントの無効化、リソースへのアクセスのブロックなど) と自動化トリガーの明確なリスト

イベント監視では、リアルタイムの脅威の検出と対応を有効にすることで、この原則を適用するために必要なデータが提供されます。トランザクションセキュリティでは、会社のポリシーベースのアクションが適用され、イベント種別では、経時的なユーザーおよびアプリケーションアクセスの監視がサポートされます。

Salesforce のネイティブ脅威検知サービスは、統計モデルと機械学習モデルを使用して疑わしい行動を識別します。このサービスは、サイバー攻撃や疑わしいデータアクセスから保護する特定のイベントを生成します。

トランザクションセキュリティでは、組織で発生する主要なイベントを捕捉し、会社のポリシーベースのアクションを適用するフレームワークが提供されるため、セキュリティがさらに強化されます。これにより、イベント監視がロギングツールから自動セキュリティ防御の重要なコンポーネントに変わります。

以下の[パターンとアンチパターン](/docs/architect/ja-jp/well-architected/guide/secure#セッションセキュリティパターンとアンチパターン)のリストは、Salesforce 組織での適切な (および不適切な) 脅威の検出と対応を示しています。これらを使用して、構築前に設計を検証したり、さらなる改善の機会を特定したりできます。

Salesforce から入手できる脅威の検出、アラート、対応の自動化ツールについての詳細は、「[Tools Relevant to Secure](/docs/architect/ja-jp/well-architected/guide/secure#セキュリティに関連するツール)」を参照してください。

### セッションセキュリティパターンとアンチパターン

次の表に、組織で検索 (または作成) するパターンと、回避または修正の対象となるアンチパターンの選択を示します。

✨ [パターン & アンチパターンエクスプローラー](/docs/architect/ja-jp/well-architected-tools/guide/trusted-session-security)で、セッションセキュリティのその他のパターンを検出します。

<table>
    <colgroup>
       <col span="1" style="width: 10%;">
       <col span="1" style="width: 45%;">
       <col span="1" style="width: 45%;">
    </colgroup>
    <tbody>
        <tr>
            <th scope="colgroup"></th>
            <th scope="colgroup">パターン</th>
            <th scope="colgroup">アンチパターン</th>
        </tr>
        <tr>
            <td rowspan="3"><b>セッション管理</b></td>
            <td><b>設計標準およびドキュメント:</b>
            <br> -セキュリティ人格には、各人格の承認済みセッション種別とタイムアウト/期間設定が明確に記載されています。
            <br> - ログイン時間が指定されている (または不要として識別されている)
            <br> - 高度なセッションレベルセキュリティまたは権限を必要とする操作が明確で検出可能
            <br> - 接続アプリケーションの範囲とトークン管理ポリシーが明確で検出可能</td>
            <td><b>設計標準およびドキュメント:</b>
            <br> - セキュリティ人格が存在しないか、セッション種別とタイムアウト/期間設定に関する情報が不足しています。
            <br> - セキュリティポリシーに接続アプリケーションの範囲やトークン管理に関する情報が含まれていない</td>
        </tr>
        <tr>
            <td><b>組織内：</b>
            <br> - セッション監査では、ユーザーは予期されるセッション種別でのみ Salesforce にアクセスできます。
            <br> -「API 限定ユーザー」アクセスに対する明確な有効な権限セットがあり (「API 限定」権限が TRUE に設定されている)、すべてのインテグレーションユーザーと自動化ユーザーが割り当てられている
            <br> - ユーザーがファイアウォールの内側から Salesforce にアクセスする場合、ファイアウォールは IP アドレスではなく必須ドメインの許可リストを使用して、Salesforce との間の通信を保護します。
            <br> - 無効なセッションタイムアウト間隔がデフォルト (2 時間) を超えていない
            <br> 次の設定がすべて有効になっている。
            <br> -- [設定] ページのクリックジャック保護
            <br> -- 設定以外の Salesforce ページのクリックジャック保護
            <br> -- クロスサイトリクエストフォージェリ (CSRF) 保護
            <br> -- クロスサイトスクリプティング (XSS) 保護
            <br> -- コンテンツ盗聴保護の有効化
            <br> -- 参照元 URL の保護
            <br> -- Salesforce の外部にリダイレクトされる前にユーザーに警告する</td>
            <td><b>組織内：</b>
            <br> 定期的なセッション監査がない
            <br> - ユーザーが持つべきセッション種別の定義がない
            <br> インテグレーションユーザーと自動化ユーザーで「API のみ」権限が不明瞭または欠落している
            <br> - ユーザーがファイアウォールの内側から Salesforce にアクセスする場合、ファイアウォールはハードコードされた IP アドレスを使用して Salesforce との間の通信を保護します。
            <br> - 無効なセッションタイムアウト間隔がデフォルト (2 時間) を超えている
            <br> 次のいずれかの設定が無効になっている。
            <br> -- [設定] ページのクリックジャック保護
            <br> -- 設定以外の Salesforce ページのクリックジャック保護
            <br> -- クロスサイトリクエストフォージェリ (CSRF) 保護
            <br> -- クロスサイトスクリプティング (XSS) 保護
            <br> -- コンテンツ盗聴保護の有効化
            <br> -- 参照元 URL の保護
            <br> -- Salesforce の外部にリダイレクトされる前にユーザーに警告する</td>
        </tr>
        <tr>
            <td><b>LWC、Apex、Aura の場合:</b>
            <br> - カスタムログインフローが存在する場合、関連するすべてのカスタムコードで適切<code>な SessionManagement</code> メソッドを使用してセッションレベルセキュリティを割り当てる</td>
            <td><b>LWC、Apex、Aura の場合:</b>
            <br> - カスタムログインフローが存在する場合、セッションレベルセキュリティを割り当てるロジックはありません。</td>
        </tr>
        <tr>
            <td rowspan="2"><b>デバイスアクセス</b></td>
            <td><b>設計標準およびドキュメント:</b>
            <br> - デバイスポリシーが明確で検出可能
            <br> -セキュリティ人格が適切なデバイスの使用状況とポリシーに明確に対応付けられている</td>
            <td><b>設計標準およびドキュメント:</b>
            <br> セキュリティポリシーが存在しないか、デバイスアクセスに関する情報が含まれていない</td>
        </tr>
        <tr>
            <td><b>組織内：</b>
            <br> - Salesforce モバイル接続アプリケーションの設定で、無操作状態の後に PIN/パスコードロック解除が必要
            <br> ビジネスニーズにより、Salesforce モバイルにアクセスできるユーザーの厳格な制御が必要な場合、API アクセス制御が有効になり、Salesforce モバイルアプリケーションのすべてのユーザーに権限セットが割り当てられます。</td>
            <td><b>組織内：</b>
            <br> - Salesforce モバイル接続アプリケーションが、無操作時に PIN/パスコードロック解除を要求するように設定されていない
            <br> – ビジネスニーズにより、Salesforce モバイルにアクセスできるユーザーを厳密に制御する必要があるが、API アクセス制御が有効になっていない、または権限セットを使用して Salesforce モバイルアプリケーションへのアクセスを制御していない</td>
        </tr>
        <tr>
            <td rowspan="3"><b>脅威の検出と対応</b></td>
            <td><b>設計標準およびドキュメント:</b>
            <br> -セキュリティポリシーには、応答をトリガーする必要があるイベントのリストと適切な応答種別が含まれます。
            <br> - データモデルのすべてのオブジェクトで監査レベルが指定されている<br> - Salesforce 内で使用可能なログを確認する手順が文書化されている
            <br> - すべての自動応答が明確に文書化されている</td>
            <td><b>設計標準およびドキュメント:</b>
            <br> セキュリティポリシーが存在しないか、脅威の検出とアラートに関する情報が含まれていない
            <br> - 自動レスポンスのドキュメントが存在しないか不明瞭である</td>
        </tr>
        <tr>
            <td><b>社内：</b>
            <br> -監査データは、ビジネス関係者が理解してアクセスできるレポートで利用できます。
            <br> - 監査履歴とレポートの定期的な確認</td>
            <td><b>社内：</b>
            <br> -監査データは、アクセスと解釈に専門分野の専門知識が必要なログファイルでのみ使用できます。
            <br> - 監査情報をレビューするプロセスが存在しない</td>
        </tr>
        <tr>
            <td><b>組織内：</b>
            <br> - 異常な利用状況が検出された場合にユーザーアカウントを無効化したり、リソースへのアクセスをリアルタイムでブロックしたりすることで、脅威に対応するための自動化が実施されている
            <br> - 通知とアラートが、異常な活動について適切なユーザーに通知するように設定されている
            <br> - 非公開データまたは機密データを含むすべての項目で項目履歴管理が有効になっている</td>
            <td><b>組織内：</b>
            <br> -脅威に対応するための自動化が確立されていない
            <br> - 通知とアラートが、異常な活動について適切なユーザーに通知するように設定されていないか、異常な活動に関連する一部の通知とアラートが存在するが、それらはアドホックである
            <br> - 非公開データまたは機密データを含む項目で項目履歴管理が一貫して有効になっていない</td>
        </tr>
    </tbody>
</table>

## データセキュリティ

データセキュリティとは、不正アクセス、破損、意図しない削除からデータを保護する手段です。データセキュリティには、転送中および保存中のデータの保護が含まれます。

強力なデータセキュリティにより、システムへの不正アクセスによるリスクと潜在的な損害を最小限に抑えます。データセキュリティが不十分な場合、システムはデータ侵害に対して脆弱になり、顧客や会社に重大な影響を及ぼす可能性があります。したがって、データの保護は、安全なアーキテクチャを構築するための基本です。

データセキュリティを強化するには、まず Salesforce 内で何がデータとみなされるか、およびその分類を明確に理解します。Salesforce 組織内に保存されている個々のレコード、ファイル、ドキュメントは、そのデータです。メタデータとデータの違いについての詳細は、「[Salesforce アーキテクチャの基本](/docs/architect/ja-jp/fundamentals/guide/architecture-basics#メタデータとデータ)」を参照してください。

暗号化の使用だけでなく、共有と表示に重点を置くことで、Salesforce ソリューションでより強力なデータセキュリティを構築できます。

> 注意:データ セキュリティを設計するときは、[データ プライバシー](/docs/architect/ja-jp/well-architected/guide/compliant#データプライバシー)と[アーカイブおよびパージ](/docs/architect/ja-jp/well-architected/guide/resilient#継続性計画)を考慮してください。これらの概念はどちらもソリューション全体のデータ セキュリティに影響します。

### データ分類

機密性 (公開、内部、機密、制限付きなど) に基づいて、Salesforce Platform 内に保存されているすべてのデータを識別および分類します。各データ型の処理方法と保護方法の概要を示す明確な**データ分類ポリシー**を定義します。項目レベルセキュリティ、暗号化、データマスキングなどの適切なセキュリティ制御を実装して、ポリシーを適用し、機密データを不正アクセスや漏洩から保護します。これらの分類と統制がビジネスおよびコンプライアンス要件と一致していることを確認するために、定期的に確認および監査します。

### 共有と表示

共有と表示には、Salesforce 内のデータへのユーザーアクセスを制御するシステムの設定が含まれます。共有と表示によってユーザーがアクセスできる個々のレコードが制御されますが、これらの設定だけでは、特定のレコードでユーザーが実行できる操作や、そのレコード内のどの特定の項目が表示されるかは最終的に制御されません。データ操作を実行する権限 ([CRUD](https://developer.salesforce.com/docs/atlas.en-us.214.0.lightning.meta/lightning/apex_crud_fls.htm) など) は、メタデータアクセス制御を介してユーザーに割り当てられます。メタデータアクセス制御は、個々のオブジェクトおよびフィールドレベルでユーザーに設定できます。詳細は、「[承認](/docs/architect/ja-jp/well-architected/guide/secure#authorization)」を参照してください。

Agentforce アクションでは、通常は直接アクセスできない認証済みユーザーと匿名ユーザーの両方にデータを公開できます。Agentforce エージェントを作成するときは、エージェントに割り当てられたすべてのアクションを慎重に検討して文書化してください。アクションごとに、次のことを理解する必要があります。

- アクションでアクセスできるデータ。
- アクションが実行されるセキュリティコンテキスト。
- アクションに、エージェントセッションに機密データや制限されたデータを組み込むことができる Knowledge 取得機能やその他の機能があるかどうか。

Salesforce で効果的な共有と表示を設定する

- 有意義な職務に**関する設計アクセス**。[ユーザー人格](/docs/architect/ja-jp/well-architected/guide/secure#認証)を実行するビジネス機能に対応付けるセキュリティマトリックスを作成します。この[テンプレートを](/docs/architect/ja-jp/resources/guide/security-policy-template)基盤として使用して、共有と表示を設計します。有意義なビジネス機能の特定についての詳細は、「[機能単位](/docs/architect/ja-jp/well-architected/guide/composable#機能単位)」を参照してください。
- **最小権限の原則を適用する最もシンプルなパスを選択します。**共有および表示スキームの設計に[最小権限の原則](/docs/architect/ja-jp/well-architected/guide/secure#authorization)を適用する場合は、最もわかりやすい方法で実行します。過剰なデータ制限と共有スキームは、システムのメンテナンス性、拡張性、適応性に関するダウンストリームの問題を引き起こす可能性があります。代わりに、[Salesforce の柔軟](https://resources.docs.salesforce.com/latest/latest/en-us/sfdc/pdf/sharing_architecture.pdf)な階層化されたデータ共有を利用して、データレベルでユーザーアクセスの詳細なルールを設定します。
- **ビジネスで機密データを扱う場合を除き、*内部*組織の共有設定 (OWD) を \[公開/参照のみ] に設定し、\[非公開] を使用します。**OWD は、データレベルでユーザーに付与する「最小」権限のレベルを制御します。OWD のレベルより下のアクセスを制限することはできません。非公開 OWD は、すべての使用事例で理想的に見えますが、多くの場合、企業全体のユーザーは、複雑な共有スキームを介して、より権限の高い OWD を誤って複製してしまう可能性があります。また、非公開 OWD を使用すると、ユーザーが重複データを作成する可能性があります。データ量と親子または所有権の歪みによっては、共有の適用 (および再適用) が完了するまでに非常に時間がかかる場合があります。非公開の OWD では、これがさらに悪化します。OWD は CRUD 権限と項目レベルの表示を制御しないことに注意してください。OWD がビジネスニーズによって正当化される場合にのみ \[非公開] を選択します。多くの場合、そのような正当化は[コンプライアンス](/docs/architect/ja-jp/well-architected/guide/compliant)に関連します。
- **より大きなアクセスを許可するやむを得ないビジネス上の理由がない限り、*外部*組織の共有設定 (OWD) を \[非公開] に設定します。**[外部 OWD は](https://help.salesforce.com/s/articleView?id=sf.security_owd_external.htm&type=5)、Experience Cloud サイトやポータルなどから Salesforce データにアクセスするユーザーに適用されます。これにより、内部ユーザーと外部ユーザーに別々の OWD ベースラインを設定し、さまざまな種別の「最小」権限を許可できます。外部ユーザーの OWD は常に \[非公開] に設定します。よりオープンなレベルの例外は、ビジネスニーズによって明確に正当化する必要があります。

次の[パターンとアンチパターン](/docs/architect/ja-jp/well-architected/guide/secure#データセキュリティパターンとアンチパターン)のリストは、Salesforce 組織での共有と表示が適切 (および不適切) であることを示しています。これらを使用して、構築前に設計を検証したり、さらなる改善の機会を特定したりできます。

Salesforce の共有および表示ツールについての詳細は、「[Tools Relevant to Secure](/docs/architect/ja-jp/well-architected/guide/secure#セキュリティに関連するツール) (セキュリティに関連するツール)」を参照してください。

### 暗号化の使用

暗号化は、読み取り可能なデータを解読不可能なエンコード形式に変換します。暗号化されたデータは、鍵を使用して復号化したり、元の形式に変換したりできます。そのため、暗号化は、保存中および転送中のデータを保護するための最も効果的な方法の 1 つであり、権限のないユーザーがデータにアクセスした場合でもデータを読み取ることができません。

Salesforce ソリューションで暗号化を適切に使用するように設計する

- **転送中のデータは常に適切に暗号化してください。**Salesforce では、[Salesforce サポートブラウザ](https://help.salesforce.com/s/articleView?id=sf.getstart_browser_overview.htm&type=5)で実行されるすべてのセッションに [TLS を採用](https://help.salesforce.com/s/articleView?id=sf.security_overview_infrastructure.htm&type=5)し、HTTPS を使用した発信通話が特定のセキュリティ標準を満たしていることを要求します。プラットフォーム API でもデフォルトで HTTPS が使用されます。また、Salesforce Experience Cloud サイトまたはポータルとその関連 Salesforce 組織間で送信されるデータは、デフォルトで転送中に暗号化され[ます](https://help.salesforce.com/s/articleView?id=xcloud.security_pe_platform_encryption_faq.htm&type=5)。Salesforce の[組み込みメールサービス](https://help.salesforce.com/s/articleView?id=sf.emailadmin_send_email_from_salesforce_overview.htm&type=5)を使用する場合、Salesforce が[メールの送信](https://help.salesforce.com/s/articleView?id=sf.emailadmin_deliverability.htm&type=5)および送信試行に使用するトランスポート層セキュリティ (TLS) にはデフォルトレベルがあります。明確なビジネス上の理由がない限り、少なくとも組織の設定がデフォルト設定より低くならないようにする必要があります。データの分類と機密性に基づいて、AWS Direct Connect または Salesforce Private Connect を介して Salesforce へのプライベートネットワーク接続を活用することを検討してください。これにより、データが公開インターネットを通過するのではなく、ユーザーアクセスとインテグレーションの両方でプライベートネットワーク接続を介して安全に転送されます。
- **ビジネスで必要な場合は、保存データを暗号化します。**Salesforce では、保存データを暗号化する方法がいくつか用意されています。
  - **Hyperforce**[Hyperforce](/docs/architect/ja-jp/fundamentals/guide/platform-multitenant-architecture#hyperforce)を使用する組織では、データは保存時に暗号化されます。暗号化は、Salesforce によって組織で管理されます。独自の暗号化鍵を作成 (または破棄) することはできません。
  - **Salesforce Shield**。[Salesforce Shield](https://www.salesforce.com/products/platform/products/shield/)では、Salesforce 組織の保存データを、アプリケーション レイヤーやデータベース レイヤーなどの追加レイヤーで暗号化できます。Shield では、堅牢な \[Bring Your Own Key (BYOK)] オプションを含め、テナントの暗号化鍵の完全な管理機能を使用できます。非構造化データ (ファイル、添付ファイル、検索インデックス、行動など) を暗号化することもできます。Hyperforce ベースのインスタンスでは、外部鍵マネージャーを使用するオプションが用意されているため、独自の AWS KMS を使用できます。この機能を使用すると、Salesforce に保存されているデータの暗号化と復号化に使用される暗号化鍵を KMS 内で完全に制御できるため、セキュリティが強化され、組織のコンプライアンス要件に対応できます。

以下の[パターンとアンチパターン](/docs/architect/ja-jp/well-architected/guide/secure#データセキュリティパターンとアンチパターン)のリストは、Salesforce 組織での暗号化の適切な (および不適切な) 使用を示しています。これらを使用して、構築前に設計を検証したり、さらなる改善の機会を特定したりできます。

Salesforce から入手できる暗号化ツールについての詳細は、「[Tools Relevant to Secure](/docs/architect/ja-jp/well-architected/guide/secure#セキュリティに関連するツール) (セキュリティに関連するツール)」を参照してください。

### データセキュリティパターンとアンチパターン

次の表に、組織で検索 (または作成) するパターンと、回避または修正の対象となるアンチパターンの選択を示します。

✨ [パターン & アンチパターンエクスプローラー](/docs/architect/ja-jp/well-architected-tools/guide/trusted-data-security)で、データセキュリティに関するより多くのパターンを見つけます。

<table>
    <colgroup>
       <col span="1" style="width: 10%;">
       <col span="1" style="width: 45%;">
       <col span="1" style="width: 45%;">
    </colgroup>
    <tbody>
        <tr>
            <th scope="colgroup"></th>
            <th scope="colgroup">パターン</th>
            <th scope="colgroup">アンチパターン</th>
        </tr>
        <tr>
            <td rowspan="3"><b>共有と表示</b></td>
            <td><b>設計標準およびドキュメント:</b>
            <br> - 各ユーザー人格がアクセスを許可されているデータの概要がセキュリティマトリックスに記載されています。
            <br> - 外部ユーザーと内部ユーザーで異なるデータアクセス標準が使用される (該当する場合)
            </td>
            <td><b>設計標準およびドキュメント:</b>
            <br> - 設計標準とドキュメントが存在しないか、セキュリティマトリックスが含まれていない
            <br> - セキュリティマトリックスが存在する場合、ユーザー人格のデータアクセスの概要は示されません。
            </td>
        </tr>
        <tr>
            <td><b>組織内：</b>
            <br> - コンプライアンス要件により、内部ユーザーの組織の共有設定 (OWD) は [公開/参照]、内部ユーザーの OWD は [非公開]
            <br> - 外部ユーザーの OWD は非公開
            <br> -生成 AI はユーザーモードでのみ動作するか、システムアクセスの特定の使用目的に明確なビジネス上の正当性がある</td></td>
            <td><b>組織内：</b>
            <br> - 内部ユーザーの OWD がビジネス上の理由なく非公開に設定されているか、内部ユーザーの OWD が公開/参照・更新可能に設定されている
            <br> - 外部ユーザーの OWD がビジネス上の理由なく [非公開] 以外に設定されている
            <br> -生成 AI はビジネス上の正当性なしでシステムモードで動作します。</td>
        </tr>
        <tr>
            <td><b>Apex:</b>
            <br> - データにアクセスするすべてのコード (SOQL/SOSL) またはデータ操作を実行するすべてのコード (DML/データベースクラスのメソッド) <code>で共有</code>キーワードを使用</td>
            <td><b>Apex:</b>
            <br> - <code>共有</code>キーワードが一貫して使用されていない</td>
        </tr>
        <tr>
        <tr>
            <td rowspan="3"><b>暗号化の使用</b></td>
            <td><b>設計標準およびドキュメント:</b>
            <br> -転送中および(必要に応じて)保存中のデータ暗号化の使用事例が明確で検出可能
            <br> 承認済みの暗号化プロトコルが明確にリストされている
            <br> - コードドキュメントに暗号化が使用されている場所と使用されているプロトコルが明記されている</td>
            <td><b>設計標準およびドキュメント:</b>
            <br> - 承認された暗号化プロトコルが明確でない、またはリストに記載されていない
            <br> - コードが文書化されていないか、コードのどこでどのように暗号化が使用されているかに関するドキュメントが明確でない</td>
        </tr>
        <tr>
            <td><b>組織内：</b>
            <br> -保存時のデータ保護を強化する必要があるセキュリティ リスクが特定された場合、HyperforceまたはSalesforce Shieldのいずれかが保存時の暗号化を提供します。</td>
            <td><b>組織内：</b>
            <br> -ビジネス ニーズにより保存時のデータ保護を強化する必要があるが、HyperforceとSalesforce Shieldのどちらも使用されていない</td>
        </tr>
        <tr>
            <td><b>Apex:</b>
            <br> -ビジネス ニーズで転送中のデータ保護を強化する必要がある場合、統合に関連するすべてのコードは、<a href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_classes_restful_crypto.htm">暗号化クラス メソッド</a>を使用してロジックを実行し、送信前にデータを暗号化するか、受信時にデータを復号化します。</td>
            <td><b>Apex:</b>
            <br> - ビジネスニーズにより、転送中のデータ保護を強化する必要があるが、インテグレーションに関連するコードで、送信前または受信時にデータを暗号化せずにロジックを実行する、または暗号化クラスのメソッドをアドホックに使用する</td>
        </tr>
    </tbody>
</table>

## セキュリティに関連するツール

<table class="tools-table"><tbody><tr><th>ツール</th><th>説明</th><th>組織のセキュリティ</th><th>セッションセキュリティ</th><th>データセキュリティ</th></tr>
<tr><td><a href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_classes_restful_crypto.htm">Apex 暗号クラス</a></td><td>Apex でのデータの暗号化と復号化</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=security_api_access_control_about.htm&type=5&language=en_US">API アクセスコントロール</a></td><td>Salesforce API と接続アプリケーションへのアクセスを管理する</td><td class="check-col">X </td><td class="check-col">X</td><td class="check-col">X</td></tr>
<tr><td><a href="https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/sforce_api_objects_apianomalyevent.htm">API 異常イベント</a></td><td>ユーザーが API コールを実行する方法の異常を追跡する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=browser_security.htm&type=5&language=en_US">ブラウザのセキュリティ設定</a></td><td>機密データの保護と SSL 証明書の監視</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=security_certificate_based_auth.htm&type=5&language=en_US">証明書ベースの認証</a></td><td>一意のデジタル証明書を使用して個人を認証する</td><td class="check-col">X</td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.security_keys_about.htm&type=5">証明書と鍵</a></td><td>Salesforce からの外部 Web サイトへの要求を確認する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col">X</td></tr>
<tr><td><a href="https://github.com/forcedotcom/code-analyzer">コードスキャナー</a></td><td>Apex コードのセキュリティ脆弱性のスキャン</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=connected_app_overview.htm&type=5&language=en_US">接続アプリケーション</a></td><td>API と標準プロトコルを使用した統合</td><td class="check-col">X</td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/sforce_api_objects_credentialstuffingevent.htm">クレデンシャルスタッフィングイベント</a></td><td>盗まれたユーザーログイン情報を使用するログイン試行を追跡する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.configuring_remoteproxy.htm&type=5">CSP 信頼済みサイト</a></td><td>コードインジェクション攻撃 (クロスサイトスクリプティング) の防止</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.security_login_flow.htm&type=5">カスタムログインフロー</a></td><td>ユーザーのログインビジネスプロセスの制御</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=identity_about_customers_partners.htm&type=5&language=en_US">顧客 ID</a></td><td>Web サイトおよびアプリケーションのログインと検証を制御する</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.data_mask_overview.htm&type=5">Data Mask</a></td><td>Sandbox の機密データの自動マスキング</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.code_debug_log.htm&type=5">デバッグログ</a></td><td>組織で発生したイベントを追跡する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=admin_delegate.htm&type=5&language=en_US">代理管理者</a></td><td>非管理者ユーザーへの制限付き管理者権限の割り当て</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.security_overview_identity_verification.htm&type=5">デバイスの有効化</a></td><td>信頼できないブラウザー、デバイス、IP 範囲からのログインを確認する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.enhanced_transaction_security_policy_types.htm&type=5">拡張トランザクションセキュリティ</a></td><td>イベントを傍受し、ユーザー活動を監視および制御する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.modifying_field_access_settings.htm&type=5">フィールドアクセス</a></td><td>項目レベルでのデータアクセスの制御</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.field_audit_trail.htm&type=5">項目監査履歴</a></td><td>アーカイブされた項目履歴データを保持するポリシーを定義する</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.tracking_field_history.htm&type=5">項目履歴管理</a></td><td>項目履歴の追跡と表示</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=security_frontdoorjsp.htm&type=5&language=en_US">Frontdoor.jsp</a></td><td>既存のセッション ID とサーバー URL を使用したアクセスを許可</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://www.heroku.com/connect">Heroku Connect</a></td><td>Heroku と Salesforce 間の双方向同期</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://www.heroku.com/shield">Heroku Shield</a></td><td>HIPAA または PCI 準拠アプリケーションの作成</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=security_auth_require_ha_session.htm&type=5&language=en_US">高保証セッションセキュリティ</a></td><td>機密操作のセキュリティ強化が必要</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.identityconnect_about.htm&type=5">Identity Connect</a></td><td>ユーザーレコードを Active Directory アカウントに対応付ける</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.security_verification_history.htm&type=5">ID 検証履歴</a></td><td>ユーザー ID 検証試行の監査</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?language=en_US&id=sf.integration_user.htm">インテグレーションユーザーライセンス</a></td><td>API を介してのみデータと機能へのアクセス権を付与します。</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.security_ll_overview.htm&type=5">Lightning Login</a></td><td>脆弱なパスワードやパスワードを忘れた場合、およびアカウントがロックアウトされないようにする</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.identity_login_access.htm&type=5">ログインアクセス</a></td><td>サポートユーザーが別のユーザーとしてログインできるようにする</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.event_monitoring_faq.htm&type=5">ログインフォレンジック</a></td><td>なりすましを示す可能性がある行動を特定する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=users_login_history.htm&type=5&language=en_US">ログイン履歴</a></td><td>組織と Experience Cloud サイトのログイン試行の監視</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=security_device_management.htm&type=5&language=en_US">モバイルデバイス追跡</a></td><td>組織へのモバイルデバイスのアクセスを追跡および監視する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/intro.htm">Mobile SDK</a></td><td>スタンドアロンモバイルアプリケーション内の Salesforce Platform への接続</td><td class="check-col">X</td><td class="check-col">X</td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=release-notes.rn_security_monitor_user_permissions.htm&type=5&release=238">ユーザー権限の監視 (Shield)</a></td><td>権限セットおよび権限セットグループの変更</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.security_overview_2fa.htm&type=5">多要素認証</a></td><td>ログインに 2 つ以上の検証方法が必要</td><td class="check-col">X</td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.security_keys_uploading_mutual_auth_cert_api.htm&type=5">相互認証</a></td><td>SSL または TLS 相互認証の適用</td><td class="check-col"></td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.domain_name_overview.htm&type=5">私のドメイン</a></td><td>ログインページとポリシー、SSO、ソーシャルログインの設定</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.named_credentials_about.htm&type=5">指定ログイン情報</a></td><td>エンドポイント URL と認証パラメーターを指定する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.remoteaccess_authenticate.htm&type=5">OAuth 認証</a></td><td>トークン交換によるクライアントアプリケーションアクセスの承認 </td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=admin_password.htm&type=5&language=en_US">パスワードポリシー</a></td><td>パスワード履歴、長さ、複雑さの設定</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=release-notes.rn_forcecom_permissions_assn_expiration.htm&type=5&release=238">権限セットの割り当ての有効期限</a></td><td>権限セットおよび権限セットグループの割り当ての有効期限を設定する</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=release-notes.rn_security_monitor_user_permissions.htm&type=5&release=238">権限セットイベント</a></td><td>権限セットおよび権限セットグループへの変更を監視する</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=perm_set_groups.htm&type=5&language=en_US">権限セットグループ</a></td><td>複雑なアクセス要件をサポートする権限セットのバンドル</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=perm_sets_overview.htm&type=5&language=en_US">権限セット</a></td><td>ユーザーがメタデータ、機能、アプリケーションにアクセスする方法を制御する</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.private_connect_overview.htm&type=5">プライベートコネクト</a></td><td>Salesforce と Amazon Web Services 間のセキュアなインテグレーション</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.admin_userprofiles.htm&type=5">プロファイル</a></td><td>ログイン IP アドレスの制限とログイン時間の制御</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.real_time_event_monitoring_overview.htm&type=5">リアルタイムイベントモニタリング</a></td><td>Salesforce での標準イベントの監視と検出 </td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=configuring_remoteproxy.htm&type=5&language=en_US">リモートサイト設定</a></td><td>Apex または JavaScript コール用の外部サイトを登録</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/sforce_api_objects_reportanomalyevent.htm">レポート異常イベント</a></td><td>ユーザーがレポートを実行またはエクスポートする方法の異常を追跡する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.security_restriction_rule.htm&type=5">制限ルール</a></td><td>ユーザーが不要なレコードにアクセスできないようにする</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://github.com/forcedotcom/code-analyzer">Salesforce Code Analyzer</a></td><td>IDE、CLI、またはCI/CDを使用してコードをスキャンし、ベストプラクティスに準拠していることを確認する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.security_scoping_rule.htm&type=5">範囲設定ルール</a></td><td>ユーザーに表示されるデフォルトレコードを制御する</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.security_center.htm&type=5">セキュリティセンター</a></td><td>すべての組織のセキュリティ設定を表示し、ポスチャ変更のアラートを設定する</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.security_health_check.htm&type=5">セキュリティ状態チェック</a></td><td>セキュリティ設定の脆弱性を特定する</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/sforce_api_objects_sessionhijackingevent.htm">セッションハイジャックイベント</a></td><td>盗まれたセッション識別子を使用して不正アクセスを特定する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://developer.salesforce.com/docs/atlas.en-us.236.0.apexref.meta/apexref/apex_class_Auth_SessionManagement.htm">Session Management クラス</a></td><td>有効なセッションのセキュリティ設定のカスタマイズ</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=admin_sessions.htm&type=5&language=en_US">セッションセキュリティ設定</a></td><td>悪意のある攻撃から保護するためのセッションの設定</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.admin_monitorsetup.htm&type=5">Setup Audit Trail</a></td><td>システム管理者による最近の設定変更の追跡</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.managing_the_sharing_model.htm&type=5">共有設定</a></td><td>レコードレベルでのデータアクセスの制御</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.security_pe_overview.htm&type=5">Shield Platform Encryption</a></td><td>保存中および転送中の機密データを暗号化</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.sso_about.htm&type=5">シングルサインオン</a></td><td>1 回のログインで複数のアプリケーションにアクセスできるようにする</td><td class="check-col">X</td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.identity_scim_overview.htm&type=5">クロスドメイン ID 管理 (SCIM) システム</a></td><td>REST API を使用したシステム全体の ID の管理</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=sf.real_time_em_threat_detection.htm&type=5">脅威検知</a></td><td>統計と機械学習を使用した脅威の検出</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=security_networkaccess.htm&type=5&language=en_US">信頼済み IP 範囲</a></td><td>追加の検証を必要としない IP アドレスを定義する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000FYkDDUA1&tab=e">ユーザーアクセスレポート</a></td><td>ユーザーのオブジェクト、レコード、権限アクセス権の統合ビューの取得</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col">X</td></tr>
</table>

## Resources Relevant to Secure (セキュリティに関連するリソース)

<table class="tools-table"><tbody><tr><th>リソース</th><th>説明</th><th>組織のセキュリティ</th><th>セッションセキュリティ</th><th>データセキュリティ</th></tr>
<tr><td><a href="https://resources.docs.salesforce.com/latest/latest/en-us/sfdc/pdf/sharing_architecture.pdf">共有アーキテクチャのガイド</a></td><td>アクセスツール、共有モデル、使用事例についての詳細</td><td class="check-col"></td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="/docs/architect/ja-jp/resources/guide/design-standards-template">設計標準テンプレート</a></td><td>組織の設計標準を作成する</td><td class="check-col">X</td><td class="check-col">X</td><td class="check-col">X</td></tr>
<tr><td><a href="https://medium.com/salesforce-architects/how-to-build-a-user-security-model-12db130b3182">ユーザーセキュリティモデルの作成方法</a></td><td>ユーザーセキュリティモデルの理解を深める</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://medium.com/salesforce-architects/how-to-implement-the-principle-of-least-privilege-in-salesforce-59d3dbab9908?source=friends_link&sk=b7650c7fca8ad47bdd876399bbb0c635">Salesforce での最小権限の原則の実装方法</a></td><td>Salesforce での PoLP データアクセス制御の適用方法</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=security_user_session_info.htm&type=5&language=en_US">ユーザーセッションの監視</a></td><td>有効なセッションを確認して疑わしいセッションを終了する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://security.salesforce.com/mfa">多要素認証</a></td><td>Salesforce からの公式 MFA リソースへのアクセス</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://trailhead.salesforce.com/content/learn/modules/permission-set-groups/mute-permissions-in-permission-set-groups">権限セットグループ (Trailhead)</a></td><td>権限セットグループのハンズオン</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col">X</td></tr>
<tr><td><a href="https://developer.salesforce.com/docs/atlas.en-us.234.0.api_rest.meta/api_rest/intro_rest_architecture.htm">REST APIアーキテクチャ</a></td><td>REST API の用語と概念の理解</td><td class="check-col">X</td><td class="check-col">X</td><td class="check-col">X</td></tr>
<tr><td><a href="https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_concepts_security.htm">セキュリティと SOAP API</a></td><td>SOAP API の用語と概念について</td><td class="check-col">X</td><td class="check-col">X</td><td class="check-col">X</td></tr>
<tr><td><a href="https://medium.com/salesforce-architects/security-best-practices-for-api-access-and-internal-system-users-a6199d0cda09">API および内部システムユーザー向けのセキュリティのベストプラクティス</a></td><td>API ユーザーによる Salesforce へのアクセスの保護と内部システムユーザーの保護</td><td class="check-col">X</td><td class="check-col"></td><td class="check-col"></td></tr>
<tr><td><a href="https://resources.docs.salesforce.com/238/latest/en-us/sfdc/pdf/salesforce_security_impl_guide.pdf">セキュリティ実装ガイド</a></td><td>Salesforce セキュリティの包括的な確認</td><td class="check-col">X</td><td class="check-col">X</td><td class="check-col">X</td></tr>
<tr><td><a href="/docs/architect/ja-jp/resources/guide/security-policy-template">セキュリティポリシーテンプレート</a></td><td>組織のセキュリティポリシーの設定</td><td class="check-col">X</td><td class="check-col">X</td><td class="check-col">X</td></tr>
<tr><td><a href="https://help.salesforce.com/s/articleView?id=security_session_types.htm&type=5&language=en_US">Session Types</a></td><td>組織へのアクセスに使用されるセッションの種別を特定する</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
<tr><td><a href="https://trailhead.salesforce.com/content/learn/modules/threat-modeling-fundamentals">脅威モデリングの基礎 (Trailhead)</a></td><td>セキュリティの脅威とその防止方法について説明します。</td><td class="check-col"></td><td class="check-col">X</td><td class="check-col"></td></tr>
</table>

## ご意見をお聞かせください

Salesforce Well-Architected の関連性の維持にご協力ください。このコンテンツに関するフィードバックをいただくため[のアンケート](https://sfdc.co/bxNtvh)にご協力ください。また、今後の展望についてもお聞かせください。
