AWSが担保するAmazon Bedrockのセキュリティ
Amazon Bedrockはデータをセキュアかつプライベートに保持することで企業のコンプライアンス要件に準拠します。主に以下の項目を挙げることが出来ます。
- お客様のデータ、つまりプロンプトから入力されたデータは基盤モデルの学習には使用されません
- 転送中のデータはTLS1.2を用いて暗号化されます。また保存中のデータはAWS KMSを用いて暗号化、Amazonマネージドキー及びカスタマーマネージドキーが使用可能な鍵としてサポートされています
- ファインチューニングされたモデルはお客様のAWS KMSキーを使用して暗号化及び保存されます
- カスタマイズされたモデルにアクセス出来るのはお客様のみです
- AWS IAMを使用することできめ細やかなアクセス制御が可能となります
- GDPR、HIPPA、PCIを含むコンプライアンス基準をサポート
つまり、お客様のデータやモデルにはAWS含めた第3者は一切アクセスが出来ません。AWSのインフラ内を転送中であったり保存されているデータはすべて暗号化されています。これによりまずは最低限の企業のコンプライアンス要件に対応することが出来ます。
AWS IAMを使った細かいアクセス制御
AWS IAMを使ったアクセス制御は他のAWSサービスに適用されるものと全く同じですが、同様にAmazon Bedrockにおいても会社内の特定の部署や役職の人間のみにモデルの使用を許可するといったことが可能になります。例えばマーケティング部門は、顧客の行動データを元にしたマーケティング施策を立案するためのモデルにアクセスする必要がありますが、このモデルには顧客の個人情報が含まれている可能性があるため、他の部門にはアクセスさせたくないとします。以下の例では、Department=Marketing
タグを持つユーザーのみが特定のモデルを実行できるようにするID ベースポリシーを作成する方法を示しています。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "bedrock:InvokeModel",
"Resource": "arn:aws:bedrock:us-west-2:123456789012:model/MarketingModel",
"Condition": {
"StringEquals": {
"aws:PrincipalTag/Department": "Marketing"
}
}
}
]
}
このような IAM ポリシーを使用することで、特定のモデルへのアクセスを厳密に管理することができます。これにより、セキュリティとプライバシーのリスクを低減し、企業のデータガバナンスおよびコンプライアンス要件を満たすことができます
ガバナンスと監査のためのログ収集
こちらも他のAWSサービスと同様ですが、Amazon CloudWatchやAWS CloudTrailを使って監査やガバナンスのために必要なログを取得しましょう。Amazon CloudWatchを使用することでAmazon Bedrock用に使用可能なメトリクスを監視するためのダッシュボードを構築できます。また、AWS CloudTrailを使うことで、Amazon Bedrockに対してのすべてのアクセス、いつ、だれが、どのようなAPIアクションを実行したのかを記録することが出来ます。これらのログはAmazon S3などに保存するようにして将来の監査等に備えるようにしましょう。
ガードレールによる望ましくないコンテンツのフィルタリング
Guardrails for Amazon Bedrockというサービスを使うことで、有害なカテゴリーに属するコンテンツや使われたくない機密情報などのコンテンツをプロンプトや応答から除去できます。様々なポリシーを組み合わせることで、その企業独自のガードレールを設定することが出来ます。
コンテンツフィルター
特定のネガティブなコンテンツのカテゴリの中でフィルターの強度を設定することが出来ます。これにより入力プロンプトやモデルからの応答から有害なコンテンツをフィルターすることが出来ます。
拒否されたトピック
ふさわしくないトピックについての入力プロンプトとモデルからの応答を拒否することが出来ます。自然言語の形で拒否したいトピックの説明を記述し、補足でそのトピックのサンプルフレーズを記述することが出来ます。
ワードフィルター
入力プロンプトや応答から排除したいワードを指定することが出来ます。直接単語をマネジメントコンソールから入力してもいいですし、ローカルやAmazon S3上に拒否リストを設置してインポートすることも可能です。
機密情報フィルター
Personally Identifiable Information (PII) type とは、個人を特定できる情報(PII)の種類を指します。PIIは、特定の個人を直接または間接的に識別するために使用できる情報であり、個人のプライバシーを保護するために特別な注意が必要です。機密情報フィルターでは以下のようなPIIの項目ごとに情報をブロックするのかマスクするのかを選択することができます。
- 氏名: 例えば、フルネーム、苗字、下の名前など。
- 住所: 自宅住所、職場の住所など。
- メールアドレス: 個人のメールアドレス。
- 電話番号: 個人の携帯電話番号や自宅の電話番号。
- 社会保障番号 (SSN): 米国の社会保障番号やその他の国の類似の識別番号。
- 生年月日: 個人の年齢や誕生日。
- クレジットカード番号: クレジットカード情報や銀行口座番号。
- 運転免許証番号: 運転免許証の番号やパスポート番号。
まとめ
Amazon Bedrockのコンプライアンス及び提供するセキュリティ機能であれば、多くの企業のコンプライアンス要件に準拠して生成AIアプリケーションを構築することが可能になります。AWSを含む第三者はお客様のデータやモデルにはアクセスできません。その上で、細かなセキュリティ要件に対応するためにはAWS IAMを使ってその企業にあったアクセス制御を実装する必要があります。また、ログの記録及び監査のためにAmazon cloudWatchやAWS CroudTrailを使用してユーザの操作やアクセス状況についても取得する必要があるでしょう。更にGuardrails for Amazon Bedrockを使用することで企業において安全で信頼できる倫理的な方法で 生成AIアプリケーションをを開発、評価、デプロイすることが可能になります
参考文献
本記事を執筆するために以下のドキュメントを参照しています