---
title: "攻略:EXMの抑制リストにAlways Encryptedを設定する方法"
slug: "walkthrough--setting-up-always-encrypted-for-the-suppression-list-in-exm"
abstract: "データベース内の抑制リストに保存されたメールアドレスを保護するために、SQL Always Encryptedの設定方法のガイダンス。"
---
# 攻略:EXMの抑制リストにAlways Encryptedを設定する方法

EXMデータベースは、連絡先のメールアドレスを含む[抑制リスト](https://doc.sitecore.com/xp/en/developers/exm/100/email-experience-manager/managing-the-suppression-list.html)テーブルに[Always Encrypted](https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-database-engine?view=sql-server-ver15)を実装しています。Always Encrypted機能は、抑制リストデータベースの列に保存されたメールアドレスを保護します。Always Encryptedは、データベースからクライアントアプリケーションへの透過的な暗号化を提供します。既存のデータベースに対してAlways Encryptedを有効にするには、WindowsキーストアまたはAzure Key Vaultを設定できます。

## キーを作成する

カラムマスターキー(CMK)とカラム暗号化キー(CEK)の生成手順は、使用するキーストアの種類によって異なります。 [Windows Key Store](https://doc.sitecore.com/xp/ja/developers/103/platform-administration-and-architecture/walkthrough--setting-up-always-encrypted-for-the-suppression-list-in-exm.html#UUID-ab601dd7-861b-6f83-3dd9-160cb33c5697_section-idm231995329823844 "Option 1: Windows Key Store setup")または[Azure Key Vault](https://doc.sitecore.com/xp/ja/developers/103/platform-administration-and-architecture/walkthrough--setting-up-always-encrypted-for-the-suppression-list-in-exm.html#UUID-ab601dd7-861b-6f83-3dd9-160cb33c5697_section-idm232052206879961 "Option 2: Azure Key Vault setup")を使って鍵を作成できます。

### オプション1:Windows Key Storeの設定

Windows Key Storeを使用している場合、以下の手順が適用されます。

カラムマスターキー(CMK)およびカラム暗号化キー(CEK)の作成および保存に関する情報は、Microsoftの[Always Encryptedドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-database-engine?view=sql-server-2017) を参照してください。全体としては以下のステップがあります:

-   [カラムマスターキー(CMK)とカラム暗号化キー(CEK)を作成します。](https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/create-and-store-column-master-keys-always-encrypted?view=sql-server-2017)
-   [CMKをエクスポートし、](https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/overview-of-key-management-for-always-encrypted?view=sql-server-2017#KeyManagementRoles)exm.masterデータベースに接続するContent Management (CM)インスタンスの適切な証明書ストアにインポートします:
-   [CMロールのユーザーにCMKへのアクセス権限を与え](https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/create-and-store-column-master-keys-always-encrypted?view=sql-server-2017#using-microsoft-management-console)てください。ローカルマシン証明書ストアを使用している場合、ロールは読み取りアクセスが必要です。

> !注Azure Web App Servicesを使っているがAzure Key Vaultは使っていない場合は、「[Azure Web App Serviceで常に暗号化されたSQL](https://docs.microsoft.com/en-us/archive/blogs/sqlcat/using-sql-always-encrypted-with-azure-web-app-service)を使う」をご覧ください。

### オプション2:Azure Key Vaultの設定

Azure Key Vaultを使用している場合、以下の手順が適用されます。

MicrosoftのAzure Key Vaultの設定に関する情報は、Microsoftの「[Azure Key Vault」ドキュメント](https://docs.microsoft.com/en-us/azure/key-vault/general/overview)を参照してください。全体的な手順は以下の通りです:

-   [鍵の保管庫と新しい鍵を作成します](https://docs.microsoft.com/en-us/azure/key-vault/)。
-   [Register applications in Azure Active Directory](https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal).
-   アプリケーションに鍵やシークレットの使用を許可してください。
-   [Azure Key Vaultを基に、カラムマスターキー(CMK)とカラム暗号化キー(CEK)を作成します。](https://docs.microsoft.com/en-us/azure/azure-sql/database/always-encrypted-azure-key-vault-configure?tabs=azure-powershell)

## 抑制リストのテーブルで「常に暗号化」を設定

生成された鍵を使って抑制リストを暗号化するには:

1.  SQL Server Management Studioで、以下の \\code\\Sitecore.EmailCampaign.Database.Encrypted\\CEK\_EXM\_Suppression.sqlを実行します。
2.  EXM。マスターデータベースで、 Suppressions テーブルを右クリックしてから「 **列の暗号化**」をクリックしてください。
3.  「カラム選択」ダイアログウィンドウで「 **メール** 」列をクリックし、「 **暗号化タイプ** 」と **「暗号化キー**」を設定します。例えば:
    -   **暗号化の種類:** *Deterministic*
    -   **暗号キー:***CEK\_EXM\_Suppression*
4.  プロンプトに従って設定を完了してください。