Microsoft が管理する世界のデータ センター ネットワークを介してアプリケーションとサービスを構築、配置、および管理するインフラストラクチャおよびクラウド コンピューティング プラットフォーム。
Azure Function → Azure Pipeline トリガーに関する権限とセキュリティについて
Azure Function → Azure Pipeline トリガーに関する権限とセキュリティについて
現在、Azure Function から HTTP リクエストを送信することで、Azure DevOps Pipeline をトリガーし、自動的に Terraform を実行する構成を検証しております。
この構成において、以下のような疑問・懸念点があり、調査を進めております。もしご存知の方がいらっしゃいましたら、ご助力いただけますと幸いです。
①-1
Azure DevOps 上に作成された Pipeline を、Azure Function から HTTP リクエストでトリガーする場合、この Pipeline はどのような権限で実行されるのか明確にしたいと考えています。
Pipeline を作成したユーザーの Azure 上での権限が反映されるのでしょうか?
それとも Function App の実行主体(Managed Identity やサービスプリンシパル等)の権限が影響するのでしょうか?
①-2
現在の構成では、**Azure DevOps Pipeline を URI 経由で誰でも実行できるのではないか?**という懸念があります。
Pipeline に対してセキュリティ制御(IP 制限、トークン制限など)は可能でしょうか?
DevOps 側で HTTP Trigger に対する認証設定を設けるベストプラクティスがあればご教授いただきたいです。
①-3
Azure Pipeline のセキュリティを担保するために、**「特定の Azure Function からのみトリガーを受け付ける」**ような制限を加えたいと考えています。
そのような設定(たとえば Function 側の IP、または Managed Identity による制限)は DevOps 側で可能でしょうか?
あるいは Function からの HTTP 呼び出し時に特定のヘッダやトークンで識別し、それを条件に受け付けるといった実装例があるのであればご紹介いただきたいです。
※複数の質問となっており恐縮ですが、可能な項目だけでも構いませんのでご回答いただけますと幸いです。