AWS的代碼管理工具 codecommit

AWS codecommit 是由AWS託管的版本控制服務,能夠在雲中私下存儲和管理資產。git

CodeCommit 是一項安全的、可高度擴展的託管型源代碼控制服務,可用於託管私有 Git 存儲庫,它支持 Git 的標準功能。安全

建議爲codecommit 新建立一個用戶,只給這個用戶賦予codecommit的相關權限(權限參照以下):ssh

1)要容許用戶使用 CodeCommit 控制檯,管理員必須授予他們執行 CodeCommit 操做的權限。例如,您能夠將 AWSCodeCommitPowerUser 託管策略或其等效策略附加到某一用戶或組;工具

2)AWSCodeCommitFullAccess – 授予對 CodeCommit 的徹底訪問權限。僅將此策略應用於您但願向其授予對 CodeCommit 存儲庫及您的 AWS 帳戶中的相關資源的徹底控制權限(包括刪除存儲庫的能力)的管理級用戶;開發工具

3)AWSCodeCommitPowerUser – 容許用戶訪問 CodeCommit 和存儲庫相關資源的全部功能,但不容許刪除 CodeCommit 存儲庫或在其餘 AWS 服務(如 Amazon CloudWatch Events)中建立或刪除存儲庫相關資源;fetch

4)AWSCodeCommitReadOnly – 授予對 CodeCommit 和其餘 AWS 服務中的存儲庫相關資源的只讀訪問權限以及建立和管理本身的 CodeCommit 相關資源(如供其 IAM 用戶在訪問存儲庫時使用的 Git 憑證和 SSH 密鑰)的能力。針對但願向其授予讀取存儲庫內容的能力但不能對內容進行任何更改的用戶spa

 

容許用戶對單個存儲庫使用 Git

在 CodeCommit 中,GitPull IAM 策略權限適用於從 CodeCommit 檢索數據的任何 Git 客戶端命令,包括 git fetchgit clone 等。一樣,GitPush IAM 策略權限適用於將數據發送到 CodeCommit 的任何 Git 客戶端命令。例如,若是 GitPush IAM 策略權限設置爲 Allow,則用戶可使用 Git 協議推送分支刪除。對該 IAM 用戶的 DeleteBranch 操做應用的任何權限都不會影響推送。DeleteBranch 權限適用於經過控制檯、AWS CLI、軟件開發工具包和 API 執行的操做,但不適用於經過 Git 協議執行的操做。版本控制

下面的示例容許指定用戶對名爲 MyDemoRepo 的 CodeCommit 存儲庫執行提取和推送操做:code

{
  "Version": "2012-10-17",
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codecommit:GitPull",
        "codecommit:GitPush"
      ],
      "Resource" : "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo"
    }
  ]
}資源

在線下配置git拉取的私鑰:

步驟 1: 先決條件

必須使用支持 Git 1.7.9 或更高版本的 Git 客戶端鏈接到 AWS CodeCommit 存儲庫。若是您沒有 Git 客戶端,能夠從 Git 下載安裝一個;

您必須將 AWS CodeCommit 託管策略附加到您的 IAM 用戶;

必須擁有 SSH 公有/私有密鑰對。打開 Bash 模擬器並使用 ssh-keygen 建立公有/私有密鑰對;

步驟 2: 註冊 SSH 公有密鑰

爲您的 IAM 用戶上傳 SSH 公有密鑰;(這裏與公鑰相配的私鑰就是計算機生成的)

上傳您的 SSH 公有密鑰後,複製 SSH 密鑰 ID;

步驟 3: 編輯本地 SSH 配置

編輯本地 ~/.ssh 目錄中名爲「config」的 SSH 配置文件。將如下行添加到文件中,其中 User 的值是您在步驟 2 中複製的 SSH 密鑰 ID。

Host git-codecommit.*.amazonaws.com
User Your-IAM-SSH-Key-ID-Here
IdentityFile ~/.ssh/Your-Private-Key-File-Name-Here

保存文件後,經過在 ~/.ssh 目錄中運行如下命令,確保它具備正確的權限。

chmod 600 config

步驟 4: 克隆存儲庫

將存儲庫克隆到本地計算機並開始處理代碼。運行如下命令:

git clone ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/airdrop

相關文章
相關標籤/搜索