Azure AI サービスのセキュリティ

すべてのアプリケーションにおいて、開発のときはセキュリティを最優先に考える必要があり、人工知能対応のアプリケーションが拡大すると、セキュリティはさらに重要になります。 この記事では、Azure AI サービスで使用できるさまざまなセキュリティ機能について説明します。 各機能は特定の責任に対処するため、同じワークフローで複数の機能を使用できます。

Azure サービスのセキュリティに関する推奨事項の包括的な一覧については、Azure AI サービスのセキュリティ ベースラインに関する記事をご覧ください。

セキュリティ機能

機能 説明
トランスポート層セキュリティ (TLS) HTTP 経由で公開されるすべての Azure AI サービス エンドポイントでは、TLS 1.2 プロトコルが適用されます。 セキュリティ プロトコルが適用されている場合、Azure AI サービス エンドポイントを呼び出そうとするコンシューマーは、次のガイドラインに従う必要があります。
  • クライアント オペレーティング システム (OS) では、TLS 1.2 がサポートされている必要があります。
  • HTTP の呼び出しに使用される言語 (およびプラットフォーム) では、要求の一部として TLS 1.2 を指定する必要があります 言語とプラットフォームに応じて、TLS の指定は暗黙的または明示的に行われます。
  • .NET ユーザーの場合は、トランスポート層セキュリティに関するベスト プラクティスを検討してください
認証オプション 認証とは、ユーザーの ID を検証することです。 それに対し、認可とは、特定の ID に対してリソースへのアクセス権と特権を指定することです。 ID はプリンシパルに関する情報のコレクションであり、プリンシパルは個々のユーザーまたはサービスのいずれかです。

既定では、提供されているサブスクリプション キーを使って、Azure AI サービスへの呼び出しの認証を行います。これは最も簡単な方法ですが、最も安全ではありません。 最も安全な認証方法は、Microsoft Entra ID のマネージド ロールを使うことです。 この認証オプションとその他の認証オプションについては、「Azure AI サービスに対する要求の認証」を参照してください。
キーのローテーション 各 Azure AI サービス リソースには、シークレットのローテーションを有効にする 2 つの API キーがあります。 これは、サービスにアクセスできるキーを定期的に変更し、キーが漏洩した場合でもサービスのプライバシーを保護できるセキュリティ上の予防措置です。 これとその他の認証オプションについては、キーのローテーションに関するページを参照してください。
環境変数 環境変数は名前と値のペアであり、特定の開発環境内に格納されます。 コードで値をハードコーディングする代わりにこの方法を使うと、資格情報をいっそう安全に格納できます。 ただし、環境が侵害された場合、環境変数も侵害されるため、これは最も安全な方法ではありません。

コードで環境変数を使う方法については、環境変数のガイドに関する記事をご覧ください。
カスタマー マネージド キー (CMK) この機能は、顧客の保存データを (48 時間より長く) 格納するサービスを対象としています。 このデータは Azure サーバーで既に二重に暗号化されていますが、ユーザーは自分で管理するキーを使ってさらに暗号化レイヤーを追加することで、セキュリティを強化できます。 サービスを Azure Key Vault にリンクし、そこでデータ暗号化キーを管理できます。

CMK を使用できるのは一部のサービスのみです。カスタマー マネージド キーに関するページでサービスを探してください。
仮想ネットワーク 仮想ネットワークを使うと、リソースに対する API 呼び出しを行うことができるエンドポイントを指定できます。 Azure サービスは、ネットワーク外のデバイスからの API 呼び出しを拒否します。 許可されるネットワークの式ベースの定義を設定することも、許可するエンドポイントの完全な一覧を定義することもできます。 これはセキュリティのもう 1 つのレイヤーであり、他と組み合わせて使用できます。
データ損失の防止 データ損失防止機能を使うと、管理者は、Azure リソースが入力として受け取ることのできる URI の種類を決定できます (入力として URI を受け取る API 呼び出しの場合)。 これを行うことで、会社の機密データが流出する可能性を防ぐことができます。会社が URL パラメーターに機密情報 (顧客のプライベート データなど) を格納している場合、社内の不適切なアクターが機密 URL を Azure サービスに送信し、そのデータを社外に公開する可能性があります。 データ損失防止を使うと、到着した特定の URI フォームを拒否するようにサービスを構成できます。
カスタマー ロックボックス カスタマー ロックボックス機能は、お客様がデータ アクセス要求をレビューして承認または拒否するためのインターフェイスを提供します。 これは、Microsoft のエンジニアがサポート リクエストの際に顧客データにアクセスする必要がある場合に使用されます。 カスタマー ロックボックス要求の開始、追跡、後のレビューと監査のための保存の方法に関する詳細については、カスタマー ロックボックス ガイドを参照してください。

カスタマー ロックボックスは、次のサービスで使用できます。
  • Azure OpenAI
  • Translator
  • 会話言語理解
  • カスタム テキスト分類
  • カスタム固有表現認識
  • オーケストレーション ワークフロー
BYOS (ストレージ持ち込み) Speech サービスでは、現在、カスタマー ロックボックスはサポートされていません。 ただし、BYOS (ストレージ持ち込み) を使って、サービス固有のデータが独自のストレージ リソースに格納されるようにすることができます。 BYOS を使うと、カスタマー ロックボックスと似たデータ コントロールを実現できます。 Azure Cognitive Service for Speech サービスのデータは、Azure Cognitive Service for Speech リソースが作成された Azure リージョンで保持されて処理されることに注意してください。 これは、保存データと転送中のデータに適用されます。 Custom Speech や Custom Voice などのカスタマイズ機能では、お客様のすべてのデータは、Azure Cognitive Service for Speech サービス リソースと BYOS リソース (使っている場合) が存在しているのと同じリージョンで転送、格納、処理されます。

Azure Cognitive Service for Speech で BYOS を使うには、保存データの音声暗号化に関するガイドに従ってください。

音声モデルを改善するため、Microsoft がお客様のデータを使用することはありません。 また、エンドポイントのログが無効になっていて、カスタマイズが使われていない場合、お客様のデータが Azure Cognitive Service for Speech によって格納されることはありません。

次のステップ