的身分和存取管理 AWS CodeCommit - AWS CodeCommit

AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解"

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

的身分和存取管理 AWS CodeCommit

AWS Identity and Access Management (IAM) 是 AWS 服務 ,可協助管理員安全地控制對 AWS 資源的存取。IAM 管理員會控制誰可以進行身分驗證 (登入) 和授權 (具有許可) 來使用 CodeCommit 資源。IAM 是 AWS 服務 您可以免費使用的 。

物件

使用 AWS Identity and Access Management (IAM) 的方式會有所不同,具體取決於您在 CodeCommit 中執行的工作。

服務使用者 – 如果您使用 CodeCommit 服務來執行您的任務,您的管理員會為您提供所需的憑證和許可。當您使用更多 CodeCommit 功能來執行工作時,您可能需要額外的許可。了解存取許可的管理方式可協助您向管理員請求正確的許可。如果您無法存取 CodeCommit 中的功能,請參閱 對 AWS CodeCommit 身分和存取權進行疑難排解

服務管理員 – 如果您在公司負責 CodeCommit 資源,您可能擁有 CodeCommit 的完整存取權。您的任務是判斷服務使用者應存取哪些 CodeCommit 功能和資源。然後,您必須向 IAM 管理員提交請求,以變更服務使用者的許可。請檢閱此頁面上的資訊,以了解 IAM 的基本概念。若要進一步了解貴公司如何使用 IAM with CodeCommit,請參閱 如何使用 AWS CodeCommit IAM

IAM 管理員 – 如果您是 IAM 管理員,您可能想要了解如何撰寫政策以管理 CodeCommit 存取的詳細資訊。若要檢視您可以在 CodeCommit 中使用的範例 IAM 身分型政策,請參閱 AWS CodeCommit 身分型政策範例

使用身分驗證

驗證是您 AWS 使用身分憑證登入 的方式。您必須以 AWS 帳戶根使用者身分、IAM 使用者身分或擔任 IAM 角色來驗證 (登入 AWS)。

您可以使用透過身分來源提供的憑證,以聯合身分 AWS 身分登入 。 AWS IAM Identity Center (IAM Identity Center) 使用者、您公司的單一登入身分驗證,以及您的 Google 或 Facebook 憑證,都是聯合身分的範例。當您以聯合身分身分登入時,您的管理員先前會使用 IAM 角色設定身分聯合。當您 AWS 使用聯合存取 時,您間接擔任 角色。

視您身分的使用者類型而定,您可以登入 AWS Management Console 或 AWS 存取入口網站。如需登入的詳細資訊 AWS,請參閱 AWS 登入 使用者指南中的如何登入您的 AWS 帳戶

如果您以 AWS 程式設計方式存取 , AWS 會提供軟體開發套件 (SDK) 和命令列介面 (CLI),使用您的 憑證以密碼編譯方式簽署您的請求。如果您不使用 AWS 工具,則必須自行簽署請求。如需有關使用建議方法自行簽署請求的詳細資訊,請參閱 AWS API 使用者指南中的 Word 請求的 Signature 第 4 版IAM

無論您使用何種身分驗證方法,您可能都需要提供額外的安全性資訊。例如, AWS 建議您使用多重要素驗證 (MFA) 來提高帳戶的安全性。若要進一步了解,請參閱 AWS IAM Identity Center Word 使用者指南中的多重要素驗證AWS IAM 使用者指南中的多重要素驗證IAM

AWS 帳戶 根使用者

當您建立 時 AWS 帳戶,您會從一個登入身分開始,該身分可完全存取 帳戶中的所有 AWS 服務 和資源。此身分稱為 AWS 帳戶 Theroot 使用者,可透過使用您用來建立帳戶的電子郵件地址和密碼登入來存取。強烈建議您不要以根使用者處理日常任務。保護您的根使用者憑證,並將其用來執行只能由根使用者執行的任務。如需需要您以根使用者身分登入的任務完整清單,請參閱 IAM 使用者指南中的需要根使用者憑證的任務

IAM 使用者和群組

IAM 使用者是 中具有單一個人或應用程式特定許可 AWS 帳戶 的身分。在可能的情況下,我們建議依賴臨時憑證,而不是建立具有密碼和存取金鑰等長期憑證的 IAM 使用者。不過,如果您有特定的使用案例需要 IAM 使用者的長期憑證,建議您輪換存取金鑰。如需詳細資訊,請參閱 IAM 使用者指南中的針對需要長期憑證的使用案例定期輪換存取金鑰

IAM 群組是指定 IAM 使用者集合的身分。您無法以群組身分簽署。您可以使用群組來一次為多名使用者指定許可。群組可讓管理大量使用者許可的程序變得更為容易。例如,您可以擁有名為 IAMAdmins 的群組,並授予該群組管理 IAM 資源的許可。

使用者與角色不同。使用者只會與單一人員或應用程式建立關聯,但角色的目的是在由任何需要它的人員取得。使用者擁有永久的長期憑證,但角色僅提供暫時憑證。若要進一步了解,請參閱 IAM 使用者指南中的 Word 使用者的使用案例IAM

IAM 角色

IAM 角色是 中具有特定許可 AWS 帳戶 的身分。它類似於 IAM 使用者,但與特定人員無關。若要暫時在 中擔任 IAM 角色 AWS Management Console,您可以從使用者切換至 IAM 角色 (主控台)。您可以呼叫 or AWS API AWS CLI 操作或使用自訂 URL 擔任角色。如需使用角色方法的詳細資訊,請參閱 IAM 使用者指南中的擔任角色的方法

在下列情況中,具有臨時憑證的 IAM 角色很有用:

  • 聯合身分使用者存取 — 如需向聯合身分指派許可,請建立角色,並為角色定義許可。當聯合身分進行身分驗證時,該身分會與角色建立關聯,並獲授予由角色定義的許可。如需聯合角色的相關資訊,請參閱 IAM 使用者指南中的為第三方身分提供者 (聯合) 建立角色如果您使用 IAM Identity Center,您可以設定許可集。若要控制身分在身分驗證後可存取的內容,IAM Identity Center 會將許可集與 IAM 中的角色相關聯。如需有關許可集的資訊,請參閱 AWS IAM Identity Center 使用者指南中的許可集

  • 臨時 IAM 使用者許可 – IAM 使用者或角色可以擔任 IAM 角色,暫時接受特定任務的不同許可。

  • 跨帳戶存取 – 您可以使用 IAM 角色,允許不同帳戶中的人員 (受信任的主體) 存取您帳戶中的資源。角色是授予跨帳戶存取權的主要方式。不過,對於某些 AWS 服務,您可以直接將政策連接到資源 (而不是使用角色作為代理)。若要了解跨帳戶存取的角色與資源型政策之間的差異,請參閱 IAM 使用者指南中的 Word 中的跨帳戶資源存取IAM

  • 跨服務存取 – 有些 AWS 服務 使用其他 中的功能 AWS 服務。例如,當您在 服務中撥打電話時,該服務通常會在 Amazon EC2 中執行應用程式,或在 Amazon S3 中存放物件。服務可能會使用呼叫主體的許可、使用服務角色或使用服務連結角色來執行此作業。

    • 轉送存取工作階段 (FAS) – 當您使用 IAM 使用者或角色在 中執行動作時 AWS,您會被視為主體。使用某些服務時,您可能會執行某個動作,進而在不同服務中啟動另一個動作。FAS 使用呼叫 的委託人許可 AWS 服務,結合 AWS 服務 請求對下游服務提出請求。只有在服務收到需要與其他 AWS 服務 或 資源互動才能完成的請求時,才會提出 FAS 請求。在此情況下,您必須具有執行這兩個動作的許可。如需提出 FAS 請求的政策詳細資訊,請參閱轉送存取工作階段

    • 服務角色 – 服務角色是服務擔任的 IAM 角色,以代表您執行動作。IAM 管理員可以從 IAM 中建立、修改和刪除服務角色。如需詳細資訊,請參閱 IAM 使用者指南中的建立角色以將許可委派給 AWS 服務

    • 服務連結角色 – 服務連結角色是連結至 的服務角色類型 AWS 服務。服務可以擔任代表您執行動作的角色。服務連結角色會顯示在您的 中 AWS 帳戶 ,並由 服務擁有。IAM 管理員可以檢視,但無法編輯服務連結角色的許可。

  • 在 Amazon EC2 上執行的應用程式 – 您可以使用 IAM 角色來管理在 EC2 執行個體上執行的應用程式的臨時憑證,以及提出 AWS CLI or AWS API 請求。最好將存取金鑰存放在 EC2 執行個體中。若要將 AWS 角色指派給 EC2 執行個體並將其提供給其所有應用程式,您可以建立連接至執行個體的執行個體設定檔。執行個體設定檔包含 角色,並啟用在 EC2 執行個體上執行的程式,以取得暫時憑證。如需詳細資訊,請參閱 IAM 使用者指南中的使用 Word 角色將許可授予在 Amazon EC2 執行個體上執行的應用程式IAM

使用政策管理存取權

您可以透過建立政策並將其連接到 AWS 身分或資源 AWS 來控制 中的存取。政策是 AWS 其中的物件,當與身分或資源相關聯時, 會定義其許可。當主體 (使用者、根使用者或角色工作階段) 發出請求時, 會 AWS 評估這些政策。政策中的許可決定是否允許或拒絕請求。大多數政策都以 JSON 文件 AWS 的形式儲存在 中。如需 JSON 政策文件結構和內容的詳細資訊,請參閱 Word 使用者指南中的 JSONWord 政策概觀IAM

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

預設情況下,使用者和角色沒有許可。若要授予使用者對所需資源執行動作的許可,IAM 管理員可以建立 IAM 政策。然後,管理員可以將 IAM 政策新增至角色,使用者可以擔任角色。

無論您用來執行操作的方法為何,IAM 政策都會定義動作的許可。例如,假設您有一個允許 iam:GetRole 動作的政策。具有該政策的使用者可以從 AWS Management Console、 AWS CLI或 AWS API 取得角色資訊。

身分型政策

身分型政策是您可以連接到身分的 JSON 許可政策文件,例如 IAM 使用者、使用者群組或角色。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。若要了解如何建立身分型政策,請參閱 IAM 使用者指南中的使用客戶受管政策定義自訂 Word 許可IAM

身分型政策可進一步分類成內嵌政策受管政策。內嵌政策會直接內嵌到單一使用者、群組或角色。受管政策是獨立的政策,您可以連接到 中的多個使用者、群組和角色 AWS 帳戶。受管政策包括 AWS 受管政策和客戶受管政策。若要了解如何在受管政策或內嵌政策之間進行選擇,請參閱 IAM 使用者指南中的在受管政策與內嵌政策之間進行選擇

資源型政策

資源型政策是您連接至資源的 JSON 政策文件。資源型政策的範例包括 IAM 角色信任政策和 Amazon S3 儲存貯體政策。在支援資源型政策的服務中,服務管理員可以使用它們來控制對特定資源的存取權限。對於附加政策的資源,政策會定義指定的主體可以對該資源執行的動作以及在何種條件下執行的動作。您必須在資源型政策中指定主體。主體可以包括帳戶、使用者、角色、聯合身分使用者或 AWS 服務。

資源型政策是位於該服務中的內嵌政策。您無法在資源型政策中使用來自 IAM 的 AWS 受管政策。

存取控制清單 (ACLs)

存取控制清單 (ACLs) 控制哪些主體 (帳戶成員、使用者或角色) 具有存取 資源的許可。ACLs 類似於資源型政策,雖然它們不使用 JSON 政策文件格式。

Amazon S3 AWS WAF和 Amazon VPC 是支援 ACLs 的服務範例。若要進一步了解 ACLs,請參閱 Amazon Simple Storage Service 開發人員指南中的存取控制清單 (ACL) 概觀

其他政策類型

AWS 支援其他較不常見的政策類型。這些政策類型可設定較常見政策類型授予您的最大許可。

  • 許可界限 – 許可界限是一項進階功能,您可以在其中設定身分型政策可授予 IAM 實體 (IAM 使用者或角色) 的最大許可。您可以為實體設定許可界限。所產生的許可會是實體的身分型政策和其許可界限的交集。會在 Principal 欄位中指定使用者或角色的資源型政策則不會受到許可界限限制。所有這類政策中的明確拒絕都會覆寫該允許。如需許可界限的詳細資訊,請參閱 IAM 使用者指南中的 Word 實體的許可界限IAM

  • 服務控制政策 (SCPs) – SCPs 是指定組織或組織單位 (OU) in AWS Organizations. 的最大許可的 JSON 政策, AWS Organizations 是一種用於分組和集中管理企業擁有 AWS 帳戶 的多個的服務。如果您啟用組織中的所有功能,則可以將服務控制政策 (SCPs) 套用至任何或所有帳戶。SCP 會限制成員帳戶中實體的許可,包括每個實體 AWS 帳戶根使用者。如需 Organizations 和 SCPs 的詳細資訊,請參閱 AWS Organizations 使用者指南中的服務控制政策

  • 資源控制政策 (RCPs) – RCPs 是 JSON 政策,您可以用來設定帳戶中資源的可用許可上限,而無需更新連接至您擁有之每個資源的 IAM 政策。RCP 會限制成員帳戶中資源的許可,並可能影響身分的有效許可,包括 AWS 帳戶根使用者,無論它們是否屬於您的組織。如需 Organizations 和 RCPs 的詳細資訊,包括 AWS 服務 支援 RCPs 的清單,請參閱 AWS Organizations 使用者指南中的資源控制政策 (RCPs)

  • 工作階段政策 – 工作階段政策是一種進階政策,您可以在透過編寫程式的方式建立角色或聯合使用者的暫時工作階段時,作為參數傳遞。所產生工作階段的許可會是使用者或角色的身分型政策和工作階段政策的交集。許可也可以來自資源型政策。所有這類政策中的明確拒絕都會覆寫該允許。如需詳細資訊,請參閱 IAM 使用者指南中的工作階段政策

多種政策類型

將多種政策類型套用到請求時,其結果形成的許可會更為複雜、更加難以理解。若要了解如何 AWS 決定是否在涉及多種政策類型時允許請求,請參閱 IAM 使用者指南中的政策評估邏輯

CodeCommit 資源型政策

CodeCommit 不支援資源型政策。

基於 CodeCommit 標籤的授權

您可以將標籤連接至 CodeCommit 資源,或在請求 to CodeCommit 中傳遞標籤。如需根據標籤控制存取,請使用 codecommit:ResourceTag/key-nameaws:RequestTag/key-nameaws:TagKeys 條件索引鍵,在政策的條件元素中,提供標籤資訊。如需標記 CodeCommit 資源的詳細資訊,請參閱 範例 5:拒絕或允許具有標籤的儲存庫上的動作。如需標記策略的詳細資訊,請參閱標記 AWS 資源

CodeCommit 也支援以工作階段標籤為基礎的政策。如需詳細資訊,請參閱工作階段標籤

使用標籤提供 in CodeCommit 中的身分資訊

CodeCommit 支援使用工作階段標籤,這些標籤是您擔任 IAM 角色、使用臨時憑證或在 AWS Security Token Service () 中聯合使用者時傳遞的鍵值對屬性AWS STS。您也可以將標籤與 IAM 使用者建立關聯。您可以使用這些標籤中提供的資訊,以更輕鬆地識別誰進行了變更或導致事件。 CodeCommit 包含 CodeCommit 事件中具有下列金鑰名稱的標籤值:

金鑰名稱 Value
displayName 您要顯示並與使用者建立關聯之可供人閱讀的名稱 (如 Mary Major 或 Saanvi Sarkar)。
emailAddress 您想要顯示並與使用者建立關聯的電子郵件地址 (如 mary_major@example.com 或 saanvi_sarkar@example.com)。

如果提供此資訊, CodeCommit 會將其包含在傳送至 Amazon EventBridge 和 Amazon CloudWatch Events 的事件中。如需詳細資訊,請參閱監控 CodeCommit Amazon 事件 EventBridge 和 Amazon CloudWatch 活動

角色的政策必須包含設為 Allowsts:TagSession 許可,才能夠使用工作階段標記。如果您是使用聯合身分存取,便可在設定時配置顯示名稱與電子郵件標籤資訊。例如,如果您使用的是 Azure Active Directory,則可提供下列宣告資訊:

宣告名稱 Value
https://aws.amazon.com/SAML/Attributes/PrincipalTag:displayName user.displayname
https://aws.amazon.com/SAML/Attributes/PrincipalTag:emailAddress user.mail

您可以使用 AWS CLI 傳遞 displayNameemailAddress的工作階段標籤AssumeRole。例如,想要擔任名為 角色的使用者 Developer 想要建立名稱關聯的人 Mary Major 可能會使用類似下列的assume-role命令:

aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/Developer \ --role-session-name Mary-Major \ –-tags Key=displayName,Value="Mary Major" Key=emailAddress,Value="mary_major@example.com" \ --external-id Example987

如需詳細資訊,請參閱 AssumeRole

您可以使用 AssumeRoleWithSAML 操作來傳回一組包含 displayNameemailAddress 標籤的暫時登入資料。您可以在存取 CodeCommit 儲存庫時使用這些標籤。這需要您的公司或群組已整合您的第三方 SAML 解決方案 AWS。如果是這樣,您可以將 SAML 屬性傳遞為工作階段標籤。例如,如果您想要傳遞名為 之使用者的顯示名稱和電子郵件地址的身分屬性 Saanvi Sarkar 作為工作階段標籤:

<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:displayName"> <AttributeValue>Saanvi Sarkar</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:emailAddress"> <AttributeValue>saanvi_sarkar@example.com</AttributeValue> </Attribute>

如需詳細資訊,請參閱使用 AssumeRoleWithSAMLWord 傳遞工作階段標籤

您可以使用 AssumeRoleWithIdentity 操作來傳回一組包含 displayNameemailAddress 標籤的暫時登入資料。您可以在存取 CodeCommit 儲存庫時使用這些標籤。若要從 OpenID Connect (OIDC) 傳遞工作階段標籤,您必須在 JSON Web 權杖 (JWT) 中包含工作階段標籤。例如,用於呼叫的解碼 JWP 字符AssumeRoleWithWebIdentity,其中包含名為 之使用者的 displayNameemailAddress 工作階段標籤 Li Juan:

{ "sub": "lijuan", "aud": "ac_oic_client", "jti": "ZYUCeREXAMPLE", "iss": "https://xyz.com", "iat": 1566583294, "exp": 1566583354, "auth_time": 1566583292, "https://aws.amazon.com/tags": { "principal_tags": { "displayName": ["Li Juan"], "emailAddress": ["li_juan@example.com"], }, "transitive_tag_keys": [ "displayName", "emailAddress" ] } }

如需詳細資訊,請參閱使用 AssumeRoleWithWebIdentity 傳遞工作階段標籤

您可以使用 GetFederationToken 操作來傳回一組包含 displayNameemailAddress 標籤的暫時登入資料。您可以在存取 CodeCommit 儲存庫時使用這些標籤。例如,若要使用 AWS CLI 取得包含 displayNameemailAddress標籤的聯合權杖:

aws sts get-federation-token \ --name my-federated-user \ –-tags key=displayName,value="Nikhil Jayashankar" key=emailAddress,value=nikhil_jayashankar@example.com

如需詳細資訊,請參閱使用 GetFederationToken 傳遞工作階段標籤

IAM CodeCommit 角色

IAM 角色是您 Amazon Web Services 帳戶中具有特定許可的實體。

搭配 CodeCommit 使用臨時憑證

您可以使用臨時憑證來登入聯合、擔任 IAM 角色或擔任跨帳戶角色。您可以透過呼叫 AWS STS API 或 Word 等 AssumeRole GetFederationToken操作來取得臨時安全憑證。

CodeCommit 支援使用臨時憑證。如需詳細資訊,請參閱使用輪換憑證連線至 AWS CodeCommit 儲存庫

服務連結角色

服務連結角色可讓 AWS 服務存取其他服務中的資源,以代表您完成動作。服務連結角色會顯示在您的 IAM 帳戶中,並由服務擁有。IAM 管理員可以檢視但不能編輯服務連結角色的許可。

CodeCommit 不使用服務連結角色。

服務角色

此功能可讓服務代表您擔任服務角色。此角色可讓服務存取其他服務中的資源,以代表您完成動作。服務角色會出現在您的 IAM 帳戶中,並由該帳戶擁有。這表示 IAM 管理員可以變更此角色的許可。不過,這樣可能會破壞此服務的功能。

CodeCommit 不使用服務角色。

AWS CodeCommit 身分型政策範例

根據預設,IAM 使用者和角色沒有建立或修改 CodeCommit 資源的許可。他們也無法使用 AWS Management Console AWS CLI或 AWS API 來執行任務。IAM 管理員必須建立 IAM 政策,授予使用者和角色許可,以對他們所需的指定資源執行特定 API 操作。然後,管理員必須將這些政策連接到需要這些許可的 IAM 使用者或群組。

如需政策的範例,請參閱下列主題:

若要了解如何使用這些範例 IAM 政策文件建立以 Word 身分為基礎的JSON政策,請參閱 IAM 使用者指南中的在 JSON 索引標籤上建立政策

政策最佳實務

身分型政策會決定是否有人可以在您的帳戶中建立、存取或刪除 CodeCommit 資源。這些動作可能會讓您的 AWS 帳戶產生費用。當您建立或編輯身分型政策時,請遵循下列準則及建議事項:

  • 開始使用 AWS 受管政策並邁向最低權限許可 – 若要開始將許可授予您的使用者和工作負載,請使用將許可授予許多常見使用案例的 AWS 受管政策。它們可在您的 中使用 AWS 帳戶。建議您定義特定於使用案例 AWS 的客戶受管政策,以進一步減少許可。如需詳細資訊,請參閱 IAM 使用者指南中的 AWS 受管政策AWS 任務功能的受管政策

  • 套用最低權限許可 – 當您使用 IAM 政策設定許可時, 只會授予執行任務所需的許可。為實現此目的,您可以定義在特定條件下可以對特定資源採取的動作,這也稱為最低權限許可。如需使用 IAM 套用許可的詳細資訊,請參閱 IAM 使用者指南中的 Word 中的政策和許可IAM

  • 使用 IAM 政策中的條件來進一步限制存取:您可以將條件新增至政策,以限制對動作和資源的存取。例如,您可以撰寫政策條件來指定所有請求都必須使用 SSL 傳送。如果透過特定 使用服務動作,您也可以使用條件來授予存取服務動作的權限 AWS 服務,例如 AWS CloudFormation。如需詳細資訊,請參閱 JSONIAM 使用者指南中的 Word 政策元素:條件IAM

  • 使用 IAM Access Analyzer 驗證您的 IAM 政策以確保安全且功能許可 – IAM Access Analyzer 驗證新的和現有的政策,以便政策遵循 IAM 政策語言 (JSON) 和 IAM 最佳實務。IAM Access Analyzer 提供超過 100 個政策檢查和可行的建議,以協助您撰寫安全且實用的政策。如需詳細資訊,請參閱 IAM 使用者指南中的使用 Word Access Analyzer 驗證政策IAM

  • 需要多重要素驗證 (MFA) – 如果您有需要 IAM 使用者或 中根使用者的案例 AWS 帳戶,請開啟 MFA 以增加安全性。若要在呼叫 MFA 操作時要求 API,請將 MFA 條件新增至您的政策。如需詳細資訊,請參閱 API 使用者指南中的使用 MFA 進行 Secure Word 存取IAM

如需 IAM 最佳實務的詳細資訊,請參閱 IAM 使用者指南中的 IAM 中的安全最佳實務

使用 CodeCommit 主控台

若要存取 AWS CodeCommit 主控台,您必須具有一組最低許可。這些許可必須允許您列出和檢視 Amazon Web Services 帳戶中 CodeCommit 資源的詳細資訊。如果您建立的身分型政策比最低必要許可更嚴格,則主控台將無法使用該政策對實體 (IAM 使用者或角色) 發揮預期作用。

為了確保這些實體仍然可以使用 CodeCommit 主控台,請將下列 AWS 受管政策連接至實體。如需詳細資訊,請參閱 IAM 使用者指南中的將許可新增至使用者

如需詳細資訊,請參閱使用 for CodeCommit 的身分型政策 (IAM 政策)

對於僅對 AWS CLI 或 AWS API 進行呼叫的使用者,您不需要允許最低主控台許可。相反地,僅允許存取與您嘗試執行的 API 操作相符的動作。

允許使用者檢視他們自己的許可

此範例示範如何建立政策,允許 IAM 使用者檢視連接至其使用者身分的內嵌和受管政策。此政策包含在主控台上完成此動作或使用 AWS CLI or AWS API 以程式設計方式完成此動作的許可。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

檢視 CodeCommit repositories 根據標籤

您可以使用身分型政策中的條件,根據標籤控制對 CodeCommit 資源的存取。如需示範作法的政策範例,請參閱範例 5:拒絕或允許具有標籤的儲存庫上的動作

如需詳細資訊,請參閱 IAM 使用者指南中的 JSONWord 政策元素:條件IAM

對 AWS CodeCommit 身分和存取權進行疑難排解

使用下列資訊來協助您診斷和修正使用 CodeCommit 和 IAM 時可能遇到的常見問題。

我未獲授權執行 in CodeCommit 動作

如果 AWS Management Console 告訴您未獲授權執行動作,則必須聯絡管理員尋求協助。您的管理員是為您提供簽署憑證的人員。

如需詳細資訊,請參閱 使用 CodeCommit 主控台所需的許可

我未獲授權執行 iam:PassRole

如果您收到錯誤,表示您無權執行iam:PassRole動作,則必須更新政策,才能將角色傳遞至 CodeCommit。

有些 AWS 服務 允許您將現有角色傳遞給該服務,而不是建立新的服務角色或服務連結角色。如需執行此作業,您必須擁有將角色傳遞至該服務的許可。

當名為 的 IAM marymajor 使用者嘗試使用主控台在 CodeCommit 中執行動作時,會發生下列錯誤範例。但是,動作請求服務具備服務角色授予的許可。Mary 沒有將角色傳遞至該服務的許可。

User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole

在這種情況下,Mary 的政策必須更新,允許她執行 iam:PassRole 動作。

如果您需要協助,請聯絡您的 AWS 管理員。您的管理員提供您的登入憑證。

我想要檢視我的存取金鑰

建立 IAM 使用者存取金鑰後,您可以隨時檢視存取金鑰 ID。但是,您無法再次檢視您的私密存取金鑰。若您遺失了密碼金鑰,您必須建立新的存取金鑰對。

存取金鑰包含兩個部分:存取金鑰 ID (例如 AKIAIOSFODNN7EXAMPLE) 和私密存取金鑰 (例如 wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY)。如同使用者名稱和密碼,您必須一起使用存取金鑰 ID 和私密存取金鑰來驗證您的請求。就如對您的使用者名稱和密碼一樣,安全地管理您的存取金鑰。

重要

請勿將您的存取金鑰提供給第三方,甚至是協助尋找您的標準使用者 ID。透過這樣做,您可以讓某人永久存取您的 AWS 帳戶。

建立存取金鑰對時,您會收到提示,要求您將存取金鑰 ID 和私密存取金鑰儲存在安全位置。私密存取金鑰只會在您建立它的時候顯示一次。如果您遺失秘密存取金鑰,則必須將新的存取金鑰新增至您的 IAM 使用者。您最多可以擁有兩個存取金鑰。若您已有兩個存取金鑰,您必須先刪除其中一個金鑰對,才能建立新的金鑰對。若要檢視指示,請參閱 IAM 使用者指南中的管理存取金鑰

我是管理員,想要允許其他人存取 CodeCommit

若要允許其他人存取 CodeCommit,您必須將許可授予需要存取的人員或應用程式。如果您使用 AWS IAM Identity Center 管理人員和應用程式,您可以將許可集指派給使用者或群組,以定義其存取層級。許可集會自動建立 IAM 政策,並將其指派給與該人員或應用程式相關聯的 IAM 角色。如需詳細資訊,請參閱 AWS IAM Identity Center 使用者指南中的許可集

如果您不使用 IAM Identity Center,則必須為需要存取的人員或應用程式建立 IAM 實體 (使用者或角色)。然後,您必須將政策連接至授予其正確許可 in CodeCommit 的實體。授予許可後,請將憑證提供給使用者或應用程式開發人員。他們將使用這些憑證進行存取 AWS。若要進一步了解如何建立 IAM 使用者、群組、政策和許可,請參閱 IAM 使用者指南中的 Word 中的 Word 身分和政策和許可IAMIAM

我想要允許 Amazon Web Services 帳戶以外的人員存取 my CodeCommit 資源

如需詳細資訊,請參閱使用角色設定對 AWS CodeCommit 儲存庫的跨帳戶存取權