我们someAWSAccount
假设someaccountrole
与实例配置文件名p
在AWS。
按名称管理的策略some-permission-boundary
在此帐户(创建someAWSAccount
)。 创造这个帐户这一边界政策的目的是下面提到。
要求是,
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: hello-world/
Handler: app.LambdaHandler
Runtime: nodejs8.10
Events:
MySQSEvent:
Type: SQS
Properties:
Queue: !GetAtt SomeQueue.Arn
BatchSize: 10
PermissionsBoundary: "arn:aws:iam::${AWS::AccountId}:policy/some-permission-boundary"
SomeQueue:
Type: AWS::SQS::Queue
强制执行一些规则 ,从上面SAM模版生成的AWS资源,通过强制SAM模版有 PermissionsBoundary: "arn:aws:iam::${AWS::AccountId}:policy/some-permission-boundary"
作为其一部分Properties
列表,
因此,任何AWS资源类型(如LAMBDA,SQS,角色,策略等)被创建之中
sam deploy --template-file above-SAM-template --stack-name somestack --profile p
应符合中提到的规则arn:aws:iam::${AWS::AccountId}:policy/some-permission-boundary
开发人员在编写这些SAM tempates和安全团队需要确保sam deploy
不起作用,直到此PermissionsBoundary
属性是的一部分Properties
SAM模版的名单。
因此,对于这一点,我们正在考虑设计在另一个管理政策someAWSAaccount
是确保sam deploy
失败,如果SAM模版没有这个条目: sam deploy --template-file above-SAM-template --profile p
应该在部署策略(管理策略)是什么样子的,强制执行这个规则? 这Principal
应获得分配与此部署的政策?
要么
你建议的替代方法?