はじめに
先日、以下のような記事を書きました。GPT-4o が出てきたことで、Power Apps で作成する独自のアプリで出来ることの幅が広がりました。こういった新しいモデルが出てきた際、いち早くそちらを利用する独自のアプリやフローを作成することができるのは、Power Platform の強みと考えます。
もちろん、AI Builder の AI プロンプトについても、GTP-4 が使えるようになるなど、日々進化をしており、こちらを使うことで解決できるシナリオも沢山あるという認識ですが、例えば、上記アプリのように、最新のモデルを利用することで実現できることもあるため、引き続き、Power Platform × Azure OpenAI を直接連携させるニーズはあると考えます。
この際、やはり考慮する点は、セキュリティです。当初上記アプリは、以下のような構成で作成しておりました。もちろん、API キーを厳重に管理すれば、こちらの構成でも行けるとは思いますが、ネットワーク観点のセキュリティを強化したいというニーズもあると思います。
そのためのアプローチとして、Azure Virtual Network を利用するアプローチがあります。最初試した際は上手くいかなかったのですが、今回上手くいったため、改めて紹介します。
以前紹介した以下の方法はサポートされなくなりました。
Azure Virtual Network を利用して Azure OpenAI の GPT-4o を利用する
まず、今回は、最終的に以下のような構成となりました。基本的な構築方法は以前の記事と同じなので、そちらの記事を参考にしていただけたらと思いますが、Power Platform 側の環境はマネージド環境である必要がある点について、注意が必要です。
Azure OpenAI のリソースと、API のキーを格納している Key Vault のリソースは、Virtual Network からの通信のみ許可しています。
そのため、以前作成していた HTTP コネクタを利用するフローは失敗するようになりました。
※今回作成したマネージド環境の場合も失敗します
代わりに作成したフローは以下のような感じです。現状、HTTP コネクタはサポートされておらず、カスタムコネクタはサポートされているため、カスタムコネクタを作成し、同じ処理を実行するように変えました。
期待した通りに動作しました。
まとめ
今回は、Azure Virtual Network を利用して、Power Platform からセキュアに Azure OpenAI の GPT-4o を利用する方法を紹介しました。
特に、画像の処理において、Power Platform から Azure OpenAI の GPT-4o を利用したいというニーズがあると思います。その際に、通信をセキュアにする方法として、こちらの方法が参考になれば幸いです。