授權 AWS IoT 叫用 Lambda 函數 - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

授權 AWS IoT 叫用 Lambda 函數

在本節中,您將授予您剛建立的自訂授權方資源的許可,以執行 Lambda 函數。若要授予許可,您可以使用 add-permission CLI命令。

使用 授予 Lambda 函數許可 AWS CLI
  1. 在插入您的值之後,輸入以下命令。請注意,statement-id 值必須是唯一的。Id-1234 以您擁有的確切值取代 ,否則您可能會發生錯誤ResourceConflictException

    aws lambda add-permission \ --function-name "custom-auth-function" \ --principal "iot.amazonaws.com" \ --action "lambda:InvokeFunction" \ --statement-id "Id-1234" \ --source-arn authorizerArn
  2. 如果命令成功,它會傳回許可陳述式,例如此範例。您可以繼續下一節來測試自訂授權方。

    { "Statement": "{\"Sid\":\"Id-1234\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"iot.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:Region:57EXAMPLE833:function:custom-auth-function\",\"Condition\":{\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:lambda:Region:57EXAMPLE833:function:custom-auth-function\"}}}" }

    如果命令未成功,它會傳回錯誤,例如此範例。您必須先檢閱並更正錯誤,然後才能繼續進行。

    An error occurred (AccessDeniedException) when calling the AddPermission operation: User: arn:aws:iam::57EXAMPLE833:user/EXAMPLE-1 is not authorized to perform: lambda:AddPer mission on resource: arn:aws:lambda:Region:57EXAMPLE833:function:custom-auth-function