本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
允許使用者與 互動 CodeBuild
如果您 AWS CodeBuild 第一次遵循 中的步驟開始使用主控台進行存取,則很可能不需要本主題中的資訊。不過,當您繼續使用 時 CodeBuild,您可能想要執行一些動作,例如讓組織中的其他使用者和群組能夠與 互動 CodeBuild。
若要允許IAM使用者或群組與 互動 AWS CodeBuild,您必須授予使用者對 的存取權 CodeBuild。本節說明如何使用 IAM 主控台或 執行此操作 AWS CLI。
如果您要 CodeBuild 使用 AWS 根帳戶 (不建議) 或 AWS 帳戶中的管理員使用者存取 ,則不需要遵循這些指示。
如需 AWS 根帳戶和管理員使用者的相關資訊,請參閱 使用者指南 中的AWS 帳戶 根使用者和建立您的第一個 AWS 帳戶 根使用者和群組。
將 CodeBuild 存取權新增至IAM群組或使用者 (主控台)
在 開啟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政策概觀。
-
-
在導覽窗格中,選擇政策。
-
若要將一組自訂 AWS CodeBuild 的存取許可新增至IAM群組或IAM使用者,請跳至此程序中的步驟 4。
若要將預設的 CodeBuild 存取許可集新增至IAM群組或IAM使用者,請選擇政策類型 、 AWS 受管 ,然後執行下列動作:
-
若要將完整存取權限新增至 CodeBuild,請選取名為 的方塊AWSCodeBuildAdminAccess,選擇政策動作 ,然後選擇連接 。選取目標IAM群組或使用者旁邊的方塊,然後選擇附加政策 。針對名為 AmazonS3ReadOnlyAccess 和 的政策重複此操作IAMFullAccess。
-
若要 CodeBuild 為建置專案管理以外的所有項目新增存取許可,請選取名為 的方塊AWSCodeBuildDeveloperAccess,選擇政策動作 ,然後選擇連接 。選取目標IAM群組或使用者旁邊的方塊,然後選擇附加政策 。針對名為 AmazonS3ReadOnlyAccess 的政策重複此操作。
-
若要將唯讀存取權限新增至 CodeBuild,請選取名為 的方塊AWSCodeBuildReadOnlyAccess。選取目標IAM群組或使用者旁邊的方塊,然後選擇連接政策 。針對名為 AmazonS3ReadOnlyAccess 的政策重複此操作。
您現在已將一組預設 CodeBuild 的存取許可新增至IAM群組或使用者。略過此程序的其餘步驟。
-
-
選擇 建立政策 。
-
在建立政策頁面上,在建立您自己的政策 旁,選擇選取 。
-
在 Review Policy (檢閱政策) 頁面的 Policy Name (政策名稱) 中,輸入政策的名稱 (例如
CodeBuildAccessPolicy
)。如果您使用不同的名稱,請務必在本程序中一律使用該名稱。 -
針對 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": "*" } ] } -
在導覽窗格中,選擇Groups (群組) 或 Users (使用者)。
-
在群組或使用者清單中,選擇要新增 CodeBuild 存取權限的IAM群組或IAM使用者名稱。
-
如果是群組,請在群組設定頁面的 Permissions (許可) 索引標籤上,展開 Managed Policies (受管政策),然後選擇 Attach Policy (連接政策)。
如果是使用者,請在使用者設定頁面的 Permissions (許可) 索引標籤上,選擇 Add permissions (新增許可)。
-
對於群組,在連接政策頁面上,選取 CodeBuildAccessPolicy,然後選擇連接政策 。
對於使用者,在新增許可頁面上,選擇直接連接現有政策。選取 CodeBuildAccessPolicy,選擇下一步:檢閱 ,然後選擇新增許可 。
將 CodeBuild 存取權新增至IAM群組或使用者 (AWS CLI)
-
請確定您已 AWS CLI 使用對應至其中一個IAM實體的 AWS 存取金鑰和 AWS 秘密存取金鑰來設定 ,如上一個程序所述。如需詳細資訊,請參閱 使用者指南 中的設定 AWS Command Line Interface 。 AWS Command Line Interface
-
若要將一組自訂 AWS CodeBuild 的存取許可新增至IAM群組或IAM使用者,請跳至此程序中的步驟 3。
若要將預設的 CodeBuild 存取許可集新增至IAM群組或IAM使用者,請執行下列動作:
執行下列其中一個命令,取決於您要將許可新增至IAM群組或使用者:
aws iam attach-group-policy --group-name
group-name
--policy-arnpolicy-arn
aws iam attach-user-policy --user-nameuser-name
--policy-arnpolicy-arn
您必須執行命令三次,取代
group-name
或user-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群組或使用者。略過此程序的其餘步驟。
-
-
在 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": "*" } ] } -
切換到您已儲存檔案的目錄,然後執行下列其中一個命令。您可以對
CodeBuildGroupAccessPolicy
和CodeBuildUserAccessPolicy
使用不同的值。如果您使用不同的值,請務必在此處使用這些值。如果是 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-name
或user-name
目標IAM群組或使用者名稱。