CodeDeploy 許可參考 - AWS CodeDeploy

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

CodeDeploy 許可參考

當您設定可附加至身分識別 (以IAM身分識別為基礎的原則) 的存取和寫入權限原則時,請使用下表。此表格列出每項 CodeDeploy API作業、您可以授與執行動作權限的動作,以及用於授與權限的資源ARN格式。您可以在政策的 Action 欄位中指定動作。您可以在策略ARN欄位中指定 (含或不含萬用字元 (*) 作為資源Resource值。

您可以在 CodeDeploy 原則中使用 AWS寬條件金鑰來表示條件。若要取得完整的 AWS寬按鍵清單,請參閱《IAM使用者指南》中的可用金鑰

若要指定動作,請使用codedeploy:前置詞,後面接著API作業名稱 (例如codedeploy:GetApplicationcodedeploy:CreateApplication)。若要在單一陳述式中指定多個動作,請用逗號加以分隔 (例如 "Action": ["codedeploy:action1", "codedeploy:action2"])。

使用萬用字元

您可以在中使用萬用字元 (*) ARN 來指定多個動作或資源。例如,codedeploy:*指定所有 CodeDeploy 動作,並codedeploy:Get*指定以該字開頭的所有 CodeDeploy 動作Get。以下範例會授予存取所有名稱開頭為 West,且和名稱開頭為 Test 應用程式建立關聯的部署群組。

arn:aws:codedeploy:us-west-2:444455556666:deploymentgroup:Test*/West*

您可以針對下表列出的資源使用萬用字元:

  • application-name

  • deployment-group-name

  • deployment-configuration-name

  • instance-ID

萬用字元無法搭配使用 regionaccount-id。 若要取得有關萬用字元的更多資訊,請參閱IAM使用指南中的IAM識別

注意

在每個ARN動作中,一個冒號 (:) 跟隨資源。您也可以使用斜線 (/) 跟隨資源。如需詳細資訊,請參閱CodeDeploy範例ARNs

使用捲軸查看資料表的其餘部分。

CodeDeploy API作業和動作所需的權限
CodeDeploy API操作 必要權限 (API動作) 資源

AddTagsToOnPremisesInstances

codedeploy:AddTagsToOnPremisesInstances

若要將標籤新增至一個或多個現場部署執行個體,則為必要許可。

AR: awn: 程式碼部署:region:account-id: 執行個體/instance-ID

BatchGetApplicationRevisions

codedeploy:BatchGetApplicationRevisions

若要取得與 使用者相關聯的多個應用程式修訂版本相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:應用程序:application-name

BatchGetApplications

codedeploy:BatchGetApplications

若要取得與 使用者相關聯的多個應用程式相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:應用:*

BatchGetDeploymentGroups

codedeploy:BatchGetDeploymentGroups

若要取得與 使用者相關聯的多個部署群組相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

BatchGetDeploymentInstances codedeploy:BatchGetDeploymentInstances

若要取得部署群組中的一個或多個執行個體相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

BatchGetDeployments

codedeploy:BatchGetDeployments

若要取得與 使用者相關聯的多個部署相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

BatchGetOnPremisesInstances

codedeploy:BatchGetOnPremisesInstances

若要取得一個或多個現場部署執行個體的相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:*

ContinueDeployment

codedeploy:ContinueDeployment

在藍/綠部署期間需要,才能在 Elastic Load Balancing 負載平衡器的替代環境中啟動註冊執行個體的程序。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

CreateApplication

codedeploy:CreateApplication

若要建立與 使用者相關聯的應用程式,則為必要許可。

AR: awn: 程式碼部署:region:account-id:應用程序:application-name

CreateDeployment¹

codedeploy:CreateDeployment

若要建立與 使用者相關聯的應用程式部署,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

CreateDeploymentConfig

codedeploy:CreateDeploymentConfig

若要建立與 使用者相關聯的自訂部署組態,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署配置:deployment-configuration-name

CreateDeploymentGroup

codedeploy:CreateDeploymentGroup

若要建立與 使用者相關聯的應用程式部署群組,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

DeleteApplication

codedeploy:DeleteApplication

若要刪除與 使用者相關聯的應用程式,則為必要許可。

AR: awn: 程式碼部署:region:account-id:應用程序:application-name

DeleteDeploymentConfig

codedeploy:DeleteDeploymentConfig

若要刪除與 使用者相關聯的自訂部署組態,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署配置:deployment-configuration-name

DeleteDeploymentGroup

codedeploy:DeleteDeploymentGroup

若要刪除與 使用者相關聯的應用程式部署群組,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

DeregisterOnPremisesInstance

codedeploy:DeregisterOnPremisesInstance

若要取消註冊現場部署執行個體,則為必要許可。

AR: awn: 程式碼部署:region:account-id: 執行個體/instance-ID

GetApplication

codedeploy:GetApplication

若要取得與 使用者相關聯的單一應用程式相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:應用程序:application-name

GetApplicationRevision

codedeploy:GetApplicationRevision

若要取得與 使用者相關聯的單一應用程式修訂版本相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:應用程序:application-name

GetDeployment

codedeploy:GetDeployment

若要針對與 使用者相關聯的應用程式,取得部署群組的單一部署相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

GetDeploymentConfig

codedeploy:GetDeploymentConfig

若要取得與 使用者相關聯的單一部署組態相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署配置:deployment-configuration-name

GetDeploymentGroup

codedeploy:GetDeploymentGroup

若要取得與 使用者相關聯的應用程式單一部署群組相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

GetDeploymentInstance

codedeploy:GetDeploymentInstance

若要取得與 使用者相關聯部署中的單一執行個體相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

GetDeploymentTarget

codedeploy:GetDeploymentTarget

若要取得在 使用者相關部署中目標的相關資訊,則為必要資訊。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

GetOnPremisesInstance

codedeploy:GetOnPremisesInstance

若要取得單一現場部署執行個體的相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id: 執行個體/instance-ID

ListApplicationRevisions

codedeploy:ListApplicationRevisions

若要取得與 使用者相關聯的所有應用程式修訂版本相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:應用:*

ListApplications

codedeploy:ListApplications

若要取得與 使用者相關聯的所有應用程式相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:應用:*

ListDeploymentConfigs

codedeploy:ListDeploymentConfigs

若要取得與 使用者相關聯的所有部署組態相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署配置:*

ListDeploymentGroups

codedeploy:ListDeploymentGroups

若要取得與 使用者相關聯的所有應用程式部署群組相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/*

ListDeploymentInstances

codedeploy:ListDeploymentInstances

取得部署中與使用者或 AWS 帳戶相關聯之所有執行個體的相關資訊是必要的。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

ListDeployments

codedeploy:ListDeployments

若要取得與使用者相關聯之部署群組的所有部署資訊,或取得與使用者相關聯的所有部署,則為必要項目。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

ListDeploymentTargets

codedeploy:ListDeploymentTargets

取得部署中與使用者相關聯之所有目標的相關資訊是必要的。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

ListGitHubAccountTokenNames

codedeploy:ListGitHubAccountTokenNames

需要取得 GitHub 帳戶的已儲存連線名稱清單。

AR: awn: 程式碼部署:region:account-id:*

ListOnPremisesInstances

codedeploy:ListOnPremisesInstances

若要取得一個或多個現場部署執行個體名稱的清單,則為必要許可。

AR: awn: 程式碼部署:region:account-id:*

PutLifecycleEventHookExecutionStatus

codedeploy:PutLifecycleEventHookExecutionStatus

若要提供生命週期關聯事件執行狀態的相關通知,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

RegisterApplicationRevision

codedeploy:RegisterApplicationRevision

若要註冊與 使用者相關聯的應用程式修訂版本相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:應用程序:application-name

RegisterOnPremisesInstance

codedeploy:RegisterOnPremisesInstance

必須使用註冊內部部署執行個體 CodeDeploy。

AR: awn: 程式碼部署:region:account-id: 執行個體/instance-ID

RemoveTagsFromOnPremisesInstances

codedeploy:RemoveTagsFromOnPremisesInstances

若要從一個或多個現場部署執行個體移除標籤,則為必要許可。

AR: awn: 程式碼部署:region:account-id: 執行個體/instance-ID

SkipWaitTimeForInstanceTermination

codedeploy:SkipWaitTimeForInstanceTermination

若要在藍/綠部署中覆寫指定的等待時間,並立即在原始環境中啟動終止的執行個體,則為必要許可。

AR: awn: 程式碼部署:region:account-id: 執行個體/instance-ID

StopDeployment

codedeploy:StopDeployment

若要針對與 使用者相關聯的應用程式,停止部署群組正在進行的部署,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

UpdateApplication³

codedeploy:UpdateApplication

若要變更與 使用者相關聯的應用程式相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:應用程序:application-name

UpdateDeploymentGroup³

codedeploy:UpdateDeploymentGroup

若要變更與 使用者相關聯的應用程式單一部署群組相關資訊,則為必要許可。

AR: awn: 程式碼部署:region:account-id:部署群組:application-name/deployment-group-name

¹ 當您指定CreateDeployment權限時,您還必須指定部署組態的GetDeploymentConfig權限,以及/GetApplicationRevision或應用程式修訂版的RegisterApplicationRevision權限。此外,如果您在CreateDeploymentAPI呼叫中包含overrideAlarmConfiguration參數,則必須指定UpdateDeploymentGroup權限。

² 在提供特定部署群組ListDeployments時有效,但不適用於列出與使用者相關聯的所有部署。

³ 針對UpdateApplication,您必須同時擁有舊應用程式名稱和新應用程式名稱的UpdateApplication權限。對於涉及變更部署群組名稱的 UpdateDeploymentGroup 動作,您必須同時擁有舊的及新的部署群組名稱的 UpdateDeploymentGroup 許可。