AWS攻略——使用CodeCommit托管代码
Posted breaksoftware
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS攻略——使用CodeCommit托管代码相关的知识,希望对你有一定的参考价值。
除了我们熟悉的github,各大云厂商也有自己的代码托管服务。本文讲解如何在Amazon的CodeCommit中托管代码。(转载请指明出于breaksoftware的csdn博客)
根账户登录
AWS有两种账户登录界面。
- IAM账户登录界面
- 根账户登录界面
我们先使用根账户登录。
IAM
我们需要定义一些IAM(Identity and Access Management)用户,这些用户将可以访问我们的代码库。这些操作可以通过https://console.aws.amazon.com/iam/home访问到。
为了更加贴近实际,我们假设有三种角色:
- 项目经理,拥有代码库全部权限,名字是Leader
- 研发工程师,拥有代码的写权限,名字是RD
- 测试工程师,拥有代码的读权限,名字是QA
新建组
我们以“项目经理”为例,创建的组名叫“Managers”。在附加策略页面,我们选择“AWSCodeCommitFullAccess”
然后把组创建出来。
相似的方式,我们把“研发工程师”和“测试工程师”的组创建出来。它们的名字分别是"Developers"和“Testers”,对应的附加策略是“AWSCodeCommitPowerUser”和“AWSCodeCommitReadOnly”。
新建用户
以“项目经理”为例,我们新建一个用户名叫“Leader”,并勾选“AWS管理控制台访问”,并让其自己设置密码。
然后把该用户编到拥有最高权限的“Managers”组中。
可以忽略掉“标签”页,直接创建用户。
最后这个页面非常重要。我们可以把该CSV下载下来,交给名字叫Leader的用户。其中包含了用户名、密码、以及IAM登录的地址。
生成git凭证
在“用户”页点击刚创建的Leader
然后进入“安全证书”页,点击“生成凭证”
然后将生成的凭证下载下来提供给Leader
CodeCommit新建代码库
进入https://console.aws.amazon.com/codesuite/codecommit/repositories。我们创建一个测试代码库“Test”
IAM用户登录
将“新建用户”最后一步生成的文件交给Leader妥善管理。他需要访问Console login link地址(如果你是在和根账户登录的同一台电脑上操作,建议启动一个其他内核的浏览器打开,否则将会把根账户踢出)。Account ID or alias将会被自动填好,只要填写上面文件中的用户名和密码即可。
因为我们让Leader自己设置密码,所以他会进入修改密码界面
此时Leader进入CodeCommit将会看到Test工程
Leader获取Https地址后,使用之前提供的“Git Https 凭证”中的用户名和密码,就可以将代码库clone下来了。
限制权限
目前,我们创建的用户都可以访问CodeCommit中的代码库。但是大部分时候,我们希望部分人不要拥有一些代码权限,包括拉取代码。
为了解决这个问题,我们需要在“策略”中做一些定制。
因为我们是对CodeCommit服务做限制,所以先在“服务”栏选择它。然后在“操作”栏勾选“ListRepositories”。这样可以保证Leader可以看到所有项目。然后添加一个限制策略
这儿我们需要将其切换到“拒绝”状态。
我们在“操作”栏勾选所有操作。然后在“资源”处添加我们要禁止Leader获取的库。
最后一步我们给策略取个名字“DenyAccessTest”。
现在我们只要把该策略绑定到用户上即可。
在没有限制权限之前,Leader查看CodeCommit的页面如下。它显示了下载地址。
而限制了权限之后,我们看到下载地址已经不出现了。
另
像Leader我们给了他很高的权限,但是像“研发工程师”和“测试工程师”则不需要这么高的权限。我们以“研发工程师”为例,创建用户RD。此时我们只给他“编程访问”权限。
用户添加成功后,我们也不用把该页面的CSV文件提供给他。只要把“安全证书”页面中生成的凭证给他即可。他可以使用其中的用户名和密码拉取代码库。
以上是关于AWS攻略——使用CodeCommit托管代码的主要内容,如果未能解决你的问题,请参考以下文章