创建授权方
您可以使用 CreateAuthorizer API 创建授权方。以下示例对该命令进行了说明。
aws iot create-authorizer --authorizer-name MyAuthorizer --authorizer-function-arn arn:aws:lambda:us-west-2:<account_id>:function:MyAuthorizerFunction //The ARN of the Lambda function. [--token-key-name MyAuthorizerToken //The key used to extract the token from headers. [--token-signing-public-keys FirstKey= "-----BEGIN PUBLIC KEY----- [...insert your public key here...] -----END PUBLIC KEY-----" [--status ACTIVE] [--tags <value>] [--signing-disabled | --no-signing-disabled]
您可以使用 signing-disabled 参数选择退出适用于授权方的每次调用的签名验证。除有必要,否则我们强烈建议您不要禁用签名。签名验证可防止来自未知设备的 Lambda 函数过多调用。您无法在创建授权方后更新其 signing-disabled 状态。要更改此行为,您必须创建 signing-disabled 参数具有不同值的其它自定义授权方。
如果您已禁用签名,则 tokenKeyName 和 tokenSigningPublicKeys 参数的值是可选的。如果启用了签名,则它们是必需的值。
创建 Lambda 函数和自定义授权方后,必须明确授予 AWS IoT Core 服务权限代表您调用函数。您可使用以下命令执行此操作。
注意
默认的物联网端点可能不支持将自定义授权方与 Lambda 函数一起使用。相反,您可以使用域配置来定义新端点,然后为该自定义授权方指定该端点。
aws lambda add-permission --function-name <lambda_function_name> --principal iot.amazonaws.com --source-arn <authorizer_arn> --statement-id Id-123 --action "lambda:InvokeFunction"