Azure OpenAI Service による保存データの暗号化

データがクラウドに永続化されるとき、Azure OpenAI によってデータが自動的に暗号化されます。 暗号化によってデータが保護され、組織のセキュリティとコンプライアンスのコミットメントを満たすことができます。 この記事では、Azure OpenAI が保存データの暗号化 (特にトレーニング データと微調整されたモデル) を処理する方法について説明します。 サービスに提供したデータの処理方法、使用方法、保存方法については、データ、プライバシー、およびセキュリティに関する記事を参照してください。

Azure AI サービスの暗号化について

Azure OpenAI は Azure AI サービスの一部です。 Azure AI サービス データは、FIPS 140-2 に準拠する 256 ビット AES 暗号化を使用して暗号化および暗号化解除されます。 暗号化と暗号化解除は透過的であり、暗号化とアクセスはユーザーによって管理されます。 データは既定でセキュリティ保護され、暗号化を利用するためにコードまたはアプリケーションを変更する必要はありません。

暗号化キーの管理について

サブスクリプションでは、Microsoft が管理する暗号化キーが既定で使用されます。 カスタマー マネージド キー (CMK) と呼ばれるユーザー独自のキーを使用してサブスクリプションを管理するオプションもあります。 CMK を使用すると、アクセス制御の作成、ローテーション、無効化、取り消しを、いっそう柔軟に行うことができます。 また、データを保護するために使われる暗号化キーを監査することもできます。

Azure Key Vault でカスタマー マネージド キーを使用する

カスタマー マネージド キー (CMK、Bring Your Own Key (BYOK) とも呼ばれます) を使用すると、アクセス制御の作成、ローテーション、無効化、取り消しを、いっそう柔軟に行うことができます。 また、データを保護するために使われる暗号化キーを監査することもできます。

カスタマー マネージド キーを格納するには、Azure Key Vault を使用する必要があります。 独自のキーを作成してキー コンテナーに格納することも、Azure Key Vault API を使ってキーを生成することもできます。 Azure AI サービスのリソースとキー コンテナーは、同じリージョンの同じ Microsoft Entra テナント内に存在する必要がありますが、サブスクリプションは異なっていてもかまいません。 Azure Key Vault の詳細については、「Azure Key Vault とは」をご覧ください。

カスタマー マネージド キーを有効にするには、キーを含むキー コンテナーが次の要件を満たしている必要があります。

  • Key Vault で [論理的な削除][Do Not Purge](消去しない) の両方のプロパティを有効にする必要があります。
  • Key Vault ファイアウォールを使用する場合は、信頼された Microsoft サービスがキー コンテナーにアクセスできるようにする必要があります。
  • キー コンテナーでは、レガシ アクセス ポリシーを使用する必要があります。
  • Azure OpenAI リソースのシステム割り当てマネージド ID に、キー コンテナーに対するアクセス許可 ("キーの取得"、"キーの折り返し"、"キーの折り返しを解除") を付与する必要があります。

Azure AI サービスの暗号化では、サイズが 2048 の RSA と RSA-HSM のキーのみがサポートされます。 キーの詳細については、「Azure Key Vault のキー、シークレット、証明書について」の「Key Vault のキー」を参照してください。

Azure OpenAI リソースのマネージド ID を有効にする

  1. Azure AI サービス リソースに移動します。
  2. 左側の [リソース管理] で、[ID] を選びます。
  3. システム割り当てマネージド ID の状態を [オン] に切り替えます。
  4. 変更を保存し、システム割り当てマネージド ID を有効にすることを確認します。

キー コンテナーのアクセス許可を構成する

  1. Azure portal で自分のキー コンテナーに移動します。

  2. 左側で、[アクセス ポリシー] を選びます。

    アクセス ポリシーが利用できないことを通知するメッセージが表示された場合は、続行する前にレガシ アクセス ポリシーを使用するようにキー コンテナーを再構成してください

  3. [作成] を選択します

  4. [キーのアクセス許可] で、[取得][キーを折り返す][キーの折り返しを解除] を選びます。 残りのチェックボックスはオフのままにします。

    キー コンテナーのアクセス ポリシーに関する Azure portal ページのスクリーンショット。選択されているアクセス許可は、[取得]、[キーを折り返す]、[キーの折り返しを解除] です。

  5. [次へ] を選択します。

  6. ご自分の Azure OpenAI リソースの名前を検索し、そのマネージド ID を選びます。

  7. [次へ] を選択します。

  8. [次へ] を選び、アプリケーション設定の構成をスキップします。

  9. [作成] を選択します

Azure OpenAI リソースでカスタマー マネージド キーを有効にする

Azure portal でカスタマー マネージド キーを有効にするには、次の手順のようにします。

  1. Azure AI サービス リソースに移動します。

  2. 左側の [リソース管理] で、[暗号化] を選びます。

  3. [暗号化の種類] で、次のスクリーンショットに示すように、[カスタマー マネージド キー] を選択します。

    リソース作成のユーザー操作を示すスクリーンショット。

キーを指定する

カスタマー マネージド キーを有効にした後で、キーと Azure AI サービス リソースの関連付けを指定することができます。

URI としてキーを指定する

URI としてキーを指定するには、次の手順のようにします。

  1. Azure portal で自分のキー コンテナーに移動します。

  2. [オブジェクト][キー] を選択します。

  3. 目的のキーを選択し、キーを選択してそのバージョンを表示します。 そのバージョンの設定を表示するには、キーのバージョンを選択します。

  4. URI を示す [キー識別子] の値をコピーします。

    キー バージョンの Azure portal ページのスクリーンショット。[キー識別子] ボックスに、キー URI のプレースホルダーが含まれています。

  5. Azure AI サービス リソースに戻り、[暗号化] を選択します。

  6. [暗号化キー] で、[キー URI の入力] を選択します。

  7. コピーした URI を [キー URI] ボックスに貼り付けます。

    Azure AI サービス リソースの [暗号化] ページのスクリーンショット。[キー URI の入力] オプションが選択されていて、[キーの URI] ボックスに値が入力されています。

  8. [サブスクリプション] で、キー コンテナーを含むサブスクリプションを選択します。

  9. 変更を保存します。

キー コンテナーからキーを選ぶ

キー コンテナーからキーを選ぶには、まず、キーを含むキー コンテナーがあることを確認します。 その後、次の手順に従います。

  1. Azure AI サービス リソースに移動し、[暗号化] を選択します。

  2. [暗号化キー] で、[Key Vault から選ぶ] を選択します。

  3. 使用するキーを含むキー コンテナーを選択します。

  4. 使用するキーを選択します。

    Azure portal の [Azure Key Vault からのキーの選択] ページのスクリーンショット。[サブスクリプション]、[キー コンテナー]、[キー]、[バージョン] ボックスに値が入力されています。

  5. 変更を保存します。

キーのバージョンを更新する

キーの新しいバージョンを作成した場合、その新しいバージョンを使用するには、Azure AI サービス リソースを更新します。 次の手順のようにします。

  1. Azure AI サービス リソースに移動し、[暗号化] を選択します。
  2. 新しいキーのバージョンの URI を入力します。 または、キー コンテナーを選択してからキーを再び選択して、バージョンを更新してもかまいません。
  3. 変更を保存します。

別のキーを使用する

暗号化に使用するキーを変更するには、次の手順に従います。

  1. Azure AI サービス リソースに移動し、[暗号化] を選択します。
  2. 新しいキーの URI を入力します。 キー コンテナーを選択してから新しいキーを選択することもできます。
  3. 変更を保存します。

カスタマー マネージド キーをローテーションする

Key Vault のカスタマー マネージド キーは、お使いのコンプライアンス ポリシーに従ってローテーションすることができます。 キーをローテーションするときは、新しいキー URI を使用するように Azure AI サービス リソースを更新する必要があります。 Azure portal で新しいバージョンのキーを使用するようにリソースを更新する方法については、「キーのバージョンを更新する」のセクションを参照してください。

キーをローテーションしても、リソースでのデータの再暗号化はトリガーされません。 ユーザーからのそれ以上のアクションは必要ありません。

カスタマー マネージド キーを取り消す

アクセス ポリシーを変更する、キー コンテナーのアクセス許可を変更する、またはキーを削除することで、カスタマー マネージド暗号化キーを取り消すことができます。

レジストリによって使用されるマネージド ID のアクセス ポリシーを変更するには、az-keyvault-delete-policy コマンドを実行します。

az keyvault delete-policy \
  --resource-group <resource-group-name> \
  --name <key-vault-name> \
  --key_id <key-vault-key-id>

キーの個々のバージョンを削除するには、az-keyvault-key-delete コマンドを実行します。 この操作には、keys/delete のアクセス許可が必要です。

az keyvault key delete  \
  --vault-name <key-vault-name> \
  --id <key-ID>                     

重要

CMK がまだ有効な状態でアクティブなカスタマー マネージド キーへのアクセスを取り消すと、トレーニング データと結果ファイルのダウンロード、新しいモデルの微調整、微調整されたモデルのデプロイができなくなります。 ただし、以前にデプロイされた微調整されたモデルは、それらのデプロイが削除されるまでは引き続き動作し、トラフィックを提供します。

トレーニング、検証、トレーニングの結果データを削除する

Files API を使用すると、モデルを微調整するためにトレーニング データをアップロードできます。 このデータは、同じリージョンの Azure Storage にリソースとして保存され、Azure サブスクリプションと API 資格情報によって論理的に分離されます。 アップロードされたファイルは、DELETE API 操作を使用してユーザーが削除できます。

微調整されたモデルとデプロイを削除する

Fine-tunes API を使用すると、Files API を介してサービスにアップロードしたトレーニング データに基づいて、独自の微調整されたバージョンの OpenAI モデルを作成できます。 トレーニング済みの微調整されたモデルは、同じリージョンの Azure Storage に保存され、保存時は暗号化され (Microsoft マネージド キーかカスタマー マネージド キーのどちらかを使用)、Azure サブスクリプションと API 資格情報によって論理的に分離されます。 微調整されたモデルとデプロイは、DELETE API 操作を呼び出すことでユーザーが削除できます。

カスタマー マネージド キーを無効にする

カスタマー マネージド キーを無効にすると、Azure AI サービス リソースはそれ以降、Microsoft マネージド キーを使用して暗号化されます。 カスタマー マネージド キーを無効にするには、次の手順を実行します。

  1. Azure AI サービス リソースに移動し、[暗号化] を選択します。
  2. [Microsoft マネージド キー]>[保存] を選択します。

以前にカスタマー マネージド キーを有効にした場合、これにより、Microsoft Entra ID の機能であるシステム割り当てマネージド ID も有効になります。 システム割り当てマネージド ID が有効になると、このリソースは Microsoft Entra ID に登録されます。 登録された後、マネージド ID には、カスタマー マネージド キーのセットアップ時に選択されたキー コンテナーへのアクセス権が付与されます。 詳しくは、マネージド ID に関する記事をご覧ください。

重要

システム割り当てのマネージド ID を無効にすると、キー コンテナーへのアクセスは削除され、カスタマー キーで暗号化されたデータにはアクセスできなくなります。 このデータに依存する機能はすべて動作しなくなります。

重要

マネージド ID は現在、クロスディレクトリ シナリオをサポートしていません。 Azure portal でカスタマー マネージド キーを構成すると、内部でマネージド ID が自動的に割り当てられます。 その後、サブスクリプション、リソース グループ、またはリソースを 1 つの Microsoft Entra ディレクトリから別の Microsoft Entra ディレクトリに移動した場合、そのリソースに関連付けられているマネージド ID は新しいテナントに転送されないため、カスタマー マネージド キーが機能しなくなることがあります。 詳細については、Azure リソース用マネージド ID に関する FAQ と既知の問題に関するページの「Microsoft Entra ディレクトリ間でのサブスクリプションの転送」を参照してください。

次のステップ