Lambda の関数 URL(Function URLs)で lambda:InvokeFunction 権限を付与する方法を教えてください
困っていた内容
2025年10月以降、Lambda の関数 URL では、従来の lambda:InvokeFunctionUrl 権限に加えて、lambda:InvokeFunction 権限も必要になった認識です。
既存の Lambda 関数に権限を付与したいので、付与する方法を教えてください。
Control access to Lambda function URLs - AWS Lambda
Note
Starting in October 2025, new function URLs will require both lambda:InvokeFunctionUrl and lambda:InvokeFunction permissions.
どう対応すればいいの?
Lambda コンソールの場合は「設定」タブの「リソースベースのポリシーステートメント」から追加します。
AWS CLI の場合はadd-permissionコマンドで追加します。
Lambda コンソールから追加する場合
Lambda コンソールの「関数」から権限を付与する関数を選択します。

「設定」タブの「アクセス権限」を選択します。

「リソースベースのポリシーステートメント」セクションの「アクセス権限を追加」を選択します。

「関数 URL」を選択して、認証タイプとアクションに「lambda:InvokeFunction」を選択して保存します。
※「認証タイプ」は関数の設定に応じて選択してください。

正常に権限が追加されたことを確認します。

なお、設定されているポリシーは「ポリシーの表示」を選択するとまとめて表示できます。

表示例

AWS CLIから追加する場合
add-permissionコマンドを実行して、権限を付与できます。
get-policyコマンドを実行して、現在の設定値を確認できます。
# コマンド例
$ aws lambda add-permission \
  --function-name 【Lambda 関数名】 \
  --statement-id UrlPolicyInvokeFunction \
  --action lambda:InvokeFunction \
  --principal "*" \
  --invoked-via-function-url
# 実行例
$ aws lambda add-permission \
  --function-name hato-my-url-function-console \
  --statement-id UrlPolicyInvokeFunction \
  --action lambda:InvokeFunction \
  --principal "*" \
  --invoked-via-function-url
{
    "Statement": "{\"Sid\":\"UrlPolicyInvokeFunction\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:ap-northeast-1:123456789012:function:hato-my-url-function-console\",\"Condition\":{\"Bool\":{\"lambda:InvokedViaFunctionUrl\":\"true\"}}}"
}
# コマンド例
$ aws lambda get-policy \
  --function-name 【Lambda 関数名】 \
  --query 'Policy' \
  --output text | jq .
# 実行例
$ aws lambda get-policy \
  --function-name hato-my-url-function-console \
  --query 'Policy' \
  --output text | jq .
{
  "Version": "2012-10-17",
  "Id": "default",
  "Statement": [
    {
      "Sid": "hato-InvokeFunctionUrl",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "lambda:InvokeFunctionUrl",
      "Resource": "arn:aws:lambda:ap-northeast-1:123456789012:function:hato-my-url-function-console",
      "Condition": {
        "StringEquals": {
          "lambda:FunctionUrlAuthType": "NONE"
        }
      }
    },
    {
      "Sid": "UrlPolicyInvokeFunction",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:ap-northeast-1:123456789012:function:hato-my-url-function-console",
      "Condition": {
        "Bool": {
          "lambda:InvokedViaFunctionUrl": "true"
        }
      }
    }
  ]
}












