本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
授權 AWS IoT 叫用 Lambda 函數
在本節中,您將授予您剛建立的自訂授權方資源的許可,以執行 Lambda 函數。若要授予許可,您可以使用 add-permission CLI命令。
使用 授予 Lambda 函數許可 AWS CLI
-
在插入您的值之後,輸入以下命令。請注意,
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-arnauthorizerArn
-
如果命令成功,它會傳回許可陳述式,例如此範例。您可以繼續下一節來測試自訂授權方。
{ "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