Azure上での安全なAIアプリ開発
最近ではチャットボットやデータ分析などのAI-agentがトレンドですが、プラットフォームエンジニアリングの観点でも、安全なAIアプリ開発のプラットフォーム提供は必要不可欠になってくるでしょう。
そこで突然ですが、Azure上での安全なAIアプリ開発について考察してみました。
AIアプリ開発の構成
設計のポイント
項目 | 内容 | 備考 |
---|---|---|
プライベートエンドポイント | ・各AIサービスおよびStorage accountとACR、AIhubはプライベートエンドポイントでのみアクセス可(パブリックアクセスを無効) | ・ACRについてプレミアムプランが必要 |
認証方法 | ・Storage accountとACRはEntra ID認証 ・各AIサービスはAPIキー |
AIアプリ開発構成のテンプレート範囲
AIアプリ開発のプラットフォームは、テンプレートとして提供する必要があります。テンプレート範囲は次の通りです。
- 事前払い出し
- DevBox
- プライベートエンドポイント用のサブネット
プラットフォーム設計によっては、いくつかのリソースを全開発チーム共通とすることもよいと思います。
- 共通リソース例
- Log analytics workspace(LAW)
→運用効率やSentinel(SIEM)導入の観点からもログはなるべく集約したほうがよい - ACR
→開発チーム間でのアプリ開発の知見共有の観点で、共通化もよい。しかし、コンテナイメージ内に直接機密情報を混入させない等、セキュアコーディングがより必要。
- Log analytics workspace(LAW)
補足:AIアプリ開発の各機能改修に合わせたProject(AI hub)の活用
AIアプリ開発の各機能改修に合わせて、AI hubのprojectを活用すると、より効率的な開発が可能かと思います。
projectを作成すると、自動的にAI hubから各AIサービスの引継ぎとコンテナが作成されます。
マネージドIDの作成や各権限付与は別途行う必要があります。