Pré-requisitos para sincronizar pilhas com um repositório Git usando o Git sync
Antes de sincronizar uma pilha do CloudFormation com o repositório Git, verifique se os requisitos a seguir são atendidos.
Tópicos
Repositório Git
É necessário ter um repositório Git hospedado em uma das plataformas a seguir.
O repositório pode ser público ou privado. Será necessário conectar esse repositório Git ao CloudFormation por meio do console do Connections
Modelo do CloudFormation
O repositório Git deve conter um arquivo de modelo do CloudFormation verificado na ramificação que você pretende conectar com a sincronização do Git. Esse modelo será referenciado pelo arquivo de implantação da pilha.
Perfil de serviço de sincronização do Git
A sincronização do Git requer um perfil do IAM. É possível optar por criar um perfil do IAM para a pilha ao configurar a sincronização do Git ou usar um perfil existente.
nota
Um perfil do IAM gerado automaticamente aplica permissões somente à pilha para a qual o perfil é gerado. Para reutilizar um perfil do IAM gerado automaticamente, é necessário editar o perfil para a nova pilha.
Permissões necessárias para o perfil de serviço de sincronização do Git
O perfil do IAM fornecido para a sincronização do Git requer as permissões a seguir.
- 
                    cloudformation:CreateChangeSet
- 
                    cloudformation:DeleteChangeSet
- 
                    cloudformation:DescribeChangeSet
- 
                    cloudformation:DescribeStackEvents
- 
                    cloudformation:DescribeStacks
- 
                    cloudformation:ExecuteChangeSet
- 
                    cloudformation:ListChangeSets
- 
                    cloudformation:ValidateTemplate
- 
                    events:PutRule
- 
                    events:PutTargets
nota
As permissões necessárias, citadas anteriormente, são adicionadas automaticamente aos perfis do IAM gerados pelo Git Sync.
O exemplo de perfil do IAM apresentado a seguir inclui as permissões de pré-requisitos para o Git Sync.
Política de confiança
Você deve fornecer a política de confiança apresentada a seguir ao criar o perfil para definir a relação de confiança.
Recomendamos o uso das chaves de condição aws:SourceArn e aws:SourceAccount para se proteger contra o problema confused deputy. A conta de origem é o ID da sua conta e o ARN de origem é o ARN da conexão no serviço CodeConnections que permite que o CloudFormation se conecte ao repositório do Git.
Para obter mais informações sobre o problema confused deputy, veja Prevenção contra o ataque do “substituto confuso” em todos os serviços.
Permissões do IAM para usuários do console
Para configurar com sucesso a sincronização do Git por meio do console do CloudFormation, os usuários finais também devem receber permissões por meio do IAM.
As permissões codeconnections a seguir são necessárias para criar e gerenciar a conexão com seu repositório do Git.
- 
                codeconnections:CreateRepositoryLink
- 
                codeconnections:CreateSyncConfiguration
- 
                codeconnections:DeleteRepositoryLink
- 
                codeconnections:DeleteSyncConfiguration
- 
                codeconnections:GetRepositoryLink
- 
                codeconnections:GetSyncConfiguration
- 
                codeconnections:ListRepositoryLinks
- 
                codeconnections:ListSyncConfigurations
- 
                codeconnections:ListTagsForResource
- 
                codeconnections:TagResource
- 
                codeconnections:UntagResource
- 
                codeconnections:UpdateRepositoryLink
- 
                codeconnections:UpdateSyncBlocker
- 
                codeconnections:UpdateSyncConfiguration
- 
                codeconnections:UseConnection
Os usuários do console também devem ter as permissões do cloudformation a seguir para visualizar e gerenciar pilhas durante o processo de configuração da sincronização do Git.
- 
                cloudformation:CreateChangeSet
- 
                cloudformation:DeleteChangeSet
- 
                cloudformation:DescribeChangeSet
- 
                cloudformation:DescribeStackEvents
- 
                cloudformation:DescribeStacks
- 
                cloudformation:ExecuteChangeSet
- 
                cloudformation:GetTemplate
- 
                cloudformation:ListChangeSets
- 
                cloudformation:ListStacks
- 
                cloudformation:ValidateTemplate
nota
Embora as permissões do conjunto de alterações (cloudformation:CreateChangeSet, cloudformation:DeleteChangeSet, cloudformation:DescribeChangeSet, cloudformation:ExecuteChangeSet) possam não ser estritamente necessárias para uso somente no console, elas são recomendadas para habilitar os recursos completos de inspeção e gerenciamento da pilha.
O exemplo de política do IAM a seguir inclui as permissões do usuário necessárias para configurar a sincronização do Git via console.
nota
Ao criar uma política do IAM que inclua as permissões codeconnections:CreateForcedTargetSync e codeconnections:CreatePullRequestForResource, é possível ver um aviso no console do IAM informando que essas ações não existem. Esse aviso pode ser ignorado e a política ainda será criada com sucesso. Essas permissões são necessárias para determinadas operações de sincronização do Git, apesar de não serem reconhecidas pelo console do IAM.