Azure Bot Service での保存データの暗号化Azure Bot Service encryption for data at rest

適用対象: SDK v4APPLIES TO: SDK v4

Azure Bot Serviceデータを保護し、組織のセキュリティとコンプライアンスのコミットメントを満たすために、データがクラウドに永続化された場合に自動的に暗号化されます。Azure Bot Service automatically encrypts your data when it is persisted to the cloud to protect the data and to meet organizational security and compliance commitments.

暗号化と暗号化解除は透過的であり、暗号化とアクセスはユーザーによって管理されます。Encryption and decryption are transparent, meaning encryption and access are managed for you. データは既定でセキュリティ保護され、暗号化を利用するためにコードまたはアプリケーションを変更する必要はありません。Your data is secure by default and you don't need to modify your code or applications to take advantage of encryption.

暗号化キーの管理についてAbout encryption key management

サブスクリプションでは、Microsoft が管理する暗号化キーが既定で使用されます。By default, your subscription uses Microsoft-managed encryption keys. また、カスタマー マネージド キーと呼ばれる独自のキーを使用してボット リソースを管理することもできます。You also have the option to manage your bot resource with your own keys called customer-managed keys. カスタマー マネージド キーを使用すると、ストア内のデータに対するアクセス制御の作成、ローテーション、無効化、取り消しAzure Bot Service高い柔軟性が提供されます。Customer-managed keys offer greater flexibility to create, rotate, disable, and revoke access controls to the data Azure Bot Service stores. また、データを保護するために使われる暗号化キーを監査することもできます。You can also audit the encryption keys used to protect your data.

データを暗号化する場合、Azure Bot Service 2 レベルの暗号化で暗号化されます。When encrypting data, Azure Bot Service encrypts with two levels of encryption. カスタマー マネージド キーが有効になっていない場合、使用されるキーはどちらも Microsoft マネージド キーです。In the case where customer-managed keys aren't enabled, both keys used are Microsoft-managed keys. カスタマー マネージド キーを有効にすると、データはカスタマー マネージド キーと Microsoft マネージド キーの両方で暗号化されます。When customer-managed keys are enabled, the data is encrypted with both the customer-managed key and a Microsoft-managed key.

Azure Key Vault でのカスタマー マネージド キーCustomer-managed keys with Azure Key Vault

カスタマー マネージド キー機能を利用するには、 にキーを格納して管理する 必要Azure Key Vault。To utilize the customer-managed keys feature, you must store and manage keys in Azure Key Vault. 独自のキーを作成してキー コンテナーに格納することも、Azure Key Vault API を使ってキーを生成することもできます。You can either create your own keys and store them in a key vault, or you can use the Azure Key Vault APIs to generate keys. ボットの登録とキー コンテナーは、同じ Azure Active Directory (Azure AD) テナント内にある必要がありますが、異なるサブスクリプションに含め得る場合があります。Your bot registration and the key vault must be in the same Azure Active Directory (Azure AD) tenant, but they can be in different subscriptions. Azure Key Vault の詳細については、「Azure Key Vault とは」をご覧ください。For more information about Azure Key Vault, see What is Azure Key Vault?.

カスタマー マネージド キーを使用する場合、Azure Bot Service はストレージ内のデータを暗号化します。そのキーへのアクセスが取り消された場合、またはキーが削除された場合、ボットは Azure Bot Service を使用してメッセージを送受信したり、Azure portal でのボット登録の構成にアクセスしたり編集したりすることはできません。When using a customer-managed key, Azure Bot Service encrypts your data in its storage, such that if access to that key is revoked or the key is deleted, your bot won't be able to use Azure Bot Service to send or receive messages, and you won't be able to access or edit the configuration of your Bot registration in the Azure portal.


チームAzure Bot Service、キーにアクセスせずにカスタマー マネージド暗号化キー ボットを回復することはできません。The Azure Bot Service team cannot recover a customer-managed encryption key bot without access to the key.

どのようなデータが暗号化されますか?What data is encrypted?

Azure Bot Serviceボット、使用するチャネル、開発者が設定する構成設定、および必要に応じて、現在アクティブな会話の記録に関する顧客データが格納されます。Azure Bot Service stores customer data about the bot, the channels it uses, configuration settings the developer sets, and where necessary, a record of currently active conversations. また、一時的には、24 時間未満の間、Direct Line チャネルまたは Web チャット チャネルで送信されたメッセージとアップロードされた添付ファイルが格納されます。It also transiently, for less than 24 hours, stores the messages sent over the Direct Line or Web Chat channels and any attachments uploaded.

すべての顧客データは、2 つの暗号化レイヤーを使用して暗号化Azure Bot Service。Microsoft マネージド暗号化キーを使用するか、Microsoft とカスタマー マネージド暗号化キーを使用します。All customer data is encrypted with two layers of encryption in Azure Bot Service; either with Microsoft managed encryption keys, or Microsoft and customer-managed encryption keys. Azure Bot Serviceは、Microsoft が管理する暗号化キーを使用して一時的に格納されたデータを暗号化し、ボット登録の構成に応じて、Microsoft またはカスタマー マネージド暗号化キーを使用して長期的なデータを暗号化します。Azure Bot Service encrypts transiently-stored data using the Microsoft-managed encryption keys, and, depending on the configuration of the bot registration, encrypts longer-term data using either the Microsoft or customer-managed encryption keys.


Azure Bot Service Azure Bot Service の外部の他のサービスでユーザーとの間でメッセージを配信する機能を顧客に提供するために存在する場合、暗号化はそれらのサービスには拡張されません。As Azure Bot Service exists to provide customers the ability to deliver messages to and from users on other services outside Azure Bot Service, encryption doesn't extend to those services. つまり、この記事のAzure Bot Serviceに従って、データは暗号化されて格納されます。ただし、別のサービスに配信するためにサービスを離れる場合、データは復号化され、TLS 1.2 暗号化を使用してターゲット サービスに送信されます。This means that while under Azure Bot Service control, data will be stored encrypted as per the guidance in this article; however, when leaving the service to deliver to another service, the data is decrypted and then sent using TLS 1.2 encryption to the target service.

カスタム インスタンスを構成Azure Key Vault方法How to configure your Azure Key Vault instance

Azure Bot Service でカスタマー マネージド キーを使用するには、暗号化キーをホストするために使用する予定の Azure Key Vault インスタンスで、ソフト削除と消去保護の2 つのプロパティを有効 にする必要がありますUsing customer-managed keys with Azure Bot Service requires that you enable two properties on the Azure Key Vault instance you plan to use to host your encryption keys: Soft delete and Purge protection. これらの機能により、何らかの理由でキーが誤って削除された場合に、それを復旧できます。These features ensure that if for some reason your key is accidentally deleted, you can recover it. ソフト削除と消去保護の詳細については、ソフト削除の概要に関するページAzure Key Vault を参照してくださいFor more information about soft delete and purge protection, see the Azure Key Vault soft-delete overview.

ソフト削除と消去保護が有効になっているスクリーン ショット

既存の Azure Key Vault インスタンスを使用している場合は、Azure portal の [プロパティ] セクションを見て、これらのプロパティが有効であることを確認できます。If you're using an existing Azure Key Vault instance, you can verify that these properties are enabled by looking at the Properties section on the Azure portal. これらのプロパティが有効になっていない場合は、「ソフト削除と消去保護を有効 Key Vault 方法」のセクション を参照してくださいIf any of these properties aren't enabled, see the Key Vault section in How to enable soft delete and purge protection.

キー Azure Bot Serviceアクセス権を付与するGrant Azure Bot Service access to a key vault

このAzure Bot Service作成したキー コンテナーにアクセスするには、Azure Bot Service のサービス プリンシパルに現在のアクセス許可セットを付与するアクセス ポリシーを設定する必要があります。For Azure Bot Service to have access to the key vault you created for this purpose, an access policy needs to be set which gives Azure Bot Service's service principal the current set of permissions. キー コンテナーの作成方法などAzure Key Vaultの詳細については、「キー コンテナーについて」をAzure Key Vault。For more information about Azure Key Vault, including how to create a key vault, see About Azure Key Vault.

  1. キー コンテナー Azure Bot Serviceサブスクリプションにリソース プロバイダーを登録します。Register the Azure Bot Service resource provider on your subscription containing the key vault.

    1. Azure ポータルにアクセスします。Go to the Azure portal.
    2. [サブスクリプション ] ブレードを 開き、キー コンテナーを含むサブスクリプションを選択します。Open the Subscriptions blade and select the subscription that contains the key vault.
    3. [ リソースプロバイダー ] ブレードを開き、 BotService リソースプロバイダーを登録します。Open the Resource providers blade and register the Microsoft.BotService resource provider.

    リソースプロバイダーとして登録されている BotService

  2. キーコンテナーでアクセスポリシーを構成し、 Bot service の CMEK 製品サービスプリンシパルに対して Get ( キー管理操作 から) と ラップ 解除する ( 暗号化操作 から) キーアクセス許可を設定します。Configure an access policy on your key vault, giving the Bot Service CMEK Prod service principal the Get (from the Key Management Operations) and Unwrap Key and Wrap Key (from the Cryptographic Operations) key permissions.

    1. [ Key vault] ブレードを開き、キーコンテナーを選択します。Open the Key vaults blade and select your key vault.
    2. Bot Service CMEK 運用アプリケーションがアクセスポリシーとして追加され、これらの3つのアクセス許可があることを確認します。Make sure that the Bot Service CMEK Prod application is added as an access policy and has these 3 permissions. Bot Service の CMEK 運用アプリケーションを、アクセスポリシーとして key vault に追加することが必要になる場合があります。You may need to add the Bot Service CMEK Prod application as an access policy to your key vault.
    3. [ 保存 ] を選択して、行った変更を保存します。Select Save to save any changes you made.

    アクセスポリシーとして追加された Bot Service CMEK 製品

  3. Key Vault がファイアウォールをバイパスすることを許可します。Allow Key Vault to bypass your firewall.

    1. [ Key vault] ブレードを開き、キーコンテナーを選択します。Open the Key vaults blade and select your key vault.

    2. [ ネットワーク ] ブレードを開き、[ ファイアウォールと仮想ネットワーク ] タブにアクセスします。Open the Networking blade and go to the Firewalls and virtual networks tab.

    3. [アクセスを許可 する] が [プライベートエンドポイントと選択されたネットワーク] に設定されている場合は、 [ 信頼された Microsoft サービスがこのファイアウォールをバイパスできるように するIf Allow access from is set to Private endpoint and selected networks, set Allow trusted Microsoft services to bypass this firewall to Yes.

    4. [ 保存 ] を選択して、行った変更を保存します。Select Save to save any changes you made.

      Key Vault に対してファイアウォールの例外が追加されました

カスタマー マネージド キーを有効にするEnable customer-managed keys

お客様が管理する暗号化キーを使用して Bot 登録を暗号化するには、次の手順を実行します。To encrypt your Bot Registration with a customer-managed encryption key, follow these steps:

  1. Bot のリソースブレードを開きます。Open the resource blade for your bot.

  2. Bot の [暗号化] ブレードを開き、暗号化の種類 として [お客様が管理するキー ] を選択します。Open the Encryption blade of your bot and select Customer-Managed Keys for the Encryption type.

  3. キーの完全な URI (バージョンを含む) を入力するか、[ キーコンテナーの選択] をクリックしてキーを検索します。Either input your key's complete URI, including version, or click Select a key vault and a key to find your key.

  4. ブレードの上部にある [保存] をクリックします。Click Save at the top of the blade.

    顧客が管理する暗号化を使用する Bot リソース

これらの手順が完了すると、Azure Bot Service によって暗号化プロセスが開始されます。Once these steps are completed, Azure Bot Service will start the encryption process. 完了には時間がかかる場合があります (最大 24 時間)。This can take some time to complete (up to 24 hours). この期間中、ボットは完全に機能します。Your bot will be completely functional during this time period.

カスタマー マネージド キーをローテーションするRotate customer-managed keys

カスタマー マネージド暗号化キーをローテーションするには、新しいキー (または既存のキーの新しいバージョン) の新しい URI を使用する Azure Bot Service リソースを更新する必要があります。To rotate a customer-managed encryption key, you must update the Azure Bot Service resource to use the new URI for the new key (or new version of the existing key).

新しいキーを使用した再暗号化は非同期的に行われるため、データの暗号化を解除し続けできるよう、古いキーを引き続き使用できます。そうしないと、ボットの動作が停止する可能性があります。Because re-encryption with the new key occurs asynchronously, ensure the old key remains available so that data can continue to be decrypted; otherwise, your bot could stop working. 古いキーは少なくとも 1 週間保持する必要があります。You should retain the old key for at least one week.

カスタマー マネージド キーへのアクセス権を取り消すRevoke access to customer-managed keys

アクセスを取り消す場合は、キー コンテナーから Bot Service CMEK Prod サービス プリンシパルのアクセス ポリシーを削除します。To revoke access, remove the access policy for the Bot Service CMEK Prod service principal from your key vault.


アクセス権を取り込むと、ボットに関連付けられているほとんどの機能が破損します。Revoking access will break most of the functionality associated with your bot. カスタマー マネージド キー機能を無効にするには、ボットが引き続き動作できるよう、アクセスを取り替え前に機能をオフにします。To disable the customer-managed keys feature, turn off the feature before revoking access to ensure the bot can continue working.

次の手順Next steps

詳細については 、Azure Key VaultLearn more About Azure Key Vault