本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Git 同步將堆疊同步至 Git 儲存庫的先決條件
將 CloudFormation 堆疊同步至 Git 儲存庫之前,請確認符合下列要求。
Git 儲存庫
您必須將 Git 儲存庫託管在下列其中一個平台上:
儲存庫可以是公有或私有。您需要 CloudFormation 透過 Connections 主控台
CloudFormation 範本
您的 Git 儲存庫必須包含範本CloudFormation 檔案,該檔案會檢查到您要與 Git 同步連線的分支。此範本將由堆疊部署檔案參考。
IAM 角色
Git 同步需要 IAM角色。設定 Git 同步時,您可以選擇為堆疊建立IAM角色,也可以使用現有角色。
注意
自動產生的IAM角色只會將許可套用至產生角色的堆疊。若要重複使用自動產生的IAM角色,您必須編輯新堆疊的角色。
所需的許可
您為 Git 同步提供IAM的角色需要下列許可:
注意
上述必要許可會自動新增至 Git 同步產生的IAM角色。
下列範例IAM角色包含 Git 同步的先決條件許可。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SyncToCloudFormation", "Effect": "Allow", "Action": [ "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:DescribeChangeSet", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStacks", "cloudformation:ExecuteChangeSet", "cloudformation:GetTemplate", "cloudformation:ListChangeSets", "cloudformation:ListStacks", "cloudformation:ValidateTemplate" ], "Resource": "*" }, { "Sid": "PolicyForManagedRules", "Effect": "Allow", "Action": [ "events:PutRule", "events:PutTargets" ], "Resource": "*", "Condition": { "StringEquals": { "events:ManagedBy": ["cloudformation.sync.codeconnections.amazonaws.com"] } } }, { "Sid": "PolicyForDescribingRule", "Effect": "Allow", "Action": "events:DescribeRule", "Resource": "*" } ] }
信任政策
Git 同步需要下列信任政策才能連線到 Git 儲存庫:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CfnGitSyncTrustPolicy", "Effect": "Allow", "Principal": { "Service": "cloudformation.sync.codeconnections.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }