適用対象: SDK v4
Azure AI Bot Service は、データを保護し、組織のセキュリティとコンプライアンスのコミットメントを満たすために、データがクラウドに永続化されたときに自動的に暗号化します。
暗号化と暗号化解除は透過的であり、暗号化とアクセスはユーザーによって管理されます。 データは既定でセキュリティ保護され、暗号化を利用するためにコードまたはアプリケーションを変更する必要はありません。
暗号化キーの管理について
サブスクリプションでは、Microsoft が管理する暗号化キーが既定で使用されます。 ボット リソースは、カスタマー マネージド キーと呼ばれる独自のキーを使用して管理できます。 カスタマー マネージド キーを使用すると、Azure AI Bot Service ストアのデータに対するアクセス制御を作成、ローテーション、無効化、取り消す柔軟性が向上します。 また、データを保護するために使われる暗号化キーを監査することもできます。
データを暗号化する場合、Azure AI Bot Service は 2 つのレベルの暗号化を使用して暗号化します。 カスタマー マネージド キーが有効になっていない場合、使用される両方のキーは Microsoft が管理するキーです。 カスタマー マネージド キーが有効になっている場合、データはカスタマー マネージド キーと Microsoft マネージド キーの両方で暗号化されます。
Azure Key Vault でのカスタマー マネージド キー
カスタマー マネージド キー機能を利用するには、 Azure Key Vault にキーを格納して管理する必要があります。 独自のキーを作成してキー コンテナーに格納することも、Azure Key Vault API を使ってキーを生成することもできます。 Azure Bot リソースとキー コンテナーは、同じ Microsoft Entra ID テナント内に存在する必要がありますが、異なるサブスクリプション内に存在する可能性があります。 Azure Key Vault の詳細については、「Azure Key Vault とは」をご覧ください。
カスタマー マネージド キーを使用する場合、Azure AI Bot Service はストレージ内のデータを暗号化します。 そのキーへのアクセスが取り消された場合、またはキーが削除された場合、ボットは Azure AI Bot Service を使用してメッセージを送受信することはできず、Azure portal でボットの構成にアクセスしたり編集したりすることはできません。
ポータルを使用して Azure Bot リソースを作成すると、Azure によって アプリ ID と パスワードが生成されますが、Azure Key Vault には格納されません。 Key Vault は、Azure AI Bot Service と共に使用できます。 詳細については、「 Key Vault に接続するように Web アプリを構成する」を参照してください。 Key Vault を使用してシークレットを格納および取得する方法の例については、「 クイック スタート: .NET 用 Azure Key Vault シークレット クライアント ライブラリ (SDK v4)」を参照してください。
Von Bedeutung
Azure AI Bot Service チームは、キーにアクセスしないと、カスタマー マネージド暗号化キー ボットを復旧できません。
暗号化されるデータ
Azure AI Bot Service は、ボット、ボットが使用するチャネル、開発者が設定する構成設定、および必要に応じて、現在アクティブな会話のレコードに関する顧客データを格納します。 また、一時的に、24 時間以内に、Direct Line または Web チャット チャネル経由で送信されたメッセージと、アップロードされた添付ファイルが格納されます。
すべての顧客データは、Azure AI Bot Service の 2 つの暗号化レイヤーで暗号化されます。Microsoft マネージド暗号化キーを使用するか、Microsoft とカスタマー マネージド暗号化キーを使用します。 Azure AI Bot Service は、Microsoft が管理する暗号化キーを使用して一時的に格納されたデータを暗号化し、Azure Bot リソースの構成に応じて、Microsoft またはカスタマー マネージドの暗号化キーを使用して長期的なデータを暗号化します。
注
Azure AI Bot Service は、Azure AI Bot Service の外部の他のサービスでユーザーとの間でメッセージを配信する機能を顧客に提供するために存在するため、暗号化はこれらのサービスに拡張されません。 つまり、Azure AI Bot Service の制御下では、この記事のガイダンスに従ってデータが暗号化されて格納されます。ただし、サービスを離れて別のサービスに配信する場合、データは復号化され、TLS 1.2 暗号化を使用してターゲット サービスに送信されます。
Azure Key Vault インスタンスを構成する方法
Azure AI Bot Service でカスタマー マネージド キーを使用するには、暗号化キーのホストに使用する予定の Azure Key Vault インスタンスで、 論理的な削除 と 消去保護の 2 つのプロパティを有効にする必要があります。 これらの機能により、何らかの理由でキーが誤って削除された場合は、キーを回復できます。 論理的な削除と消去の保護の詳細については、 Azure Key Vault の論理的な削除の概要を参照してください。
既存の Azure Key Vault インスタンスを使用している場合は、Azure portal の [プロパティ] セクションを見て、これらのプロパティが有効であることを確認できます。 これらのプロパティのいずれかが有効になっていない場合は、「論理的な削除と消去の保護を有効にする方法」の Key Vault セクションを参照してください。
Azure AI Bot Service にキー コンテナーへのアクセス権を付与する
この目的のために作成したキー コンテナーに Azure AI Bot Service がアクセスできるようにするには、アクセス ポリシーを設定する必要があります。これにより、Azure AI Bot Service のサービス プリンシパルに現在のアクセス許可セットが付与されます。 キー コンテナーの作成方法など、Azure Key Vault の詳細については、「 Azure Key Vault について」を参照してください。
キー コンテナーを含むサブスクリプションに Azure AI Bot Service リソース プロバイダーを登録します。
- Azure ポータルにアクセスします。
- サブスクリプション ブレードを開き、キー ボールトを含むサブスクリプションを選択します。
- [リソース プロバイダー] ブレードを開き、Microsoft.BotService リソース プロバイダーを登録します。
Azure Key Vault では、Azure ロールベースのアクセス制御 (RBAC) またはコンテナー アクセス ポリシーという 2 つのアクセス許可モデルがサポートされています。 どちらのアクセス許可モデルも使用できます。 Key Vault の [ネットワーク] ブレードのファイアウォールと仮想ネットワークが、この手順ですべてのネットワークからのパブリック アクセスを許可するように設定されていることを確認します。 さらに、オペレーターにキー管理操作のアクセス許可が付与されていることを確認します。
キー コンテナーで Azure RBAC アクセス許可モデルを構成するには:
- キー ボールト パネルを開き、キー ボールトを選択します。
- アクセス制御 (IAM) ブレードに移動し、Key Vault Crypto Service Encryption ユーザー ロールを Bot Service CMEK Prod に割り当てます。この変更を行うことができるのは、サブスクリプション所有者ロールを持つユーザーだけです。
Key Vault のアクセス ポリシーのアクセス許可モデルを構成するには、次の手順に従います。
- キー ボールト パネルを開き、キー ボールトを選択します。
- Bot Service CMEK Prod アプリケーションをアクセス ポリシーとして追加し、次のアクセス許可を割り当てます。
- 取得 ( キー管理操作から)
- キーのラップを解除 (暗号化操作から)
- ラップキー (暗号操作から)
- [ 保存] を 選択して、行った変更を保存します。
Key Vault にファイアウォールのバイパスを許可します。
- キー ボールト パネルを開き、キー ボールトを選択します。
- [ネットワーク] ブレードを開き、[ファイアウォールと仮想ネットワーク] タブに移動します。
- [アクセスの許可元] が [パブリック アクセスを無効にする] に設定されている場合は、[信頼された Microsoft サービスによるこのファイアウォールのバイパスを許可する] が選択されていることを確認します。
- [ 保存] を 選択して、行った変更を保存します。
カスタマー マネージド キーを有効にする
カスタマー マネージド暗号化キーを使用してボットを暗号化するには、次の手順に従います。
ボットの Azure Bot リソース ブレードを開きます。
ボットの [暗号化] ブレードを開き、[暗号化の種類]Customer-Managed キーを選択します。
キーの完全な URI (バージョンを含む) を入力するか、[ キー コンテナーとキーの選択 ] をクリックしてキーを検索します。
ブレードの上部にある [ 保存] をクリックします。
これらの手順が完了すると、Azure AI Bot Service によって暗号化プロセスが開始されます。完了までに最大 24 時間かかることがあります。 この期間中、ボットは引き続き機能します。
カスタマー マネージド キーをローテーションする
カスタマー マネージド暗号化キーをローテーションするには、新しいキー (または既存のキーの新しいバージョン) に新しい URI を使用するように Azure AI Bot Service リソースを更新する必要があります。
新しいキーによる再暗号化は非同期的に行われるため、データの暗号化を解除し続けることができるように、古いキーを引き続き使用できるようにします。そうしないと、ボットが動作を停止する可能性があります。 古いキーは少なくとも 1 週間保持する必要があります。
カスタマー マネージド キーへのアクセス権を取り消す
アクセスを取り消すには、 Bot Service CMEK Prod サービス プリンシパルのアクセス ポリシーをキー コンテナーから削除します。
注
アクセスを取り消すと、ボットに関連付けられているほとんどの機能が中断されます。 カスタマー マネージド キー機能を無効にするには、アクセスを取り消す前に機能をオフにして、ボットが動作し続けられるようにします。