在AWS云上面创建Developers用户组

问题

需要给开发人员创建一个专门的Developers用户组,保证开发人员只能够尽兴相关操作。注意,我这里使用的AWS国际版。

创建Developers用户组

打开用户组页面,点击用户组,创建组,进行用户组创建,如下图:

输入用户组名称,点击创建组,这里先放一放相关权限策略如下图:

绑定权限策略

选中已经成功创建的用户组,如下图:

准备选择合适的权限策略,如下图:

搜索"AmazonSSMReadOnlyAccess"策略,该策略主要用于开发人员通过SSM访问AWS相关服务,类似堡垒机作用,附件该策略到用户组,如下图:

按上述方式,在以此搜索"AWSCodeBuildDeveloperAccess"策略,"AWSCodePipeline_ReadOnlyAccess"策略,"AWSCodeCommitPowerUser"策略。前两者是为了让开发人员,能够看到CI/CD阶段状态;"AWSCodeCommitPowerUser"策略是让开发者能够正常使用codecommit代码库。最后,自带策略绑定结果如下图:

下面开始,准备添加自定义策略,如下图

开始创建"DenyChangesToMain"自定义策略,该策略主要是约束开发人员不能直接操作主干分支,具体策略如下:

json 复制代码
{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Effect": "Deny",
			"Action": [
				"codecommit:GitPush",
				"codecommit:DeleteBranch",
				"codecommit:PutFile",
				"codecommit:MergeBranchesByFastForward",
				"codecommit:MergeBranchesBySquash",
				"codecommit:MergeBranchesByThreeWay",
				"codecommit:MergePullRequestByFastForward",
				"codecommit:MergePullRequestBySquash",
				"codecommit:MergePullRequestByThreeWay"
			],
			"Resource": "arn:aws:codecommit:*:账号ID:*",
			"Condition": {
				"StringEqualsIfExists": {
					"codecommit:References": [
						"refs/heads/main",
						"refs/heads/prod",
						"refs/heads/master"
					]
				},
				"Null": {
					"codecommit:References": "false"
				}
			}
		}
	]
}

以该json进行自定义策略创建,如下图:

点击下一步,进行策略创建,如下图:

最后,该策略就附加到用户组了,如下图:

按照上述方式添加"DisableDeleteBranch"自定义策略和"GetSecretValue"自定义策略。

"DisableDeleteBranch"自定义策略,主要防止开发者删除dev和release分支;"GetSecretValue"自定义策略主要让开发者能够正常读取配置中心数据。相关策略json如下:

"DisableDeleteBranch"自定义策略json:

json 复制代码
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "codecommit:DeleteBranch"
            ],
            "Resource": "arn:aws:codecommit:*:账号ID:*",
            "Condition": {
                "StringEqualsIfExists": {
                    "codecommit:References": [
                        "refs/heads/develop",
                        "refs/heads/release"
                    ]
                },
                "Null": {
                    "codecommit:References": "false"
                }
            }
        }
    ]
}

"GetSecretValue"自定义策略json:

json 复制代码
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "arn:aws:secretsmanager:*:账号ID:secret:*"
        }
    ]
}

最终,Developers用户组权限策略,如下图:

到这里developer用户组就创建完了。

总结

这就是在AWS国际云上面的创建Developer用户组的全过程。有点复杂的地方,主要是自定义权限策略的编写。

参考

相关推荐
sealaugh3212 分钟前
aws(学习笔记第四十八课) appsync-graphql-dynamodb
笔记·学习·aws
moppol13 小时前
Serverless 架构入门与实战:AWS Lambda、Azure Functions、Cloudflare Workers 对比
云原生·serverless·aws
观测云13 小时前
观测云 × AWS SSO:权限治理可观测实践
云计算·aws
在云上(oncloudai)13 小时前
AWS Directory Services全解析
aws
G皮T14 小时前
【云计算】企业项目 & 策略授权
云计算·iam·公有云·企业项目·策略授权·统一身份认证
_可乐无糖14 小时前
AWS WebRTC: 判断viewer端拉流是否稳定的算法
linux·服务器·webrtc·aws
AWS官方合作商10 天前
AWS ACM 重磅上线:公有 SSL/TLS 证书现可导出,突破 AWS 边界! (突出新功能的重要性和突破性)
服务器·https·ssl·aws
fanstuck10 天前
AI驱动的DevOps运维与云服务部署自动化
运维·aws·自动化运维
忘记安全带11 天前
AWS EC2使用SSM会话管理器连接
服务器·网络·自动化·云计算·aws
AWS官方合作商12 天前
告别停机烦恼!AWS EC2实例升级的“零中断”实战方案
云计算·运维开发·aws