

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

# AWS CodeBuild 許可參考
<a name="auth-and-access-control-permissions-reference"></a>

您可以在 AWS CodeBuild 政策中使用 AWS整體條件索引鍵來表達條件。如需清單，請參閱《*IAM 使用者指南*》中的[可用金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys)。

您可以在政策的 `Action` 欄位中指定動作。若要指定動作，請使用 `codebuild:` 字首，後面接著 API 操作名稱 (例如 `codebuild:CreateProject` 和 `codebuild:StartBuild`)。若要在單一陳述式中指定多個動作，請用逗號加以分隔 (例如 `"Action": [ "codebuild:CreateProject", "codebuild:StartBuild" ]`)。

**使用萬用字元**

您可以使用或不使用萬用字元 (\$1)，指定 ARN 做為政策之 `Resource` 欄位中的資源值。您可以使用萬用字元指定多個動作或資源。例如， `codebuild:*`會指定所有 CodeBuild 動作，並`codebuild:Batch*`指定以字詞 開頭的所有 CodeBuild 動作`Batch`。以下範例會對名稱開頭為 `my` 之所有組建專案授予存取權：

```
arn:aws:codebuild:us-east-2:123456789012:project/my*
```<a name="actions-related-to-objects-table"></a>CodeBuild API 操作和動作的必要許可

BatchDeleteBuilds  
 **動作：**`codebuild:BatchDeleteBuilds`  
必須具備才能刪除組建。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name `

BatchGetBuilds  
 **動作：**`codebuild:BatchGetBuilds`  
必須具備才能取得組建的相關資訊。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name `

BatchGetProjects  
 **動作：**`codebuild:BatchGetProjects`  
必須具備才能取得組建專案的相關資訊。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name `

BatchGetReportGroups  
 **動作：**`codebuild:BatchGetReportGroups`  
必須具備才能取得報告群組的相關資訊。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name `

BatchGetReports  
 **動作：**`codebuild:BatchGetReports`  
必須具備才能取得報告的相關資訊。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name `

BatchPutTestCases 1  
 **動作：**`codebuild:BatchPutTestCases`  
建立或更新測試報告時需要。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name `

CreateProject  
 **動作：**`codebuild:CreateProject`、`iam:PassRole`  
必須具備才能建立組建專案。  
 **資源：**  
+  `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 
+  `arn:aws:iam::account-ID:role/role-name ` 

CreateReport 1  
 **動作：**`codebuild:CreateReport`  
建立測試報告時需要。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name `

CreateReportGroup  
 **動作：**`codebuild:CreateReportGroup`  
必須具備才能建立報告群組。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name `

CreateWebhook  
 **動作：**`codebuild:CreateWebhook`  
必須具備才能建立 Webhook。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name `

DeleteProject  
 **動作：**`codebuild:DeleteProject`  
刪除 CodeBuild 專案時需要。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name `

DeleteReport  
 **動作：**`codebuild:DeleteReport`  
必須具備才能刪除報告。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name `

DeleteReportGroup  
 **動作：**`codebuild:DeleteReportGroup`  
必須具備才能刪除報告群組。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name `

DeleteSourceCredentials  
 **動作：**`codebuild:DeleteSourceCredentials`  
必須具備才能刪除包含 GitHub、GitHub Enterprise Server 或 Bitbucket 儲存庫適用登入資料的一組 `SourceCredentialsInfo` 物件。  
 **資源：**`*`

DeleteWebhook  
 **動作：**`codebuild:DeleteWebhook`  
必須具備才能建立 Webhook。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name `

DescribeTestCases  
 **動作：**`codebuild:DescribeTestCases`  
必須具備才能傳回測試案例的分頁清單。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name `

ImportSourceCredentials  
 **動作：**`codebuild:ImportSourceCredentials`  
必須具備才能匯入包含 GitHub、GitHub Enterprise 或 Bitbucket 儲存庫適用登入資料的一組 `SourceCredentialsInfo` 物件。  
 **資源：**`*`

InvalidateProjectCache  
 **動作：**`codebuild:InvalidateProjectCache`  
必須具備才能重設專案的快取。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name `

ListBuildBatches  
 **動作：**`codebuild:ListBuildBatches`  
取得組建批次 IDs清單時需要。  
 **資源：**`*`

ListBuildBatchesForProject  
 **動作：**`codebuild:ListBuildBatchesForProject`  
取得特定專案的建置批次 IDs清單時需要。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name`

ListBuilds  
 **動作：**`codebuild:ListBuilds`  
必須具備才能取得組建 ID 的清單。  
 **資源：**`*`

ListBuildsForProject  
 **動作：**`codebuild:ListBuildsForProject`  
必須具備才能取得組建專案的組建 ID 清單。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name `

ListCuratedEnvironmentImages  
 **動作：**`codebuild:ListCuratedEnvironmentImages`  
必須具備才能取得 AWS CodeBuild管理之所有 Docker 影像的相關資訊。  
 **資源：**`*` (必要，但並未參考可定址的 AWS 資源) 

ListProjects  
 **動作：**`codebuild:ListProjects`  
必須具備才能取得組建專案名稱的清單。  
 **資源：**`*`

ListReportGroups  
 **動作：**`codebuild:ListReportGroups`  
必須具備才能取得報告群組的清單。  
 **資源：**`*`

ListReports  
 **動作：**`codebuild:ListReports`  
必須具備才能取得報告清單。  
 **資源：**`*`

ListReportsForReportGroup  
 **動作：**`codebuild:ListReportsForReportGroup`  
必須具備才能取得報告群組的報告清單。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name `

RetryBuild  
**動作：**`codebuild:RetryBuild`  
重試組建時需要。  
**資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name `

StartBuild  
 **動作：**`codebuild:StartBuild`  
必須具備才能開始執行組建。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name `

StopBuild  
 **動作：**`codebuild:StopBuild`  
必須具備才能停止執行組建。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name `

UpdateProject  
 **動作：**`codebuild:UpdateProject`、`iam:PassRole`  
必須具備才能變更組建的相關資訊。  
 **資源：**  
+  `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 
+  `arn:aws:iam::account-ID:role/role-name ` 

UpdateProjectVisibility  <a name="UpdateProjectVisibility"></a>
 **動作：**`codebuild:UpdateProjectVisibility`、`iam:PassRole`  
變更專案建置的公有可見性時需要。  
 **資源：**  
+  `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 
+  `arn:aws:iam::account-ID:role/role-name ` 

UpdateReport 1  
 **動作：**`codebuild:UpdateReport`  
建立或更新測試報告時需要。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name `

UpdateReportGroup  
 **動作：**`codebuild:UpdateReportGroup`  
必須具備才能更新報告群組。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name `

UpdateWebhook  
 **動作：**`codebuild:UpdateWebhook`  
必須具備才能更新 Webhook。  
 **資源：**`arn:aws:codebuild:region-ID:account-ID:project/project-name `

1 僅用於許可。此動作沒有 API。