最近、Azure OpenAI Service(AOAI)を使う機会が多いので、自己学習のためにセキュリティーの考え方について整理しておきます。※基本的な情報しか記載しません。今回も、基本中のキのみです。
本記事の内容
RAGをAzure OpenAI Serviceで実装する最大のメリットはAzureのセキュアなインフラを使えること!
セキュリティーの基本は、以下と考えます。
AOAI×情報セキュリティーの4要素
具体的には、以下の方法で実現できます。
- ロールベースのアクセス制御を利用
- Azure Storageを利用
- 仮想ネットワークの利用
- Azure OpenAI Serviceを利用
ロールベースのアクセス制御(RBAC)
Azureのセキュリティの基本思想は、「最小特権の原則」です。
Azureでは、必要な人のみに適正な権限を与えることをセキュリティの基本としている。権限付与は、権限と1対1に紐付くロールをユーザーに与えます。
これをロースベースのアクセス制御と言います。
<代表的なロール>
ロールベースのアクセス制御設定方法
Azure OpenAIのリソースに対して、RBACを設定する方法を解説します。
1.Azure Portalに移動します。
2.Azure OpenAIのリソースをクリックします
3.アクセス制御(IAM)をクリック
4.+追加からロールの割り当て追加を選択
5.メンバータブをクリック
6.アクセスの割り当て先は「ユーザー、グループ、または」
7.+を選択するをクリック
8.メンバーを選択するウィンドウからメンバーを検索して、選択する
(同じAzure ADのテナントに所属するメンバーが表示されると思われます)
9.ロールタブをクリック
10.メンバーに与えたいロールをクリック
11.レビューと割り当てをクリック
以上で、メンバーにロールに基づいた権限が与えられます。
データ保管のセキュリティ
Azure Storageのデータはサーバー側暗号化を使用して、クラウドに永続化される時にデータを自動的に暗号化されます。データは、利用可能な最強のブロック信号の1つである256bitAES暗号化を使って透過的に暗号化および暗号化解除されます。この方式は、FIPS140-2に準拠している。暗号化キーは、基本的にMicrosoftが管理する。ユーザーが管理することも可能で、その場合はAzure Key Vaultを使用する。
データ通信のセキュリティ
Azure Virtual Network(VNET:仮想ネットワーク)を用いて、リソース間及びオンプレミスとリソース間の安全な通信を行う仕組みが備えられています。また、柔軟にセキュリティ設定できるサービスが提供されています。
言語モデルの学習へのデータ利用
Azure OpenAI Serviceでは、プロンプト及び生成物はモデルの学習に利用されません。30日間Microsoftで保管された後、削除されます。
更に、オプトアウト申請することで保存され無い様にすることも可能です。
生成物の知財権侵害リスクを低減するには
昨今、生成物の著作権に関して、AIプラットフォーマーが訴えられる事案が発生しています。
オープンAI側はこうした複製が起きることはまれで、NYT側が「意図的に操作した」と主張している。
⇒この手の訴訟、益々増えそう。学習データは開示しないはずだから、立証難しそうだけど、、判決が気になる
米NYタイムズ、OpenAIの主張に反論 著作権訴訟で:日本経済新聞 https://t.co/6zaYdNwDDx
— マルチンゲール@生成AI❎製造業 (@industrial_ds) March 16, 2024
MicrosoftはCustomer Copyright Commitment(CCC)と呼ばれる、クレームから顧客を防御する公約があります。
Customer Copyright Commitmentの要旨 Azure OpenAI Serviceで生成したコンテンツ使用について、第三者が商用顧客を著作権侵害で訴えた場合、Microsoftは、顧客がガードレールに則り使用していた場合に限り、お客様を弁護し、訴訟に起因する不利な判決または和解の金額を支払う
リスク軽減策の詳細は以下を参照↓
まとめ
- Azure OpenAI Serviceの利点はAzureのセキュアなインフラを利用できること
- 言語モデルの学習にプロンプトと生成物は利用されないので安心