允許使用者與 互動 CodeBuild - AWS CodeBuild

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

允許使用者與 互動 CodeBuild

如果您 AWS CodeBuild 第一次遵循 中的步驟開始使用主控台進行存取,則很可能不需要本主題中的資訊。不過,當您繼續使用 時 CodeBuild,您可能想要執行一些動作,例如讓組織中的其他使用者和群組能夠與 互動 CodeBuild。

若要允許IAM使用者或群組與 互動 AWS CodeBuild,您必須授予使用者對 的存取權 CodeBuild。本節說明如何使用 IAM 主控台或 執行此操作 AWS CLI。

如果您要 CodeBuild 使用 AWS 根帳戶 (不建議) 或 AWS 帳戶中的管理員使用者存取 ,則不需要遵循這些指示。

如需 AWS 根帳戶和管理員使用者的相關資訊,請參閱 使用者指南 中的AWS 帳戶 根使用者建立您的第一個 AWS 帳戶 根使用者和群組

將 CodeBuild 存取權新增至IAM群組或使用者 (主控台)
  1. 在 開啟IAM主控台https://console.aws.amazon.com/iam/

    您應該已經 AWS Management Console 使用下列其中一項登入 :

    • 您的 AWS 根帳戶。此為不建議的選項。如需詳細資訊,請參閱 使用者指南 中的AWS 帳戶 根使用者

    • 您 AWS 帳戶中的管理員使用者。如需詳細資訊,請參閱 使用者指南 中的建立您的第一個 AWS 帳戶 根使用者和群組

    • 您 AWS 帳戶中具有執行下列最低動作集之許可的使用者:

      iam:AttachGroupPolicy iam:AttachUserPolicy iam:CreatePolicy iam:ListAttachedGroupPolicies iam:ListAttachedUserPolicies iam:ListGroups iam:ListPolicies iam:ListUsers

      如需詳細資訊,請參閱 使用者指南 中的IAM政策概觀

  2. 在導覽窗格中,選擇政策

  3. 若要將一組自訂 AWS CodeBuild 的存取許可新增至IAM群組或IAM使用者,請跳至此程序中的步驟 4。

    若要將預設的 CodeBuild 存取許可集新增至IAM群組或IAM使用者,請選擇政策類型 AWS 受管 ,然後執行下列動作:

    • 若要將完整存取權限新增至 CodeBuild,請選取名為 的方塊AWSCodeBuildAdminAccess,選擇政策動作 ,然後選擇連接 。選取目標IAM群組或使用者旁邊的方塊,然後選擇附加政策 。針對名為 AmazonS3ReadOnlyAccess 和 的政策重複此操作IAMFullAccess

    • 若要 CodeBuild 為建置專案管理以外的所有項目新增存取許可,請選取名為 的方塊AWSCodeBuildDeveloperAccess,選擇政策動作 ,然後選擇連接 。選取目標IAM群組或使用者旁邊的方塊,然後選擇附加政策 。針對名為 AmazonS3ReadOnlyAccess 的政策重複此操作。

    • 若要將唯讀存取權限新增至 CodeBuild,請選取名為 的方塊AWSCodeBuildReadOnlyAccess。選取目標IAM群組或使用者旁邊的方塊,然後選擇連接政策 。針對名為 AmazonS3ReadOnlyAccess 的政策重複此操作。

    您現在已將一組預設 CodeBuild 的存取許可新增至IAM群組或使用者。略過此程序的其餘步驟。

  4. 選擇 建立政策

  5. 建立政策頁面上,在建立您自己的政策 旁,選擇選取

  6. Review Policy (檢閱政策) 頁面的 Policy Name (政策名稱) 中,輸入政策的名稱 (例如 CodeBuildAccessPolicy)。如果您使用不同的名稱,請務必在本程序中一律使用該名稱。

  7. 針對 Policy Document (政策文件),輸入下列項目,然後選擇 Create Policy (建立政策)

    { "Version": "2012-10-17", "Statement": [ { "Sid": "CodeBuildAccessPolicy", "Effect": "Allow", "Action": [ "codebuild:*" ], "Resource": "*" }, { "Sid": "CodeBuildRolePolicy", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::account-ID:role/role-name" }, { "Sid": "CloudWatchLogsAccessPolicy", "Effect": "Allow", "Action": [ "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "*" }, { "Sid": "S3AccessPolicy", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetObject", "s3:List*", "s3:PutObject" ], "Resource": "*" }, { "Sid": "S3BucketIdentity", "Effect": "Allow", "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "*" } ] }
    注意

    此政策允許存取所有 CodeBuild 動作和可能大量的 AWS 資源。若要限制特定 CodeBuild動作的許可,請在 CodeBuild 政策陳述式codebuild:*中變更 的值。如需詳細資訊,請參閱身分與存取管理。若要限制對特定 AWS 資源的存取,請變更Resource物件的值。如需詳細資訊,請參閱身分與存取管理

  8. 在導覽窗格中,選擇Groups (群組)Users (使用者)

  9. 在群組或使用者清單中,選擇要新增 CodeBuild 存取權限的IAM群組或IAM使用者名稱。

  10. 如果是群組,請在群組設定頁面的 Permissions (許可) 索引標籤上,展開 Managed Policies (受管政策),然後選擇 Attach Policy (連接政策)

    如果是使用者,請在使用者設定頁面的 Permissions (許可) 索引標籤上,選擇 Add permissions (新增許可)

  11. 對於群組,在連接政策頁面上,選取 CodeBuildAccessPolicy,然後選擇連接政策

    對於使用者,在新增許可頁面上,選擇直接連接現有政策。選取 CodeBuildAccessPolicy,選擇下一步:檢閱 ,然後選擇新增許可

將 CodeBuild 存取權新增至IAM群組或使用者 (AWS CLI)
  1. 請確定您已 AWS CLI 使用對應至其中一個IAM實體的 AWS 存取金鑰和 AWS 秘密存取金鑰來設定 ,如上一個程序所述。如需詳細資訊,請參閱 使用者指南 中的設定 AWS Command Line InterfaceAWS Command Line Interface

  2. 若要將一組自訂 AWS CodeBuild 的存取許可新增至IAM群組或IAM使用者,請跳至此程序中的步驟 3。

    若要將預設的 CodeBuild 存取許可集新增至IAM群組或IAM使用者,請執行下列動作:

    執行下列其中一個命令,取決於您要將許可新增至IAM群組或使用者:

    aws iam attach-group-policy --group-name group-name --policy-arn policy-arn aws iam attach-user-policy --user-name user-name --policy-arn policy-arn

    您必須執行命令三次,取代 group-nameuser-name IAM 群組名稱或使用者名稱,並取代 policy-arn 下列每個政策 Amazon Resource Names () 一次ARNs:

    • 若要將完整存取權限新增至 CodeBuild,請使用下列政策 ARNs:

      • arn:aws:iam::aws:policy/AWSCodeBuildAdminAccess

      • arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

      • arn:aws:iam::aws:policy/IAMFullAccess

    • 若要 CodeBuild 將除建置專案管理以外的所有存取許可新增至 ,請使用下列政策ARNs:

      • arn:aws:iam::aws:policy/AWSCodeBuildDeveloperAccess

      • arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

    • 若要將唯讀存取權限新增至 CodeBuild,請使用下列政策 ARNs:

      • arn:aws:iam::aws:policy/AWSCodeBuildReadOnlyAccess

      • arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

    您現在已將一組預設 CodeBuild 的存取許可新增至IAM群組或使用者。略過此程序的其餘步驟。

  3. 在 AWS CLI 安裝 的本機工作站或執行個體上的空目錄中,建立名為 put-group-policy.json或 的檔案put-user-policy.json。如果您使用不同的檔案名稱,請務必在本程序中一律使用該檔案名稱。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "CodeBuildAccessPolicy", "Effect": "Allow", "Action": [ "codebuild:*" ], "Resource": "*" }, { "Sid": "CodeBuildRolePolicy", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::account-ID:role/role-name" }, { "Sid": "CloudWatchLogsAccessPolicy", "Effect": "Allow", "Action": [ "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "*" }, { "Sid": "S3AccessPolicy", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetObject", "s3:List*", "s3:PutObject" ], "Resource": "*" }, { "Sid": "S3BucketIdentity", "Effect": "Allow", "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "*" } ] }
    注意

    此政策允許存取所有 CodeBuild 動作和可能大量的 AWS 資源。若要限制特定 CodeBuild動作的許可,請在 CodeBuild 政策陳述式codebuild:*中變更 的值。如需詳細資訊,請參閱身分與存取管理。若要限制對特定 AWS 資源的存取,請變更相關Resource物件的值。如需詳細資訊,請參閱身分與存取管理或特定 AWS 服務的安全文件。

  4. 切換到您已儲存檔案的目錄,然後執行下列其中一個命令。您可以對 CodeBuildGroupAccessPolicyCodeBuildUserAccessPolicy 使用不同的值。如果您使用不同的值,請務必在此處使用這些值。

    如果是 IAM 群組:

    aws iam put-group-policy --group-name group-name --policy-name CodeBuildGroupAccessPolicy --policy-document file://put-group-policy.json

    如果是 使用者:

    aws iam put-user-policy --user-name user-name --policy-name CodeBuildUserAccessPolicy --policy-document file://put-user-policy.json

    在上述命令中,取代 group-nameuser-name 目標IAM群組或使用者名稱。