无服务器 - 如何通过无服务器创建独立的客户管理策略

Serverless - How to create a standalone customer managed policy through serverless

目前我的 serverless.yml 文件如下所示:

service: aaaaa

provider:
  name: aws
  runtime: go1.x
  stage: mydev

resources:
  Resources:
    MyManagedPolicy:
      Type: AWS::IAM::ManagedPolicy
      Properties: 
        Description: This is my custom managed policy
        PolicyDocument:
          Version: 2012-10-17
          Statement:
            - Effect: Allow
              Action: s3:GetObject
              Resource: '*'

当我 运行 “sls deploy” 命令时,出现以下错误:

错误:

发生错误:MyManagedPolicy - 策略中的语法错误。 (服务:AmazonIdentityManagement;状态代码:400;错误代码:MalformedPolicyDocument;请求 ID:a20aa12c-fbaf-4301-bd20-b0148426f633)。

能否请您指出语法错误?我是无服务器的新手,所以无法理解。

如果可能请建议工作 serverless.yml

MyManagedPolicy 政策正确。它的语法、yaml 和 PolicyDocument.

都没有问题

为了验证它,我用你的 MyManagedPolicy 创建了我自己的模板并且它部署没有任何问题。

但是,在对无服务器进行测试后,我可以确认这不适用于 OP 报告的相同问题。

经过进一步调查,发现无服务器 错误地Version: 2012-10-17 指定为:

 "Version": "2012-10-17T00:00:00.000Z"

解决方案是在引号中使用日期:

Version: "2012-10-17"