AWS攻略——使用CodeCommit托管代码

Posted breaksoftware

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS攻略——使用CodeCommit托管代码相关的知识,希望对你有一定的参考价值。

        除了我们熟悉的github,各大云厂商也有自己的代码托管服务。本文讲解如何在Amazon的CodeCommit中托管代码。(转载请指明出于breaksoftware的csdn博客)

根账户登录

        AWS有两种账户登录界面。

  1. IAM账户登录界面

     

  2.    根账户登录界面

        我们先使用根账户登录。

IAM

        我们需要定义一些IAM(Identity and Access Management)用户,这些用户将可以访问我们的代码库。这些操作可以通过https://console.aws.amazon.com/iam/home访问到。

        为了更加贴近实际,我们假设有三种角色:

  1. 项目经理,拥有代码库全部权限,名字是Leader
  2. 研发工程师,拥有代码的写权限,名字是RD
  3. 测试工程师,拥有代码的读权限,名字是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托管代码的主要内容,如果未能解决你的问题,请参考以下文章

Inplayable技术分享

Inplayable技术分享

Inplayable技术分享

Inplayable技术分享

aws codecommit 代码托管服务使用

AWS攻略——使用S3托管静态网页