关于如何将无服务器客户端连接到给定的AWS函数,我有一个问题。
我正在构建一个为开发人员提供基于云的开发环境的系统。它提供构建在AWS lambda,dynamodb服务之上的无服务器开发环境。
一些开发人员问我如何在给定的环境中使用无服务器框架。对于公司的安全策略,我不能授予Adimin对开发人员的权限,因此他们发现很难在IAM服务中执行需要CRUD权限的sls部署cmd。
我尝试将无服务器客户端与我的系统提供的aws lambda连接,而不执行deploy。但都失败了。它要求我在部署函数cmd之前执行sls部署cmd。
是否有任何方法将无服务器客户端与给定的AWS Lambda函数连接?如果有最好的做法使权力最小化,请给我一个建议。
提前谢谢你。
发布于 2022-10-11 09:23:14
首先,您需要设置不同的组,其中有专门的安全组向用户授予权限。例如,这里有一个Cloudformation模板(它引用默认的OrganizationAccountAccessRole,但您可能/应该用最小的访问权限创建自己的模板):
Resources:
# ADMIN QA
AssumeAdministratorQARolePolicy:
Type: AWS::IAM::ManagedPolicy
Properties:
ManagedPolicyName: "AdminQA"
Description: "Assume the qa administrative role"
PolicyDocument:
Version: "2012-10-17"
Statement:
- Sid: "AssumeAdministratorQARolePolicy"
Effect: "Allow"
Action:
- "sts:AssumeRole"
Resource: "arn:aws:iam::ACCOUNTID:role/OrganizationAccountAccessRole"
AdminQAGroup:
Type: AWS::IAM::Group
Properties:
GroupName: AdminQA
ManagedPolicyArns:
- !Ref AssumeAdministratorQARolePolicy
AdminQAUsersToGroup:
Type: AWS::IAM::UserToGroupAddition
Properties:
GroupName: !Ref AdminQAGroup
Users:
- MYUSER那么MYUSER可能会通过他的.aws/credentials来使用这个角色
[default]
aws_access_key_id = KEY
aws_secret_access_key = SECRET
[qa]
role_arn = arn:aws:iam::ACCOUNTID:role/OrganizationAccountAccessRole
source_profile = default再一次,您可以将OrganizationAccountAccessRole更新为您自己的角色。最后,在部署期间,您可以在以下情况下使用此配置文件:
serverless deploy --stage qa --aws-profile qa我建议直接在package.json中设置。
希望这有助于并澄清如何在整个部署过程中授予权限和访问权限。
https://stackoverflow.com/questions/74024848
复制相似问题