共用儲AWS CodeCommit存庫 - AWS CodeCommit

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

共用儲AWS CodeCommit存庫

建立 CodeCommit 儲存庫之後,您可以與其他使用者共用。首先,請確定在存取時是否要使用聯合存取權、臨時登入資料或網路身分提供者 (例如 IAM 身分中心) CodeCommit,或是要與 IAM 使用者使用 Git 登入資料或 SSH 金鑰配對。如果您使用前者,則需要為身分提供者設定使用者、存取權和權限,然後提供使用者使用的指示git-remote-codecommit。如需詳細資訊,請參閱 HTTPS 連線的設定步驟AWS CodeCommit與git-remote-codecommit使用旋轉認證連線至AWS CodeCommit儲存庫

您無法將 Git 認證或 SSH 金鑰配對與聯合存取或身分識別提供者搭配使用,但是許多 IDE 最適合使用這些認證。在這種情況下,請決定在複製和使用 Git 用戶端或 IDE 連接到存放庫時向使用者推薦哪種通訊協定 (HTTPS 或 SSH)。然後將 URL 和連線資訊傳送到您想要與其共用儲存庫的使用者。根據您的安全要求,共用儲存庫可能還需要建立 IAM 群組、將受管政策套用至該群組,以及編輯 IAM 政策以改善存取權限,或建立和使用 IAM 角色。

注意

授予使用者對儲存庫的主控台存取之後,這些使用者即可直接在主控台中新增或編輯檔案,而不需設定 Git 用戶端或其他連線。如需詳細資訊,請參閱 建立檔案或將檔案新增至AWS CodeCommit儲存庫編輯AWS CodeCommit儲存庫中檔案的內容

這些指示的撰寫是假設您已完成設定 建立 儲存庫中的步驟。

注意

根據您的使用情況,您可能需要支付建立或存取存放庫的費用。如需詳細資訊,請參閱 CodeCommit 產品資訊頁面上的定價

選擇要與使用者共用的連線通訊協定

當您在中建立存放庫時 CodeCommit,會產生兩個端點:一個用於 HTTPS 連線,另一個用於 SSH 連線。兩者都提供網路上的安全連線。您的使用者可以使用任一通訊協定。無論您建議使用者採用哪個通訊協定,這兩個端點都保持在作用中。

HTTPS 連線需要以下兩者中的一個:

  • Git 認證,IAM 使用者可以在 IAM 中為自己產生這些憑證。Git 登入資料是儲存庫的使用者設定並使用的最簡單方法。

  • 要擔任的 AWS 存取金鑰或角色,您的儲存庫使用者必須在其登入資料描述檔中設定。您可以設定 git-remote-codecommit (建議使用) 或 AWS CLI 隨附的登入資料協助程式。根帳戶或聯合身分使用者只能使用這些方法。

SSH 連接需要使用者進行以下動作:

  • 產生公私金鑰對。

  • 存放公有金鑰。

  • 將公開金鑰與其 IAM 使用者建立關聯。

  • 在使用者自己的本機電腦上設定已知的主機檔案。

  • 在使用者自己的本機電腦上建立和維護設定檔。

因為這是較複雜的設定程序,因此建議您選擇 HTTPS 和 Git 認證來連線到 CodeCommit.

如需 HTTPS、SSH、Git、git-remote-codecommit 和遠端儲存庫的詳細資訊,請參閱設定 使用旋轉認證連線至AWS CodeCommit儲存庫或查詢您的 Git 文件。如需通訊協定的一般概觀,以及每個通訊協定如何與遠端儲存庫通訊的詳細資訊,請參閱概觀伺服器上的 Git - 通訊協定

注意

雖然 Git 支援各種連線通訊協定, CodeCommit 不支援使用不安全通訊協定 (例如本機通訊協定或一般 HTTP) 的連線。

為您的儲存庫建立 IAM 政策

AWS在 IAM 中提供三種受管政策,適用於 CodeCommit. 這些政策無法編輯,也無法套用至與您的 Amazon Web Services 帳戶相關聯的所有儲存庫。不過,您可以使用這些政策做為範本,以建立只套用至您想要共用的儲存庫的自訂受管政策。您的客戶受管政策可以特別套用至您想要共用的儲存庫。如需詳細資訊,請參閱受管政策IAM 使用者和群組

提示

若要更精細地控制存放庫的存取權,您可以建立多個客戶受管政策,並將這些政策套用至不同的 IAM 使用者和群組。

如需有關檢閱受管政策的內容,以及使用政策來建立和套用許可的資訊,請參閱AWS CodeCommit 的身分驗證與存取控制

為您的儲存庫建立客戶受管政策
  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. Dashboard (儀表板) 導覽區域中,選擇 Policies (政策),然後選擇 Create Policy (建立政策)

  3. 在 [建立原則] 頁面上,選擇 [匯入受管理的原則]。

  4. 在 [匯入受管原則] 頁面的 [篩選器策略] 中,輸入AWSCodeCommitPowerUser。選擇原則名稱旁邊的按鈕,然後選擇 [匯入]。

  5. 建立政策頁面上,選擇 JSON。將 CodeCommit 動作Resource行的「*」部分取代為 CodeCommit 儲存庫的 Amazon 資源名稱 (ARN),如下所示:

    "Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]
    提示

    若要尋找 CodeCommit 存放庫的 ARN,請移至 CodeCommit 主控台,從清單中選擇存放庫名稱,然後選擇 [設定]。如需詳細資訊,請參閱 檢視儲存庫詳細

    如果您希望此政策套用到多個儲存庫,請指定儲存庫的 ARN,將每個儲存庫新增為資源。在每個資源陳述式之間包含逗號,如下所示:

    "Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]

    完成編輯後,請選擇 [檢閱原則]。

  6. 在 [檢閱原則] 頁面的 [名稱] 中,輸入原則的新名稱 (例如 AWSCodeCommitPowerUser-MyDemoRepo)。選擇性地提供此原則的說明。

  7. 選擇建立政策

為儲存庫使用者建立 IAM 群組

若要管理存放庫的存取權,請為其使用者建立 IAM 群組,將 IAM 使用者新增至該群組,然後附加您在上一步中建立的客戶受管政策。或者,您可以建立具有附加客戶管理策略的角色,並讓使用者擔任該角色。

如果您使用 SSH,則必須將另一個受管政策附加到 IAMUserSSHKeys 群組,這是允許使用者上傳其安全殼層公開金鑰,並將其與用來連線的 IAM 使用者建立關聯的 IAM 受管政策。 CodeCommit

  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. Dashboard (儀表板) 導覽區域中,選擇 Groups (群組),然後選擇 Create New Group (建立新的群組)

  3. Set Group Name (設定群組名稱) 頁面的 Group Name (群組名稱) 中,輸入群組的名稱 (例如,MyDemoRepoGroup),然後選擇 Next Step (下一步)。請考慮將儲存庫名稱包含於群組名稱中。

    注意

    此名稱在 Amazon Web Services 帳戶中必須是唯一的。

  4. 選取您在上一節建立的客戶受管政策旁的方塊 (例如,AWSCodeCommitPowerUser-MyDemoRepo)。

  5. Review (檢閱) 頁面上,選擇 Create Group (建立群組)。IAM 會使用已附加的指定政策建立此群組。該群組會出現在與您的 Amazon Web Services 帳戶關聯的群組清單中。

  6. 從清單中選擇您的群組。

  7. 在群組摘要頁面上,選擇 Users (使用者) 標籤,然後選擇 Add Users to Group (新增使用者到群組)。在顯示與 Amazon Web Services 帳戶關聯的所有使用者的清單中,選取您要允許存取 CodeCommit 存放庫的使用者旁邊的核取方塊,然後選擇 [新增使用者]。

    提示

    您可以使用 [Search (搜尋)] 方塊,依名稱快速尋找使用者。

  8. 新增使用者後,請關閉 IAM 主控台。

與您的使用者分享連線資訊

  1. 請在以下位置開啟 CodeCommit 主控台。 https://console.aws.amazon.com/codesuite/codecommit/home

  2. 在區域選取器中,選擇建立儲存庫的AWS 區域位置。儲存庫特定於AWS 區域. 如需詳細資訊,請參閱 區域和 Git 連線端點

  3. Repositories (儲存庫) 頁面上,選擇您要共用的儲存庫。

  4. Clone URL (複製 URL) 中,選擇您要讓使用者使用的通訊協定。這樣會複製該連線通訊協定的複製 URL。

  5. 將複製 URL 連同其他任何指示傳送給使用者,例如安裝 AWS CLI、設定描述檔或安裝 Git。請務必包含連線通訊協定的組態資訊 (例如 HTTPS)。

下列範例電子郵件為使用美國東部 (俄亥俄) (us-east-2) MyDemoRepo 區域的 HTTPS 連線通訊協定和 Git 認證連線至儲存庫的使用者提供相關資訊。此電子郵件的撰寫是假設使用者已安裝 Git 且熟悉其使用方式。

I've created a CodeCommit repository for us to use while working on our project. The name of the repository is MyDemoRepo, and it is in the US East (Ohio) (us-east-2) region. Here's what you need to do in order to get started using it: 1. Make sure that your version of Git on your local computer is 1.7.9 or later. 2. Generate Git credentials for your IAM user by signing into the IAM console here: https://console.aws.amazon.com/iam/. Switch to the Security credentials tab for your IAM user and choose the Generate button in HTTPS Git credentials for CodeCommit. Make sure to save your credentials in a secure location! 3. Switch to a directory of your choice and clone the CodeCommit repository to your local machine by running the following command: git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo 4. When prompted for user name and password, use the Git credentials you just saved. That's it! If you'd like to learn more about using CodeCommit, you can start with the tutorial here.

您可以在中找到完整的設定說明設定