AWS CodeBuild 的動作、資源及條件索引鍵 - 服務授權參考

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

AWS CodeBuild 的動作、資源及條件索引鍵

AWS CodeBuild (服務前置詞:codebuild) 提供下列服務特定資源、動作和條件內容金鑰,以供 IAM 權限政策使用。

參考資料:

AWS CodeBuild 定義的動作

您可在 IAM 政策陳述式的 Action 元素中指定以下動作。使用政策來授予在 AWS 中執行操作的許可。在政策中使用動作時,通常會允許或拒絕存取相同名稱的 API 操作或 CLI 命令。不過,在某些情況下,單一動作可控制對多個操作的存取。或者,某些操作需要多種不同的動作。

「動作」資料表的資源類型欄會指出每個動作是否支援資源層級的許可。如果此欄沒有值,您必須在政策陳述式的 Resource 元素中指定政策適用的所有資源 ("*")。如果資料欄包含資源類型,則您可以在具有該動作的陳述式中指定該類型的 ARN。如果動作具有一或多個必要資源,呼叫者必須具有對這些資源使用動作的許可。表格中的必要資源會以星號 (*) 表示。如果您使用 IAM 政策中的 Resource 元素限制資源存取,則每種必要的資源類型必須要有 ARN 或模式。某些動作支援多種資源類型。如果資源類型是選用 (未顯示為必要),則您可以選擇使用其中一種選用資源類型。

「動作」資料表的條件索引鍵欄包含您可以在政策陳述式的 Condition 元素中指定的索引鍵。如需有關與服務資源相關聯之條件索引鍵的詳細資訊,請參閱「資源類型」資料表的條件索引鍵欄。

注意

資源條件索引鍵會列在資源類型資料表中。您可以在「動作」資料表的資源類型 (*必填) 欄中找到適用於動作的資源類型連結。「資源類型」資料表中的資源類型包括條件索引鍵欄,其中包含套用至「動作」資料表中動作的資源條件索引鍵。

如需下表各欄的詳細資訊,請參閱動作資料表

動作 描述 存取層級 資源類型 (*必填項目) 條件索引鍵 相依動作
BatchDeleteBuilds 准許刪除一或多個建置 寫入

project*

BatchGetBuildBatches 准許取得關於一或多個建置批次的資訊 讀取

project*

BatchGetBuilds 准許取得關於一或多個建置的資訊 讀取

project*

BatchGetFleets 授予返回由輸入參數指定的 Fleet 對象數組的權限 讀取

fleet*

BatchGetProjects 准許取得關於一或多個建置專案的資訊 讀取

project*

BatchGetReportGroups 授與傳回由輸入 reportGroupArns 參數所指定之 ReportGroup 物件陣列的權限 讀取

report-group*

BatchGetReports 准許傳回由輸入 reportArns 參數指定的 Report 物件的陣列 讀取

report-group*

BatchPutCodeCoverages [僅限許可] 准許新增或更新報告的資訊 寫入

report-group*

BatchPutTestCases [僅限許可] 准許新增或更新報告的資訊 寫入

report-group*

CreateFleet 授予建立運算叢集的權限 寫入

fleet*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateProject 准許建立建置專案 寫入

project*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateReport [僅限許可] 准許建立新報告。在建置專案期間,針對報告群組執行 buildspec 檔案中指定的測試時,將會建立報告 寫入

report-group*

CreateReportGroup 准許建立報告群組 寫入

report-group*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateWebhook 准許建立 Webhook。對於將原始程式碼儲存在 GitHub 或 Bitbucket 儲存庫中的現有AWS CodeBuild 建置專案,每次將程式碼變更推送AWS CodeBuild 至儲存庫時,都可以開始重建原始程式碼 寫入

project*

DeleteBuildBatch 准許刪除建置批次 寫入

project*

DeleteFleet 授與刪除運算叢集的權限 寫入

fleet*

DeleteOAuthToken [僅限許可] 准許從連接的第三方 OAuth 提供者刪除 OAuth 權杖。僅在AWS CodeBuild 控制台中使用 寫入
DeleteProject 准許刪除建置專案 寫入

project*

DeleteReport 准許刪除報告 寫入

report-group*

DeleteReportGroup 准許刪除報告群組 寫入

report-group*

DeleteResourcePolicy 准許刪除相關聯專案或報告群組的資源政策 許可管理

project

report-group

DeleteSourceCredentials 授予刪除一組 GitHub、 GitHub 企業或 Bitbucket 來源認證的權限 寫入
DeleteWebhook 准許刪除 Webhook。對於現有的AWS CodeBuild 構建項目,其源代碼存儲在 GitHub 或 Bitbucket 存儲庫AWS CodeBuild 中,每次將代碼更改推送到存儲庫時,都會停止重建源代碼 寫入

project*

DescribeCodeCoverages 授予返回 CodeCoverage 對象數組的權限 讀取

report-group*

DescribeTestCases 授予返回 TestCase 對象數組的權限 讀取

report-group*

GetReportGroupTrend 准許分析和累積測試報告在指定報告群組中的測試報告值 讀取

report-group*

GetResourcePolicy 准許傳回所指定專案或報告群組的資源政策 讀取

project

report-group

ImportSourceCredentials 授予匯入原始程式碼儲存在 GitHub、 GitHub 企業或 Bitbucket 儲存庫中之AWS CodeBuild 專案之來源儲存庫認證的權限 寫入
InvalidateProjectCache 准許重設專案的快取 寫入

project*

ListBuildBatches 准許取得建置批次 ID 清單,每個建置批次 ID 代表單一建置批次 清單
ListBuildBatchesForProject 准許取得特定建置專案的建置批次 ID 清單,每個建置批次 ID 代表單一建置批次 清單

project*

ListBuilds 准許取得建置 ID 清單,每個建置 ID 代表單一建置 清單
ListBuildsForProject 取得特定建置專案的建置 ID 清單,每個建置 ID 代表單一建置 清單

project*

ListConnectedOAuthAccounts [僅限許可] 准許列出連接的第三方 OAuth 提供者。僅在AWS CodeBuild 控制台中使用 清單
ListCuratedEnvironmentImages 授予獲取有關由管理的 Docker 映像信息的權限 AWS CodeBuild 清單
ListFleets 授予取得運算叢集 ARN 清單的權限,每個計算叢集 ARN 代表單一叢集 清單
ListProjects 准許取得建置專案名稱的清單,每個建置專案名稱代表單一建置專案 清單
ListReportGroups 准許傳回報告群組 ARN 的清單。每個報告群組 ARN 代表一個報告群組 清單
ListReports 准許傳回報告 ARN 的清單。每個報告 ARN 代表一個報告 清單
ListReportsForReportGroup 准許傳回屬於所指定報告群組的報告 ARN 清單。每個報告 ARN 代表一個報告 清單

report-group*

ListRepositories [僅限許可] 准許列出來自連接的第三方 OAuth 提供者的原始程式碼儲存庫。僅在AWS CodeBuild 控制台中使用 清單
ListSharedProjects 准許傳回已與申請者共用的專案 ARN 清單。每個專案 ARN 代表一個專案 清單
ListSharedReportGroups 准許傳回已與申請者共用的報告群組 ARN 清單。每個報告群組 ARN 代表一個報告群組 清單
ListSourceCredentials 授予傳回 SourceCredentialsInfo 物件清單的權限 清單
PersistOAuthToken [僅限許可] 准許儲存來自連接的第三方 OAuth 提供者的 OAuth 權杖。僅在AWS CodeBuild 控制台中使用 寫入
PutResourcePolicy 准許建立相關聯專案或報告群組的資源政策 許可管理

project

report-group

RetryBuild 准許重試建置 寫入

project*

RetryBuildBatch 准許重試建置批次 寫入

project*

StartBuild 准許開始執行建置 寫入

project*

StartBuildBatch 准許開始執行建置批次 寫入

project*

StopBuild 准許嘗試停止執行建置 寫入

project*

StopBuildBatch 准許嘗試停止執行建置批次 寫入

project*

UpdateFleet 授與變更現有計算叢集設定的權限 寫入

fleet*

aws:RequestTag/${TagKey}

aws:TagKeys

UpdateProject 准許變更現有建置專案的設定 寫入

project*

aws:RequestTag/${TagKey}

aws:TagKeys

UpdateProjectVisibility 准許變更專案及其建置的公有可見性 寫入

project*

aws:RequestTag/${TagKey}

aws:TagKeys

UpdateReport [僅限許可] 准許更新報告的相關資訊 寫入

report-group*

UpdateReportGroup 准許變更現有報告群組的設定 寫入

report-group*

aws:RequestTag/${TagKey}

aws:TagKeys

UpdateWebhook 授予更新與AWS CodeBuild 構建項目關聯的 webhook 的權限 寫入

project*

AWS CodeBuild 定義的資源類型

此服務會定義下列資源類型,並可用在 IAM 許可政策陳述式的 Resource 元素中。動作資料表中的每個動作都會指明可使用該動作指定的資源類型。資源類型也能定義您可以在政策中包含哪些條件索引鍵。這些索引鍵都會顯示在「資源類型」資料表的最後一欄。如需下表各欄的詳細資訊,請參閱資源類型資料表

資源類型 ARN 條件索引鍵
build arn:${Partition}:codebuild:${Region}:${Account}:build/${BuildId}
build-batch arn:${Partition}:codebuild:${Region}:${Account}:build-batch/${BuildBatchId}
project arn:${Partition}:codebuild:${Region}:${Account}:project/${ProjectName}

aws:ResourceTag/${TagKey}

report-group arn:${Partition}:codebuild:${Region}:${Account}:report-group/${ReportGroupName}

aws:ResourceTag/${TagKey}

report arn:${Partition}:codebuild:${Region}:${Account}:report/${ReportGroupName}:${ReportId}
fleet arn:${Partition}:codebuild:${Region}:${Account}:fleet/${FleetName}:${FleetId}

AWS CodeBuild 的條件索引鍵

AWS CodeBuild 定義下列可用於 IAM 政策Condition元素的條件金鑰。您可以使用這些索引鍵來縮小套用政策陳述式的條件。如需下表各欄的詳細資訊,請參閱條件索引鍵資料表

若要檢視所有服務都可使用的全域條件索引鍵,請參閱可用全域條件索引鍵

條件索引鍵 描述 Type
aws:RequestTag/${TagKey} 根據請求中的標籤鍵值對是否存在,依動作篩選存取權 字串
aws:ResourceTag/${TagKey} 根據連線到資源的標籤鍵值對,依動作篩選存取權 字串
aws:TagKeys 根據請求中的標籤索引鍵是否存在,依動作篩選存取權 ArrayOfString