AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解"
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
跨帳戶儲存庫存取:AccountA 中管理員的動作
若要允許 AccountB 的使用者或群組存取 AccountA 中的儲存庫,AccountA 管理員必須:
在 AccountA 建立政策來授予對儲存庫的存取權。
在 AccountA 中建立角色,供 AccountB 的 IAM 使用者和群組擔任。
將政策連接到角色。
以下章節提供步驟和範例。
步驟 1:在 AccountA 中建立儲存庫存取的政策
您可以在 AccountA 中建立政策,將 AccountA 中儲存庫的存取權授予 AccountB 中的使用者。根據您想允許的存取層級而定,請執行以下其中一項:
設定政策,以允許 AccountB 使用者存取特定的儲存庫,但不允許他們檢視 AccountA 中所有儲存庫的清單。
設定額外的存取權限,以允許 AccountB 使用者從 AccountA 中所有儲存庫的清單中選擇儲存庫。
建立儲存庫存取政策
以具有在 AccountA 中建立政策許可IAM的使用者身分登入 AWS 管理主控台。
開啟位於 IAM 的 https://console.aws.amazon.com/iam/
主控台。 在導覽窗格中,選擇政策。
選擇 Create policy (建立政策)。
選擇 JSON索引標籤,並將下列JSON政策文件貼到JSON文字方塊中。
us-east-2
將 取代 AWS 區域 為 儲存庫的 ,111122223333
將 取代為 AccountA 的帳戶 ID,並將MySharedDemoRepo
取代為 AccountA 中儲存 CodeCommit 庫的名稱:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:
us-east-2
:111122223333
:MySharedDemoRepo
" ] } ] }如果您希望擔任此角色的使用者能夠檢視 CodeCommit 主控台首頁上的儲存庫清單,請將額外的陳述式新增至政策,如下所示:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:
us-east-2
:111122223333
:MySharedDemoRepo
" ] }, { "Effect": "Allow", "Action": "codecommit:ListRepositories", "Resource": "*" } ] }擔任此角色的使用者可以使用這個存取權,更輕鬆地運用此政策來找出其可存取的儲存庫。他們可以從清單中選擇儲存庫名稱,就會自動前往共用儲存庫的首頁 (
Code
)。使用者無法存取他們在清單中看到的其他任何儲存庫,但可以在 Dashboard (儀表板) 頁面上檢視 AccountA 中的儲存庫。如果您不想允許擔任該角色的使用者檢視 AccountA 中所有儲存庫的清單,請使用第一個政策範例,但請務必將直接連結傳送至 CodeCommit 主控台中共用儲存庫的首頁。
選擇檢閱政策。政策驗證器會報告語法錯誤 (例如,如果您忘記將範例 Amazon Web Services 帳戶 ID 和儲存庫名稱取代為您的 Amazon Web Services 帳戶 ID 和儲存庫名稱)。
在檢閱政策頁面上,輸入政策的名稱 (例如,
CrossAccountAccessForMySharedDemoRepo
)。您也可以提供此政策的選用描述。選擇 建立政策。
步驟 2:在 AccountA 中建立儲存庫存取的角色
設定政策之後,請建立角色供 AccountB 的 IAM 使用者和群組擔任,並將此政策連接到該角色。
建立儲存庫存取角色
在 IAM 主控台,選擇 Roles (角色)。
選擇建立角色。
選擇另一個 Amazon Web Services 帳戶。
在帳戶 ID 中,輸入 AccountB 的 Amazon Web Services 帳戶 ID (例如
888888888888
)。選擇下一步:許可。在連接許可政策中,選取您在先前程序中建立的政策 (
CrossAccountAccessForMySharedDemoRepo
)。選擇下一步:檢閱。在角色名稱中,輸入角色的名稱 (例如
MyCrossAccountRepositoryContributorRole
)。您也可以輸入選用描述,協助其他人了解該角色的用途。選擇建立角色。
開啟您剛建立的角色,然後複製角色 ARN(例如
arn:aws:iam::
)。您需要ARN將此提供給 AccountB 管理員。111122223333
:role/MyCrossAccountRepositoryContributorRole