0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Lambda : Lambda 関数 Url を認証タイプNONEで有効化するAWS CLI (2025年10月版)

Last updated at Posted at 2025-11-07

URL だけで AWS Lambda を起動できる「Lambda 関数 Url」を、認証タイプ NONE(誰でもアクセス可)として AWS CLI だけで有効化する AWS CLI。

aws lambda add-permission --function-name YOUR_FUNC_NAME \
 --statement-id FunctionURLAllowPublicAccess \
 --action "lambda:InvokeFunctionUrl" --principal "*" --function-url-auth-type NONE
aws lambda add-permission --function-name YOUR_FUNC_NAME \
 --statement-id FunctionURLAllowInvokeAction \
 --action "lambda:InvokeFunction" --principal "*" --invoked-via-function-url
aws lambda create-function-url-config --function-name YOUR_FUNC_NAME \
 --auth-type NONE
## 確認用
aws lambda get-function-url-config --function-name YOUR_FUNC_NAME
  • --statement-id の名前は任意です。上のCLIで設定している FunctionURLAllowPublicAccessFunctionURLAllowInvokeAction はマネジメントコンソールから有効化した際に自動的に付与される名前と同じです

実行例

$ aws lambda add-permission --function-name YOUR_FUNC_NAME --statement-id FunctionURLAllowPublicAccess --action "lambda:InvokeFunctionUrl" --principal "*" --function-url-auth-type NONE
{
    "Statement": "{\"Sid\":\"FunctionURLAllowPublicAccess\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"lambda:InvokeFunctionUrl\",\"Resource\":\"arn:aws:lambda:us-west-2:***:function:YOUR_FUNC_NAME\",\"Condition\":{\"StringEquals\":{\"lambda:FunctionUrlAuthType\":\"NONE\"}}}"
}
$ aws lambda add-permission --function-name YOUR_FUNC_NAME --statement-id FunctionURLAllowInvokeAction --action "lambda:InvokeFunction" --principal "*" --invoked-via-function-url
{
    "Statement": "{\"Sid\":\"FunctionURLAllowInvokeAction\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-west-2:***:function:YOUR_FUNC_NAME\",\"Condition\":{\"Bool\":{\"lambda:InvokedViaFunctionUrl\":\"true\"}}}"
}
$ aws lambda create-function-url-config --function-name YOUR_FUNC_NAME --auth-type NONE
{
    "FunctionUrl": "https://czxku43kxxxxxxxxxxxxxxxy0ptbtq.lambda-url.us-west-2.on.aws/",
    "FunctionArn": "arn:aws:lambda:us-west-2:***:function:YOUR_FUNC_NAME",
    "AuthType": "NONE",
    "CreationTime": "2025-11-07T00:27:11.462355245Z"
}
## 確認用
$ aws lambda get-function-url-config --function-name YOUR_FUNC_NAME
{
    "FunctionUrl": "https://czxku43kxxxxxxxxxxxxxxxy0ptbtq.lambda-url.us-west-2.on.aws/",
    "FunctionArn": "arn:aws:lambda:us-west-2:951543768772:function:YOUR_FUNC_NAME",
    "AuthType": "NONE",
    "CreationTime": "2025-11-07T00:27:11.462355245Z",
    "LastModifiedTime": "2025-11-07T00:27:11.462355245Z",
    "InvokeMode": "BUFFERED"
}

AWS CLI は最新にしましょう

lambda add-permission で以下のエラーが出たら、AWS CLI が古いです。AWS CLI をアップデートしましょう。

Unknown options: --invoked-via-function-url

2025年10月から、権限が追加で必要になりました

無効化

認証タイプ NONE は誰でもアクセス可能なので、必要時に立ち上げて不要になったら無効化しておきましょう。
次回有効化で URL が変わります。同じにしたい場合は CloudFront を経由する等、ちゃんとやりましょう。

--statement-id は作成時に指定した名前を設定してください。

aws lambda delete-function-url-config --function-name YOUR_FUNC_NAME
aws lambda remove-permission --function-name YOUR_FUNC_NAME --statement-id FunctionURLAllowInvokeAction
aws lambda remove-permission --function-name YOUR_FUNC_NAME --statement-id FunctionURLAllowPublicAccess

EoT

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?