API GatewayのLambdaオーソライザーをクロスアカウントで共有する

認可ロジックを1つのLambdaに集約し、複数アカウントのAPIから呼び出す構成が組める。リソースポリシーの書き方とスケールする権限設計を示す。

構成の全体像

認可Lambdaを中央アカウントに置き、各アカウントのHTTP APIオーソライザーとしてARN指定で参照する。呼び出し許可はLambda側のリソースポリシーで与える。

リソースポリシーの設計

API単位でSourceArnを列挙すると増設のたびに更新が要る。アカウント単位のワイルドカードSourceArnで許可すると運用がスケールする。

レスポンスとキャッシュ

シンプルレスポンス形式ならisAuthorizedの真偽だけで済む。identitySourceに基づくキャッシュTTLを設定して呼び出し回数を抑える。