Azure AD からデータをフェッチするために使用している Azure 関数がありますが、後でロジック アプリから関数を呼び出せるように、HTTP トリガーを使用するため、関数を使用できるユーザーを制限したいと考えています。道を下って。HTTP でトリガーされる Azure Functions にはパブリック エンドポイントがあるため、承認レベルを Function に設定するか、Azure AD サービス プリンシパル (事前に作成されたもの) を使用することをお勧めします。この変更を行うと、関数を URL に入れることで呼び出しを行うことができます。
ベース URL:
https://something.com/api/function_name
トークン付きの URL:
https://something.com/api/function_name?code=token_here
ただし、私の関数は何らかの入力が与えられることを期待しています。匿名エンドポイントでは、次のようにベース URL を拡張します。
https://something.com/api/function_name/?parameter=value
パラメータはコードが期待するものであり、値はコード内の変数に渡されます。今、私はこの HTTP エンドポイントに不慣れで、URL を介して値を渡しています。これがJSONとして渡されることを理解しています(おそらく)
しかし、関数の承認とパラメーターの受け渡しの両方を行う方法がわかりません。私はもう試した:
https://something.com/api/function_name/?parameter=value?code=token_here
https://something.com/api/function_name?code=token_here/?parameter=value
これがどのように機能するか知っている人はいますか?
Platform Features -> Authentication / Authorization
反対に、 をAzure AD サービス プリンシパルに設定することもできます。しかし、そのサービス プリンシパルのclient_id
およびを使用して認証するように URL を変更するにはどうすればよいでしょうか。client_secret
トークンにライフサイクル管理を実装し、トークンをローテーションしてさらに安全に保つことができるため、実際にはこの方法を使用することをお勧めします。
私はここを見てきました: JavaScriptを使用したAzure AD認証アクセスを備えたAzure関数
そして、私がstackoverflowで見つけた他のほとんどのトピックは、近づくことさえできませんでした.
PS: この PS は回答を必要としませんが、ご意見をいただければ幸いです。私が作り上げているこのことは、Get-Function
. Get-Function
何らかの方法で をトリガーする必要がある場所Update-Function
。そしてGet-Function
、この関数を自動化に使用できるようにする API として提供できるように、HTTP をトリガーするようにしています。(Azure AD のアクセス許可を必要としない人がなくても、API 呼び出しを介してシークレットをローテーションできるようにするため) 更新機能は、(特定の) アプリケーション/サービス プリンシパルでシークレットをローテーションする必要があります。Azure 関数は v2 に基づいており、Powershell Core を言語として使用します。