

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Segurança no Image Builder
<a name="image-builder-security"></a>

A segurança na nuvem AWS é a maior prioridade. Como AWS cliente, você se beneficia de uma arquitetura de data center e rede criada para atender aos requisitos das organizações mais sensíveis à segurança.

A segurança é uma responsabilidade compartilhada entre você AWS e você. O [Modelo de Responsabilidade Compartilhada](https://aws.amazon.com/compliance/shared-responsibility-model/) descreve isso como segurança *da* nuvem e segurança *na* nuvem:
+ **Segurança da nuvem** — AWS é responsável por proteger a infraestrutura que funciona Serviços da AWS na AWS nuvem. AWS também fornece serviços que você pode usar com segurança. Auditores terceirizados testam e verificam regularmente a eficácia de nossa segurança como parte dos Programas de Conformidade Programas de [AWS](https://aws.amazon.com/compliance/programs/) de . Para saber mais sobre os programas de compatibilidade que se aplicam ao EC2 Image Builder, consulte [Escopo da Serviços da AWS por programa de compatibilidade](https://aws.amazon.com/compliance/services-in-scope/).
+ **Segurança na nuvem** — Sua responsabilidade é determinada pelo AWS serviço que você usa. Você também é responsável por outros fatores, incluindo a confidencialidade de seus dados, os requisitos da empresa e as leis e regulamentos aplicáveis. 

Esta documentação ajuda a entender como aplicar o modelo de responsabilidade compartilhada ao usar o Image Builder. Os tópicos a seguir mostram como configurar o Image Builder para atender aos seus objetivos de segurança e conformidade. Você também aprenderá a usar outros Serviços da AWS que o ajudem a monitorar e proteger seus recursos do Image Builder. 

**Topics**
+ [Proteção de dados e o modelo de responsabilidade AWS compartilhada no Image Builder](data-protection.md)
+ [Integração do Identity and Access Management com o Image Builder](security-iam.md)
+ [Validação de conformidade para Image Builder](compliance.md)
+ [Redundância e resiliência de dados no Image Builder](disaster-recovery-resiliency.md)
+ [Segurança da infraestrutura no Image Builder](infrastructure-security.md)
+ [Gerenciamento de patches para imagens do Image Builder](security-patch-management.md)
+ [Práticas recomendadas de segurança para o Image Builder](security-best-practices.md)

# Proteção de dados e o modelo de responsabilidade AWS compartilhada no Image Builder
<a name="data-protection"></a>

O [modelo de responsabilidade AWS compartilhada](https://aws.amazon.com/compliance/shared-responsibility-model/) se aplica à proteção de dados no EC2 Image Builder. Conforme descrito neste modelo, AWS é responsável por proteger a infraestrutura global que executa todos os Nuvem AWS. Você é responsável por manter o controle sobre o conteúdo hospedado nessa infraestrutura. Você também é responsável pelas tarefas de configuração e gerenciamento de segurança dos Serviços da AWS que usa. Para saber mais sobre a privacidade de dados, consulte as [Data Privacy FAQ](https://aws.amazon.com/compliance/data-privacy-faq/). Para saber mais sobre a proteção de dados na Europa, consulte a postagem do blog [AWS Shared Responsibility Model and RGPD](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) no *Blog de segurança da AWS *.

Para fins de proteção de dados, recomendamos que você proteja Conta da AWS as credenciais e configure usuários individuais com Centro de Identidade do AWS IAM ou AWS Identity and Access Management (IAM). Dessa maneira, cada usuário receberá apenas as permissões necessárias para cumprir suas obrigações de trabalho. Recomendamos também que você proteja seus dados das seguintes formas:
+ Use uma autenticação multifator (MFA) com cada conta.
+ Use SSL/TLS para se comunicar com AWS os recursos. Exigimos TLS 1.2 e recomendamos TLS 1.3.
+ Configure a API e o registro de atividades do usuário com AWS CloudTrail. Para obter informações sobre o uso de CloudTrail trilhas para capturar AWS atividades, consulte Como [trabalhar com CloudTrail trilhas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) no *Guia AWS CloudTrail do usuário*.
+ Use soluções de AWS criptografia, juntamente com todos os controles de segurança padrão Serviços da AWS.
+ Use serviços gerenciados de segurança avançada, como o Amazon Macie, que ajuda a localizar e proteger dados sensíveis armazenados no Amazon S3.
+ Se você precisar de módulos criptográficos validados pelo FIPS 140-3 ao acessar AWS por meio de uma interface de linha de comando ou de uma API, use um endpoint FIPS. Para saber mais sobre os endpoints FIPS disponíveis, consulte [Federal Information Processing Standard (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

É altamente recomendável que nunca sejam colocadas informações confidenciais ou sensíveis, como endereços de e-mail de clientes, em tags ou campos de formato livre, como um campo **Nome**. Isso inclui quando você trabalha com o Image Builder ou outro Serviços da AWS usando o console AWS CLI, a API ou AWS SDKs. Quaisquer dados inseridos em tags ou em campos de texto de formato livre usados para nomes podem ser usados para logs de faturamento ou de diagnóstico. Se você fornecer um URL a um servidor externo, recomendamos enfaticamente que não inclua informações de credenciais no URL para validar sua solicitação a esse servidor.

## Gerenciamento de criptografia e chaves no Image Builder
<a name="ib-encryption"></a>

O Image Builder criptografa por padrão dados em trânsito e em repouso com uma chave do KMS de propriedade do serviço, com as seguintes exceções:
+ **Componentes personalizados**: o Image Builder criptografa componentes personalizados com sua chave padrão do KMS ou com uma chave do KMS de propriedade do serviço.
+ **Fluxos de trabalho de imagem**: se você especificar a chave durante a criação do fluxo de trabalho, o Image Builder poderá criptografar seus fluxos de trabalho de imagem com uma chave gerenciada pelo cliente. O Image Builder processa a criptografia e a descriptografia com sua chave para executar os fluxos de trabalho que você configurou para suas imagens.

Você pode gerenciar suas próprias chaves por meio de AWS KMS. No entanto, você não tem permissão para gerenciar a chave KMS do Image Builder de propriedade do Image Builder. Para obter mais informações sobre como gerenciar suas chaves do KMS com AWS Key Management Service, consulte [Introdução](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html) no Guia do AWS Key Management Service desenvolvedor.

**Contexto de criptografia**  
Para fornecer uma verificação adicional de integridade e autenticidade em seus dados criptografados, você tem a opção de incluir um [contexto de criptografia](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) ao criptografar os dados. Quando um recurso é criptografado com um contexto de criptografia, vincula AWS KMS criptograficamente o contexto ao texto cifrado. O recurso só poderá ser descriptografado se o solicitante fornecer uma correspondência exata e com distinção entre maiúsculas e minúsculas para o contexto.

Os exemplos de políticas nesta seção usam um contexto de criptografia semelhante ao nome do recurso da Amazon (ARN) de um recurso de fluxo de trabalho do Image Builder.

### Criptografar fluxos de trabalho de imagens com uma chave gerenciada pelo cliente
<a name="ib-workflow-encrypt-cmk"></a>

Para adicionar uma camada de proteção, você pode criptografar seus recursos de fluxo de trabalho do Image Builder com sua própria chave gerenciada pelo cliente. Se usar sua chave gerenciada pelo cliente para criptografar os fluxos de trabalho do Image Builder que você cria, você deverá conceder acesso na política de chaves para que o Image Builder use sua chave ao criptografar e descriptografar recursos do fluxo de trabalho. Você pode revogar esse acesso a qualquer momento. No entanto, se você revogar o acesso à chave, o Image Builder não terá acesso a nenhum fluxo de trabalho que já esteja criptografado.

O processo para conceder ao Image Builder acesso para usar sua chave gerenciada pelo cliente tem duas etapas, conforme segue:

**Etapa 1: adicionar permissões de política de chave aos fluxos de trabalho do Image Builder**  
Para permitir que o Image Builder criptografe e descriptografe recursos do fluxo de trabalho ao criar ou usar esses fluxos de trabalho, você deve especificar as permissões na política de chave do KMS.

Este exemplo de política de chave concede acesso aos pipelines do Image Builder para criptografar recursos de fluxo de trabalho durante o processo de criação e descriptografar recursos de fluxo de trabalho para usá-los. A política também concede acesso aos principais administradores. O contexto de criptografia e a especificação do recurso usam um curinga para cobrir todas as regiões nas quais você tenha recursos de fluxo de trabalho.

Como pré-requisito para usar fluxos de trabalho de imagem, você criou um perfil de execução de fluxo de trabalho do IAM que concede permissão para o Image Builder executar ações de fluxo de trabalho. A entidade principal da primeira declaração exibida no exemplo de política de chave aqui deve especificar seu perfil de execução de fluxo de trabalho do IAM.

Para obter mais informações sobre chaves gerenciadas pelo cliente, consulte [Gerenciar o acesso a chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) no *Guia do desenvolvedor do AWS Key Management Service *.

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "Allow access to build images with encrypted workflow",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::111122223333:role/YourImageBuilderExecutionRole"
			},
			"Action": [
				"kms:Decrypt",
				"kms:GenerateDataKey"
			],
			"Resource": "*",
			"Condition": {
				"StringLike": {
					"kms:EncryptionContext:aws:imagebuilder:arn": "arn:aws:imagebuilder:*:111122223333:workflow/*"
				}
			}
		},
		{
			"Sid": "Allow access for key administrators",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::111122223333:root"
			},
			"Action": [
				"kms:*"
			],
			"Resource": "arn:aws:kms:*:111122223333:key/*"
		}
	]
}
```

------

**Etapa 2: permitir que seu perfil de execução do fluxo de trabalho tenha acesso à chave**  
O perfil do IAM que o Image Builder assume para executar seus fluxos de trabalho precisa de permissão para usar sua chave gerenciada pelo cliente. Sem acesso à sua chave, o Image Builder não conseguirá criptografar ou descriptografar seus recursos de fluxo de trabalho com ela.

Edite a política do seu perfil de execução do fluxo de trabalho para adicionar a seguinte declaração de política.

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "AllowAccessToWorkflowKey",
			"Effect": "Allow",
			"Action": [
				"kms:Decrypt",
				"kms:GenerateDataKey"
			],
			"Resource": "arn:aws:kms:us-west-2:111122223333:key/key_ID",
			"Condition": {
				"StringLike": {
					"kms:EncryptionContext:aws:imagebuilder:arn": "arn:aws:imagebuilder:*:111122223333:workflow/*"
				}
			}
		}
	]
}
```

------

### AWS CloudTrail eventos para fluxos de trabalho de imagem
<a name="ib-workflow-cloudtrail-examples"></a>

Os exemplos a seguir mostram AWS CloudTrail entradas típicas para criptografar e descriptografar fluxos de trabalho de imagem que são armazenados com uma chave gerenciada pelo cliente.

**Exemplo: GenerateDataKey.**  
Este exemplo mostra a aparência de um CloudTrail evento quando o Image Builder invoca a ação da AWS KMS **GenerateDataKey** API a partir da ação da **CreateWorkflow** API Image Builder. Antes de criar o recurso de fluxo de trabalho, o Image Builder deve criptografar um novo fluxo de trabalho.

```
{
	"eventVersion": "1.08",
	"userIdentity": {
		"type": "AssumedRole",
		"principalId": "PRINCIPALID1234567890:workflow-role-name",
		"arn": "arn:aws:sts::111122223333:assumed-role/Admin/workflow-role-name",
		"accountId": "111122223333",
		"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
		"sessionContext": {
			"sessionIssuer": {
				"type": "Role",
				"principalId": "PRINCIPALID1234567890",
				"arn": "arn:aws:iam::111122223333:role/Admin",
				"accountId": "111122223333",
				"userName": "Admin"
			},
			"webIdFederationData": {},
			"attributes": {
				"creationDate": "2023-11-21T20:29:31Z",
				"mfaAuthenticated": "false"
			}
		},
		"invokedBy": "imagebuilder.amazonaws.com"
	},
	"eventTime": "2023-11-21T20:31:03Z",
	"eventSource": "kms.amazonaws.com",
	"eventName": "GenerateDataKey",
	"awsRegion": "us-west-2",
	"sourceIPAddress": "imagebuilder.amazonaws.com",
	"userAgent": "imagebuilder.amazonaws.com",
	"requestParameters": {
		"encryptionContext": {
			"aws:imagebuilder:arn": "arn:aws:imagebuilder:us-west-2:111122223333:workflow/build/sample-encrypted-workflow/1.0.0/*",
			"aws-crypto-public-key": "key value"
		},
		"keyId": "arn:aws:kms:us-west-2:111122223333:alias/ExampleKMSKey",
		"numberOfBytes": 32
	},
	"responseElements": null,
	"requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa",
	"eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
	"readOnly": true,
	"resources": [
		{
			"accountId": "111122223333",
			"type": "AWS::KMS::Key",
			"ARN": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEzzzzz"
		}
	],
	"eventType": "AwsApiCall",
	"managementEvent": true,
	"recipientAccountId": "111122223333",
	"eventCategory": "Management"
}
```

**Exemplo: Decrypt**  
Este exemplo mostra a aparência de um CloudTrail evento quando o Image Builder invoca a ação da AWS KMS **Decrypt** API a partir da ação da **GetWorkflow** API Image Builder. Antes que possam usar um recurso de fluxo de trabalho, os pipelines do Image Builder precisam descriptografá-lo.

```
{
	"eventVersion": "1.08",
	"userIdentity": {
		"type": "AssumedRole",
		"principalId": "PRINCIPALID1234567890:workflow-role-name",
		"arn": "arn:aws:sts::111122223333:assumed-role/Admin/workflow-role-name",
		"accountId": "111122223333",
		"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
		"sessionContext": {
			"sessionIssuer": {
				"type": "Role",
				"principalId": "PRINCIPALID1234567890",
				"arn": "arn:aws:iam::111122223333:role/Admin",
				"accountId": "111122223333",
				"userName": "Admin"
			},
			"webIdFederationData": {},
			"attributes": {
				"creationDate": "2023-11-21T20:29:31Z",
				"mfaAuthenticated": "false"
			}
		},
		"invokedBy": "imagebuilder.amazonaws.com"
	},
	"eventTime": "2023-11-21T20:34:25Z",
	"eventSource": "kms.amazonaws.com",
	"eventName": "Decrypt",
	"awsRegion": "us-west-2",
	"sourceIPAddress": "imagebuilder.amazonaws.com",
	"userAgent": "imagebuilder.amazonaws.com",
	"requestParameters": {
		"keyId": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEzzzzz",
		"encryptionAlgorithm": "SYMMETRIC_DEFAULT",
		"encryptionContext": {
			"aws:imagebuilder:arn": "arn:aws:imagebuilder:us-west-2:111122223333:workflow/build/sample-encrypted-workflow/1.0.0/*",
			"aws-crypto-public-key": "ABC123def4567890abc12345678/90dE/F123abcDEF+4567890abc123D+ef1=="
		}
	},
	"responseElements": null,
	"requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb",
	"eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
	"readOnly": true,
	"resources": [
		{
			"accountId": "111122223333",
			"type": "AWS::KMS::Key",
			"ARN": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEzzzzz"
		}
	],
	"eventType": "AwsApiCall",
	"managementEvent": true,
	"recipientAccountId": "111122223333",
	"eventCategory": "Management"
}
```

## Armazenamento de dados no Image Builder
<a name="ib-data-storage"></a>

O Image Builder não armazena nenhum dos seus registros no serviço. Todos os registros são salvos na sua instância do Amazon EC2 que é usada para criar a imagem ou nos seus registros de automação do Systems Manager.

## Privacidade do tráfego entre redes no Image Builder
<a name="image-builder-internetwork"></a>

As conexões são protegidas entre o Image Builder e locais locais, entre uma AZs AWS região e entre AWS regiões por meio de HTTPS. Não há conexões diretas entre contas.

# Integração do Identity and Access Management com o Image Builder
<a name="security-iam"></a>

**Topics**
+ [Público](#security-iam-audience)
+ [Autenticação com identidades](#security-iam-authentication)
+ [Como o Image Builder utiliza políticas e perfis do IAM](security_iam_service-with-iam.md)
+ [Gerencie perímetros de dados para acesso ao download do bucket S3 no Image Builder](security-iam-data-perimeter.md)
+ [Políticas baseadas em identidade do Image Builder](security-iam-identity-based-policies.md)
+ [Permissões do IAM para fluxos de trabalho personalizados](#security-iam-custom-workflows)
+ [Políticas baseadas em recursos do Image Builder](#security-iam-resource-based-policies)
+ [Use políticas AWS gerenciadas para o EC2 Image Builder](security-iam-awsmanpol.md)
+ [Usar perfis do IAM vinculados ao serviço para o Image Builder](image-builder-service-linked-role.md)
+ [Solucionar problemas do IAM no Image Builder](security_iam_troubleshoot.md)

## Público
<a name="security-iam-audience"></a>

A forma como você usa AWS Identity and Access Management (IAM) difere com base na sua função:
+ **Usuário do serviço**: solicite permissões ao seu administrador se você não conseguir acessar os atributos (consulte [Solucionar problemas do IAM no Image Builder](security_iam_troubleshoot.md)).
+ **Administrador do serviço**: determine o acesso do usuário e envie solicitações de permissão (consulte [Como o Image Builder utiliza políticas e perfis do IAM](security_iam_service-with-iam.md))
+ **Administrador do IAM**: escreva políticas para gerenciar o acesso (consulte [Políticas baseadas em identidade do Image Builder](security_iam_service-with-iam.md#security_iam_id-based-policy-examples))

## Autenticação com identidades
<a name="security-iam-authentication"></a>

Para obter informações detalhadas sobre como fornecer autenticação para pessoas e processos em seu Conta da AWS, consulte [Identidades](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) no *Guia do usuário do IAM*. 

# Como o Image Builder utiliza políticas e perfis do IAM
<a name="security_iam_service-with-iam"></a>

Antes de usar o IAM para gerenciar o acesso ao Image Builder, saiba quais atributos do IAM estão disponíveis para uso com o Image Builder.

Para ter uma visão de alto nível de como o Image Builder e outros AWS serviços funcionam com a maioria dos recursos do IAM, consulte [AWS os serviços que funcionam com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) no *Guia do usuário do IAM*.

## Políticas baseadas em identidade para o Image Builder
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Compatível com políticas baseadas em identidade:** sim

As políticas baseadas em identidade são documentos de políticas de permissões JSON que podem ser anexados a uma identidade, como usuário do IAM, grupo de usuários ou perfil. Essas políticas controlam quais ações os usuários e perfis podem realizar, em quais recursos e em que condições. Para saber como criar uma política baseada em identidade, consulte [Definir permissões personalizadas do IAM com as políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no *Guia do Usuário do IAM*.

Com as políticas baseadas em identidade do IAM, é possível especificar ações e recursos permitidos ou negados, assim como as condições sob as quais as ações são permitidas ou negadas. Para saber mais sobre todos os elementos que podem ser usados em uma política JSON, consulte [Referência de elemento de política JSON do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) no *Guia do usuário do IAM*.

### Exemplos de políticas baseadas em identidade para o Image Builder
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Para visualizar exemplos de políticas baseadas em identidade do Image Builder, consulte [Políticas baseadas em identidade do Image Builder](#security_iam_id-based-policy-examples).

## Políticas baseadas em recursos no Image Builder
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Compatível com políticas baseadas em recursos:** sim

Políticas baseadas em recursos são documentos de políticas JSON que você anexa a um recurso. São exemplos de políticas baseadas em recursos as *políticas de confiança de perfil* do IAM e as *políticas de bucket* do Amazon S3. Em serviços compatíveis com políticas baseadas em recursos, os administradores de serviço podem usá-las para controlar o acesso a um recurso específico. Para o atributo ao qual a política está anexada, a política define quais ações uma entidade principal especificado pode executar nesse atributo e em que condições. É necessário [especificar uma entidade principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) em uma política baseada em recursos. Os diretores podem incluir contas, usuários, funções, usuários federados ou. Serviços da AWS

Para permitir o acesso entre contas, é possível especificar uma conta inteira ou as entidades do IAM em outra conta como a entidade principal em uma política baseada em recursos. Consulte mais informações em [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

## Ações de política para Image Builder
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Compatível com ações de políticas:** sim

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento `Action` de uma política JSON descreve as ações que podem ser usadas para permitir ou negar acesso em uma política. Incluem ações em uma política para conceder permissões para executar a operação associada.



Para ver uma lista das ações do Image Builder, consulte [Ações definidas pelo EC2 Image Builder ](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-actions-as-permissions) na *Referência de autorização do serviço*.

As ações de políticas no Image Builder usam o seguinte prefixo antes da ação:

```
imagebuilder
```

Para especificar várias ações em uma única declaração, separe-as com vírgulas.

```
"Action": [
	"imagebuilder:action1",
	"imagebuilder:action2"
	]
```





Para visualizar exemplos de políticas baseadas em identidade do Image Builder, consulte [Políticas baseadas em identidade do Image Builder](#security_iam_id-based-policy-examples).

## Recursos de política para Image Builder
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Compatível com recursos de políticas:** sim

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento de política JSON `Resource` especifica o objeto ou os objetos aos quais a ação se aplica. Como prática recomendada, especifique um recurso usando seu [nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Para ações que não oferecem compatibilidade com permissões em nível de recurso, use um curinga (\$1) para indicar que a instrução se aplica a todos os recursos.

```
"Resource": "*"
```

Para ver uma lista dos tipos de recursos do Image Builder e seus ARNs, consulte [Recursos definidos pelo EC2 Image](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-resources-for-iam-policies) Builder na Referência de *Autorização de Serviço*. Para saber com quais ações é possível especificar o ARN de cada recurso, consulte [Ações definidas pelo EC2 Image Builder](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-actions-as-permissions).

Para visualizar exemplos de políticas baseadas em identidade do Image Builder, consulte [Políticas baseadas em identidade do Image Builder](#security_iam_id-based-policy-examples).

## Chaves de condição de políticas do Image Builder
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Compatível com chaves de condição de política específicas de serviço:** sim

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento `Condition` especifica quando as instruções são executadas com base em critérios definidos. É possível criar expressões condicionais que usem [agentes de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), como “igual a” ou “menor que”, para fazer a condição da política corresponder aos valores na solicitação. Para ver todas as chaves de condição AWS globais, consulte as [chaves de contexto de condição AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.

Para ver uma lista de chaves de condição do Image Builder, consulte [Chaves de condição do EC2 Image Builder](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-policy-keys) na *Referência de autorização do serviço*. Para saber com quais ações e recursos é possível usar uma chave de condição, consulte [Ações definidas pelo EC2 Image Builder](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-actions-as-permissions).

Para visualizar exemplos de políticas baseadas em identidade do Image Builder, consulte [Políticas baseadas em identidade do Image Builder](#security_iam_id-based-policy-examples).

## ACLs em Image Builder
<a name="security_iam_service-with-iam-acls"></a>

**Suportes ACLs:** Não 

As listas de controle de acesso (ACLs) controlam quais diretores (membros da conta, usuários ou funções) têm permissões para acessar um recurso. ACLs são semelhantes às políticas baseadas em recursos, embora não usem o formato de documento de política JSON.

## ABAC com Image Builder
<a name="security_iam_service-with-iam-tags"></a>

**Compatível com ABAC (tags em políticas):** parcial

O controle de acesso por atributo (ABAC) é uma estratégia de autorização que define permissões com base em atributos chamados de tags. Você pode anexar tags a entidades e AWS recursos do IAM e, em seguida, criar políticas ABAC para permitir operações quando a tag do diretor corresponder à tag no recurso.

Para controlar o acesso baseado em tags, forneça informações sobre as tags no [elemento de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de uma política usando as `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` ou chaves de condição `aws:TagKeys`.

Se um serviço for compatível com as três chaves de condição para cada tipo de recurso, o valor será **Sim** para o serviço. Se um serviço for compatível com as três chaves de condição somente para alguns tipos de recursos, o valor será **Parcial**

Para saber mais sobre o ABAC, consulte [Definir permissões com autorização do ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) no *Guia do usuário do IAM*. Para visualizar um tutorial com etapas para configurar o ABAC, consulte [Usar controle de acesso por atributo (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) no *Guia do usuário do IAM*.

## Usar credenciais temporárias com o Image Builder
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Compatível com credenciais temporárias:** sim

As credenciais temporárias fornecem acesso de curto prazo aos AWS recursos e são criadas automaticamente quando você usa a federação ou troca de funções. AWS recomenda que você gere credenciais temporárias dinamicamente em vez de usar chaves de acesso de longo prazo. Para ter mais informações, consulte [Credenciais de segurança temporárias no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) e [Serviços da Serviços da AWS que funcionam com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) no *Guia do usuário do IAM*.

## Permissões de entidade principal entre serviços para o Image Builder
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Compatibilidade com o recurso de encaminhamento de sessões de acesso (FAS):** sim

 As sessões de acesso direto (FAS) usam as permissões do principal chamando um AWS service (Serviço da AWS), combinadas com a solicitação AWS service (Serviço da AWS) de fazer solicitações aos serviços posteriores. Para obter detalhes da política ao fazer solicitações de FAS, consulte [Sessões de acesso direto](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Perfis de serviço para o Image Builder
<a name="security_iam_service-with-iam-roles-service"></a>

**Compatível com perfis de serviço:** sim

 O perfil de serviço é um [perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que um serviço assume para executar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para saber mais, consulte [Criar um perfil para delegar permissões a um AWS service (Serviço da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) no *Guia do Usuário do IAM*. 

**Atenção**  
Alterar as permissões de um perfil de serviço pode prejudicar a funcionalidade do Image Builder. Edite os perfis de serviço somente quando o Image Builder orientar você a fazê-lo.

## Funções vinculadas ao serviço para o Image Builder
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Compatibilidade com perfis vinculados a serviços:** sim

 Uma função vinculada ao serviço é um tipo de função de serviço vinculada a um. AWS service (Serviço da AWS) O serviço pode assumir o perfil de executar uma ação em seu nome. As funções vinculadas ao serviço aparecem em você Conta da AWS e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não editar as permissões para perfis vinculados ao serviço. 

Para detalhes sobre a função vinculada ao serviço para o Image Builder, consulte [Usar perfis do IAM vinculados ao serviço para o Image Builder](image-builder-service-linked-role.md).

## Políticas baseadas em identidade do Image Builder
<a name="security_iam_id-based-policy-examples"></a>

Com as políticas baseadas em identidade do IAM, é possível especificar ações ou recursos permitidos ou negados, além das condições sob as quais as ações são permitidas ou negadas. O Image Builder oferece suporte a ações, recursos e chaves de condição específicos. Para obter informações sobre todos os elementos usados em uma política JSON, consulte [Ações, recursos e chaves de condição do Amazon EC2 Image Builder](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2imagebuilder.html) no Guia do usuário *do IAM*.

### Ações
<a name="sec-iam-ib-id-based-policies-actions"></a>

As ações de políticas no Image Builder usam o seguinte prefixo antes da ação: `imagebuilder:`. As instruções de política devem incluir um elemento `Action` ou `NotAction`. O Image Builder define seu próprio conjunto de ações que descrevem as tarefas que você pode executar com esse serviço.

Para especificar várias ações em uma única instrução, separe-as com vírgulas, como segue:

```
"Action": [
	"imagebuilder:action1",
	"imagebuilder:action2"
]
```

Você também pode especificar várias ações usando caracteres curinga (\$1). Por exemplo, para especificar todas as ações que começam com a palavra `List`, inclua a seguinte ação:

```
"Action": "imagebuilder:List*"
```

Para ver uma lista de ações do Image Builder [, consulte Serviços da AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)Ações, recursos e chaves de condição para o no *Manual do usuário do IAM*.

### Gerenciar o acesso usando políticas
<a name="security-iam-manage-access"></a>

Para obter informações detalhadas sobre como gerenciar o acesso criando políticas e anexando-as às identidades ou AWS recursos do IAM, consulte [Políticas e permissões no Guia](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) *do usuário do IAM*. AWS 

O perfil do IAM que você associa ao seu perfil de instância precisa ter permissões para executar os componentes de criação e teste incluídos na sua imagem. As seguintes políticas de perfil do IAM devem ser anexadas à função do IAM associada ao perfil de instância:
+ EC2InstanceProfileForImageBuilder
+ EC2InstanceProfileForImageBuilderECRContainerBuilds
+ AmazonSSMManagedInstanceCore

### Recursos
<a name="sec-iam-ib-id-based-policies-resources"></a>

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento de política JSON `Resource` especifica o objeto ou os objetos aos quais a ação se aplica. Como prática recomendada, especifique um recurso usando seu [nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Para ações que não oferecem compatibilidade com permissões em nível de recurso, use um curinga (\$1) para indicar que a instrução se aplica a todos os recursos.

```
"Resource": "*"
```

O ARN é composto por vários nós que ajudam a identificar o recurso e garantir que o nome seja exclusivo. Os últimos nós no nome incluem várias variações na formatação do tipo, nome e ID do recurso. Quando o Image Builder cria um recurso, ele usa o seguinte formato:

`arn:aws:imagebuilder:region:owner:resource-type/resource-name/version/build-version`

**nota**  
A versão de compilação nem sempre está incluída no ARN do recurso. No entanto, algumas operações de API, como [GetComponent](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_GetComponent.html), precisam da versão de compilação para identificar de forma exclusiva um recurso a ser recuperado.

Para os recursos que o Image Builder usa em suas receitas, como a imagem base ou os componentes, o nó proprietário pode ser um dos seguintes:
+ O número da conta do proprietário do recurso
+ Para recursos gerenciados pela Amazon: `aws`
+ Para obter AWS Marketplace recursos: `aws-marketplace`

O exemplo a seguir mostra o ARN de um componente gerenciado para instalar o CloudWatch agente da Amazon no Linux:

```
arn:aws:imagebuilder:us-east-1:aws:component/amazon-cloudwatch-agent-linux/1.0.1/1
```

Este exemplo mostra o ARN de um componente gerenciado fictício do: AWS Marketplace

```
arn:aws:imagebuilder:us-east-1:aws-marketplace:component/example-linux-software-component/1.0.1
```

Para obter mais informações sobre como obter uma lista de componentes, incluindo o uso de um filtro de propriedade, consulte[Listar componentes do Image Builder](component-details.md#list-components).

**Exemplo ARNs**  
Veja a seguir alguns exemplos de recursos ARNs que você pode especificar em uma política do IAM:
+ Instância ARN

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:111122223333:instance/i-1234567890abcdef0"
  ```
+ Exemplo de curinga (\$1) para especificar todas as instâncias de uma determinada conta

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:111122223333:instance/*"
  ```
+ Exemplo de caractere curinga (\$1) para especificar todas as versões de um fluxo de trabalho de imagem gerenciada

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:aws:workflow/build/build-image/*"
  ```
+ ARN de imagem gerenciada

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:aws:image/amazon-linux-2-arm64/2024.12.17/1"
  ```
+ Exemplo de curinga (\$1) para especificar todas as versões de uma imagem gerenciada

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:aws:image/amazon-linux-2-arm64/x.x.x"
  ```

Muitas ações da API do EC2 Image Builder envolvem vários recursos. Para especificar vários recursos em uma única instrução, separe-os ARNs com vírgulas. 

```
"Resource": [
	  "resource1",
	  "resource2"
]
```

### Chaves de condição
<a name="sec-iam-ib-id-based-policies-conditionkeys"></a>

O Image Builder fornece chaves de condições específicas ao serviço e é compatível com o uso de algumas chaves de condição globais. Para ver todas as chaves de condição AWS globais, consulte [Chaves de contexto de condição AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*. A seguintes chaves de condição específicas ao serviço são fornecidas.

#### construtor de imagens: CreatedResourceTagKeys
<a name="image-builder-security-createdresourcetagkeys"></a>

Funciona com [operadores de string](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Use esta chave para filtrar acesso por presença de chaves de tag na solicitação. Isso permite gerenciar os recursos que o Image Builder cria.

**Disponibilidade** — Essa chave está disponível somente para `CreateInfrastrucutreConfiguration` `UpdateInfrastructureConfiguration` APIs e.

#### construtor de imagens:/CreatedResourceTag<key>
<a name="image-builder-security-createdresourcetag"></a>

Funciona com [operadores de string](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Use esta chave para filtrar o acesso por pares de chave-valor da etiqueta anexados ao recurso criado pelo Image Builder. Isso permite gerenciar os recursos do Image Builder por meio de tags definidas.

**Disponibilidade** — Essa chave está disponível somente para `CreateInfrastrucutreConfiguration` `UpdateInfrastructureConfiguration` APIs e.

#### construtor de imagens: LifecyclePolicyResourceType
<a name="image-builder-security-lifecyclepolicyresourcetype"></a>

Funciona com [operadores de string](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Use essa chave para filtrar o acesso pelo tipo de recurso do ciclo de vida especificado na solicitação.

O valor dessa chave pode ser `AMI_IMAGE` ou`CONTAINER_IMAGE`.

**Disponibilidade** — Essa chave está disponível somente para `CreateLifecyclePolicy` `UpdateLifecyclePolicy` APIs e.

#### Construtor de imagens: EC2 MetadataHttpTokens
<a name="image-builder-security-ec2metadatatokens"></a>

Funciona com [operadores de string](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Use esta chave para filtrar o acesso pelo Requisito de token HTTP de metadados de instâncias do EC2 especificado na solicitação.

Esse valor para essa chave pode ser `optional` ou`required`.

**Disponibilidade** — Essa chave está disponível somente para `CreateInfrastrucutreConfiguration` `UpdateInfrastructureConfiguration` APIs e.

#### construtor de imagens: StatusTopicArn
<a name="image-builder-security-statustopicarn"></a>

Funciona com [operadores de string](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Use esta chave para filtrar o acesso pelo ARN do tópico do SNS na solicitação na qual as notificações de estado do terminal serão publicadas.

**Disponibilidade** — Essa chave está disponível somente para `CreateInfrastrucutreConfiguration` `UpdateInfrastructureConfiguration` APIs e.

### Exemplos
<a name="sec-iam-ib-id-based-policies-examples"></a>



Para visualizar exemplos de políticas baseadas em identidade do Image Builder, consulte [Políticas baseadas em identidade do Image Builder](security-iam-identity-based-policies.md).

## Políticas baseadas em recursos do Image Builder
<a name="security-iam-service-with-ib-resource-based-policies"></a>

As políticas baseadas em recursos especificam quais ações uma entidade principal específica pode executar no recurso do Image Builder e sob quais condições. O Image Builder oferece suporte a políticas de permissões baseadas em recursos para componentes, imagens e fórmulas de imagens. As políticas baseadas em recursos permitem conceder permissão de uso a outras contas especificada por recurso. Você também pode usar uma política baseada em recursos para permitir que um AWS serviço acesse seus componentes, imagens e receitas de imagens.

Para obter informações sobre como anexar uma política baseada em recursos a um componente, uma imagem ou uma fórmula de imagem, consulte [Compartilhe recursos do Image Builder com AWS RAM](manage-shared-resources.md).

**nota**  
Quando você atualiza uma política de recursos usando o Image Builder, a atualização aparecerá no console da RAM.

## Autorização baseada em tags do construtor de imagens do construtor
<a name="security-iam-service-with-ib-tags"></a>

Você pode anexar tags a recursos do Image Builder ou passar tags em uma solicitação ao Image Builder. Para controlar o acesso baseado em tags, forneça informações sobre as tags no [elemento de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de uma política usando as `imagebuilder:ResourceTag/key-name`, `aws:RequestTag/key-name` ou chaves de condição `aws:TagKeys`. Para obter mais informações sobre marcação de recursos no Image Builder, consulte [Marque um recurso do AWS CLI](tag-resources.md#cli-tag-resource).

## Funções do IAM do construtor de imagens
<a name="security-iam-service-with-ib-roles"></a>

Uma [função do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) é uma entidade dentro da sua Conta da AWS que tem permissões específicas.

### Usar credenciais temporárias com o Image Builder
<a name="security-iam-service-with-ib-roles-tempcreds"></a>

É possível usar credenciais temporárias para fazer login com federação, assumir um perfil do IAM ou assumir um perfil entre contas. Você obtém credenciais de segurança temporárias chamando operações de AWS STS API, como [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)ou [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

### Perfis vinculados ao serviço
<a name="sec-iam-ib-service-linked-roles"></a>

[As funções vinculadas ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) permitem Serviços da AWS acessar recursos em outros serviços para concluir uma ação em seu nome. Os perfis vinculados a serviço aparecem em sua conta do IAM e são de propriedade do serviço. Um usuário com acesso administrativo pode visualizar, mas não pode editar as permissões para funções vinculadas ao serviço.

O Image Builder é compatível com funções vinculadas ao serviço. Para obter informações sobre como criar ou gerenciar funções vinculadas ao serviço do Image Builder, consulte [Usar perfis do IAM vinculados ao serviço para o Image Builder](image-builder-service-linked-role.md).

### Perfis de serviço
<a name="sec-iam-ib-service-roles"></a>

Esse atributo permite que um serviço assuma um [perfil de serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) em seu nome. O perfil permite que o serviço acesse recursos em outros serviços para concluir uma ação em seu nome. Os perfis de serviço aparecem em sua conta do IAM e são de propriedade da conta. Isso significa que um usuário com acesso administrativo pode alterar as permissões para essa função. Porém, fazer isso pode alterar a funcionalidade do serviço.

# Gerencie perímetros de dados para acesso ao download do bucket S3 no Image Builder
<a name="security-iam-data-perimeter"></a>

O EC2 Image Builder mantém duas classes AWS de buckets S3 de propriedade do serviço que contêm os recursos disponíveis para download necessários para executar as cargas de trabalho do Image Builder em sua conta. Se você usa perímetros de dados para controlar o acesso ao Amazon S3 em seu ambiente, talvez seja necessário permitir explicitamente o acesso a esses buckets. Você pode usar o ARN do bucket ou o URL do bucket para permitir esses buckets, dependendo de como você controla o acesso ao Amazon S3.

**Scripts de inicialização do gerenciamento de componentes (obrigatório)**  
Esse bucket do S3 contém scripts de inicialização para configurar o AWSTOE aplicativo nas instâncias do EC2 que são usadas para criar imagens. O Image Builder requer acesso para baixar os scripts para apoiar a criação e o teste de novas imagens.  
+ **ARN do bucket S3:** `arn:<AWS partition>:s3:::ec2imagebuilder-managed-resources-<AWS Region>-prod`
+ **URL do bucket S3:** `https://ec2imagebuilder-managed-resources-<AWS Region>.s3.<AWS Region>.<AWS partition-specific domain name>`

**Componentes gerenciados**  
Esse bucket do S3 contém cargas úteis de pacotes para componentes gerenciados pela Amazon. O Image Builder requer acesso para baixar quaisquer componentes gerenciados que estejam configurados em suas receitas.  
+ **ARN do bucket S3:** `arn:<AWS partition>:s3:::ec2imagebuilder-toe-<AWS Region>-prod`
+ **URL do bucket S3:** `https://ec2imagebuilder-toe-<AWS Region>.s3.<AWS Region>.<AWS partition-specific domain name>`

# Políticas baseadas em identidade do Image Builder
<a name="security-iam-identity-based-policies"></a>

**Topics**
+ [Melhores práticas de política baseada em identidade](#security-iam-service-policy-best-practices)
+ [Usando o console Image Builder](#sec-iam-id-based-policies-using-console)

## Melhores práticas de política baseada em identidade
<a name="security-iam-service-policy-best-practices"></a>

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Image Builder em sua conta. Essas ações podem gerar custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
+ **Comece com as políticas AWS gerenciadas e avance para as permissões de privilégios mínimos — Para começar a conceder permissões** aos seus usuários e cargas de trabalho, use as *políticas AWS gerenciadas* que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis no seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo AWS cliente que sejam específicas para seus casos de uso. Para saber mais, consulte [Políticas gerenciadas pela AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [Políticas gerenciadas pela AWS para funções de trabalho](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) no *Guia do usuário do IAM*.
+ **Aplique permissões de privilégio mínimo**: ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em recursos específicos sob condições específicas, também conhecidas como *permissões de privilégio mínimo*. Para saber mais sobre como usar o IAM para aplicar permissões, consulte [Políticas e permissões no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) no *Guia do usuário do IAM*.
+ **Use condições nas políticas do IAM para restringir ainda mais o acesso**: é possível adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, é possível escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso às ações de serviço se elas forem usadas por meio de uma ação específica AWS service (Serviço da AWS), como CloudFormation. Para saber mais, consulte [Elementos da política JSON do IAM: condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) no *Guia do usuário do IAM*.
+ **Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais**: o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de cem verificações de política e recomendações práticas para ajudar a criar políticas seguras e funcionais. Para saber mais, consulte [Validação de políticas do IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) no *Guia do Usuário do IAM*.
+ **Exigir autenticação multifator (MFA**) — Se você tiver um cenário que exija usuários do IAM ou um usuário root, ative Conta da AWS a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para saber mais, consulte [Configuração de acesso à API protegido por MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) no *Guia do Usuário do IAM*.

Para saber mais sobre as práticas recomendadas do IAM, consulte [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.

## Usando o console Image Builder
<a name="sec-iam-id-based-policies-using-console"></a>

Para acessar o console do EC2 Image Builder, você deve ter um conjunto mínimo de permissões. Essas permissões devem autorizar você a listar e visualizar detalhes sobre os recursos do Image Builder na sua Conta da AWS. Se você criar uma política baseada em identidade que seja mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou perfis do IAM) com essa política.

Para garantir que suas entidades do IAM possam usar o console do Image Builder, você deve anexar uma das seguintes políticas AWS gerenciadas a elas:
+ [Política AWSImageBuilderReadOnlyAccess](security-iam-awsmanpol.md#sec-iam-manpol-AWSImageBuilderReadOnlyAccess)
+ [Política AWSImageBuilderFullAccess](security-iam-awsmanpol.md#sec-iam-manpol-AWSImageBuilderFullAccess)

Para obter mais informações sobre políticas gerenciadas pelo Image Builder, consulte [Use políticas AWS gerenciadas para o EC2 Image Builder](security-iam-awsmanpol.md).

**Importante**  
A **AWSImageBuilderFullAccess**política é necessária para criar a função vinculada ao serviço do Image Builder. Ao anexar essa política a uma entidade do IAM, você também deve anexar a seguinte política personalizada e incluir os recursos que deseja usar e que não têm `imagebuilder` no nome do recurso:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": "arn:aws:sns:*:*:*imagebuilder*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetInstanceProfile"
            ],
            "Resource": "arn:aws:iam::*:instance-profile/*imagebuilder*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::*:instance-profile/*imagebuilder*",
                "arn:aws:iam::*:role/*imagebuilder*"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ec2.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3::*:*imagebuilder*"
        }
    ]
}
```

------

Você não precisa permitir permissões mínimas do console para usuários que estão fazendo chamadas somente para a API AWS CLI ou para a AWS API. Em vez disso, permita o acesso somente às ações que corresponderem a operação da API que você estiver tentando executar.

## Permissões do IAM para fluxos de trabalho personalizados
<a name="security-iam-custom-workflows"></a>

Ao usar fluxos de trabalho personalizados com ações de etapas específicas[RegisterImage](wfdoc-step-actions.md#wfdoc-step-action-register-image), como permissões adicionais do IAM, podem ser necessárias além das políticas gerenciadas padrão do Image Builder. Esta seção descreve as permissões adicionais necessárias para ações personalizadas das etapas do fluxo de trabalho.

### RegisterImage permissões de ação de etapa
<a name="security-iam-registerimage-permissions"></a>

A ação da `RegisterImage` etapa exige permissões específicas do Amazon EC2 para registrar AMIs e, opcionalmente, recuperar tags de snapshot. Ao usar o `includeSnapshotTags` parâmetro, são necessárias permissões adicionais para descrever os instantâneos.

**Permissões necessárias para a ação da RegisterImage etapa:**

Para todos os recursos, permita as seguintes ações:
+ `ec2:RegisterImage`
+ `ec2:DescribeSnapshots`

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:RegisterImage",
                "ec2:DescribeSnapshots"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:*::image/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "RegisterImage"
                }
            }
        }
    ]
}
```

**Detalhes da permissão:**
+ `ec2:RegisterImage`- Necessário para registrar novos a AMIs partir de instantâneos
+ `ec2:DescribeSnapshots`- Obrigatório ao usar `includeSnapshotTags: true` para recuperar tags de instantâneo para mesclagem com tags AMI
+ `ec2:CreateTags`- Obrigatório para aplicar tags à AMI registrada, incluindo as tags padrão do Image Builder e as tags de snapshot mescladas

**nota**  
A `ec2:DescribeSnapshots` permissão só é usada quando o `includeSnapshotTags` parâmetro é definido como`true`. Se você não usar esse recurso, poderá omitir essa permissão.

**Comportamento de mesclagem de tags:**

Quando `includeSnapshotTags` estiver ativada, a ação da RegisterImage etapa:
+ Recupere as tags do primeiro instantâneo especificado no mapeamento do dispositivo de bloco
+ Exclua todas as tags AWS reservadas (aquelas com chaves começando com “aws:”)
+ Mescle tags de snapshot com as tags de registro de AMI padrão do Image Builder
+ Dê precedência às tags do Image Builder quando as chaves de tag entrarem em conflito

## Políticas baseadas em recursos do Image Builder
<a name="security-iam-resource-based-policies"></a>

Para informações sobre como criar um componente, consulte [Usar componentes para personalizar sua imagem do Image Builder](manage-components.md).

### Restringir o acesso do componente do construtor de imagens a endereços IP específicos
<a name="sec-iam-resourcepol-restrict-component-by-ip"></a>

O exemplo a seguir concede permissões a qualquer usuário para executar qualquer operação do Image Builder em componentes. No entanto, a solicitação deve se originar no intervalo de endereços IP especificados na condição.

A condição nesta declaração identifica o intervalo 54.240.143.\$1 de endereços IP permitidos do Protocolo de Internet versão 4 (IPv4), com uma exceção: 54.240.143.188.

O `Condition` bloco usa as `NotIpAddress` condições `IpAddress` e e a chave de `aws:SourceIp` condição, que é uma chave AWS de condição ampla. Para obter mais informações sobre essas chaves de condições, consulte [Especificar condições em uma política](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html). Os `aws:sourceIp` IPv4 valores usam a notação CIDR padrão. Para obter mais informações, consulte [Operadores de condição de endereço IP](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IPAddress) no *Guia do usuário do IAM*.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "IBPolicyId1",
  "Statement": [
    {
      "Sid": "IPAllow",
      "Effect": "Allow",
      "Action": "imagebuilder:GetComponent",
      "Resource": "arn:aws:imagebuilder:*::examplecomponent/*",
      "Condition": {
         "IpAddress": {"aws:SourceIp": "54.240.143.0/24"},
         "NotIpAddress": {"aws:SourceIp": "54.240.143.188/32"} 
      } 
    } 
  ]
}
```

------

# Use políticas AWS gerenciadas para o EC2 Image Builder
<a name="security-iam-awsmanpol"></a>

Uma política AWS gerenciada é uma política autônoma criada e administrada por AWS. AWS as políticas gerenciadas são projetadas para fornecer permissões para muitos casos de uso comuns, para que você possa começar a atribuir permissões a usuários, grupos e funções.

Lembre-se de que as políticas AWS gerenciadas podem não conceder permissões de privilégio mínimo para seus casos de uso específicos porque estão disponíveis para uso de todos os AWS clientes. Recomendamos que você reduza ainda mais as permissões definindo as [ políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) que são específicas para seus casos de uso.

Você não pode alterar as permissões definidas nas políticas AWS gerenciadas. Se AWS atualizar as permissões definidas em uma política AWS gerenciada, a atualização afetará todas as identidades principais (usuários, grupos e funções) às quais a política está anexada. AWS é mais provável que atualize uma política AWS gerenciada quando uma nova AWS service (Serviço da AWS) é lançada ou novas operações de API são disponibilizadas para serviços existentes.

Para saber mais, consulte [AWS Políticas gerenciadas pela ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) no *Guia do usuário do IAM*.

## Política AWSImageBuilderFullAccess
<a name="sec-iam-manpol-AWSImageBuilderFullAccess"></a>

A política **AWSImageBuilderFullAccess** concede acesso total aos recursos do Image Builder para a função à qual está associada, permitindo que a função liste, descreva, crie, atualize e exclua recursos do Image Builder. A política também concede permissões direcionadas aos relacionados Serviços da AWS que são necessários, por exemplo, para verificar recursos ou exibir os recursos atuais da conta no Console de gerenciamento da AWS.

### Detalhes das permissões
<a name="sec-iam-manpol-AWSImageBuilderFullAccess-details"></a>

Esta política inclui as seguintes permissões:
+ **Image Builder**: o acesso administrativo é concedido para que a função possa listar, descrever, criar, atualizar e excluir recursos do Image Builder.
+ **Amazon EC2**: o acesso é concedido para o Amazon EC2 descrever as ações que são necessárias para verificar a existência de recursos ou obter listas de recursos pertencentes à conta.
+ **IAM**: o acesso é concedido para obter e usar perfis de instância cujo nome contém “imagebuilder”, para verificar a existência da função vinculada ao serviço Image Builder por meio da ação de API `iam:GetRole` e para criar a função vinculada ao serviço Image Builder.
+ **License Manager**: o acesso é concedido para listar as configurações de licenças ou licenças de um recurso.
+ **Amazon S3**: o acesso é concedido aos buckets da lista pertencentes à conta e também aos buckets do Image Builder com “imagebuilder” em seus nomes. 
+ **Amazon SNS**: permissões de gravação são concedidas ao Amazon SNS para verificar a propriedade dos tópicos que contêm “imagebuilder”.

Para visualizar as permissões para esta política, consulte [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSImageBuilderFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSImageBuilderFullAccess.html) na *Referência de políticas gerenciadas pela AWS *.

## Política AWSImageBuilderReadOnlyAccess
<a name="sec-iam-manpol-AWSImageBuilderReadOnlyAccess"></a>

A política do **AWSImageBuilderReadOnlyAccess** concede acesso de somente leitura a todos os recursos do Image Builder. As permissões são concedidas para verificar se a função vinculada ao serviço Image Builder existe por meio da ação da API `iam:GetRole`.

### Detalhes das permissões
<a name="sec-iam-manpol-AWSImageBuilderReadOnlyAccess-details"></a>

Esta política inclui as seguintes permissões:
+ **Image Builder**: o acesso é concedido de somente leitura aos recursos do Image Builder.
+ **IAM**: o acesso é concedido para verificar a existência da função vinculada ao serviço Image Builder por meio da ação da API `iam:GetRole`.

Para visualizar as permissões para esta política, consulte [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSImageBuilderReadOnlyAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSImageBuilderReadOnlyAccess.html) na *Referência de políticas gerenciadas pela AWS *.

## Política AWSServiceRoleForImageBuilder
<a name="sec-iam-manpol-AWSServiceRoleForImageBuilder"></a>

A **AWSServiceRoleForImageBuilder**política permite que o Image Builder ligue Serviços da AWS em seu nome.

### Detalhes das permissões
<a name="sec-iam-manpol-AWSServiceRoleForImageBuilder-details"></a>

Esta política é anexada à função vinculada ao serviço Image Builder quando a função é criada por meio do Systems Manager. Para obter mais informações sobre a função vinculada ao serviço do Image Builder, consulte [Usar perfis do IAM vinculados ao serviço para o Image Builder](image-builder-service-linked-role.md).

A política inclui as seguintes permissões:
+ **CloudWatch Registros** — O acesso é concedido para criar e carregar CloudWatch registros em qualquer grupo de registros cujo nome comece com`/aws/imagebuilder/`.
+ **Amazon EC2** — O acesso é concedido ao Image Builder para criar, tirar instantâneos e registrar imagens (AMIs) que ele cria e executar instâncias EC2 em sua conta. O Image Builder usa instantâneos, volumes, interfaces de rede, sub-redes, grupos de segurança, configuração de licenças e pares de chaves relacionados conforme necessário, desde que a imagem, a instância e os volumes que estão sendo criados ou usados estejam marcados com ou. `CreatedBy: EC2 Image Builder` `CreatedBy: EC2 Fast Launch`

  O Image Builder pode obter informações sobre imagens do Amazon EC2, atributos da instância, status da instância, os tipos de instância que estão disponíveis para sua conta, modelos de inicialização, sub-redes, hosts e tags em seus recursos do Amazon EC2.

  O Image Builder pode atualizar as configurações de imagem para ativar ou desativar o lançamento mais rápido de instâncias do Windows em sua conta, onde a imagem está marcada com `CreatedBy: EC2 Image Builder`.

  Além disso, o Image Builder pode iniciar, interromper e encerrar instâncias em execução na sua conta, compartilhar snapshots do Amazon EBS, criar e atualizar imagens e executar modelos, cancelar o registro de imagens existentes, adicionar tags e replicar imagens em contas às quais você concedeu permissões por meio da política **Ec2ImageBuilderCrossAccountDistributionAccess**. A marcação do Image Builder é necessária para todas essas ações, conforme descrito anteriormente.
+ **Amazon ECR**: o acesso é concedido ao Image Builder para criar um repositório, se necessário, para escanear vulnerabilidades de imagens de contêiner e marcar os recursos que ele cria para limitar o escopo de suas operações. O acesso também é concedido ao Image Builder para excluir as imagens de contêiner que ele criou para as digitalizações depois de tirar snapshots das vulnerabilidades.
+ **EventBridge**— O acesso é concedido ao Image Builder para criar e gerenciar EventBridge regras.
+ **IAM**: o acesso é concedido para que o Image Builder passe qualquer função em sua conta para o Amazon EC2 e para o VM Import/Export.
+ **Amazon Inspector**: o acesso é concedido ao Image Builder para determinar quando o Amazon Inspector conclui as varreduras de instâncias de compilação e para coletar descobertas de imagens que estão configuradas para permitir isso.
+ **AWS KMS**: o acesso é concedido ao Amazon EBS para criptografar, descriptografar ou recriptografar volumes do Amazon EBS. Isso é crucial para garantir que os volumes criptografados funcionem quando o Image Builder cria uma imagem.
+ **License Manager**: o acesso é concedido ao Image Builder para atualizar as especificações do License Manager via `license-manager:UpdateLicenseSpecificationsForResource`.
+ **Amazon SNS**: as permissões de gravação são concedidas para qualquer tópico do Amazon SNS na sua conta.
+ **Systems Manager**: o acesso é concedido ao Image Builder para listar os comandos do Systems Manager e as respectivas invocações e entradas de inventário, descrever informações de instância e status de execução de automação, descrever hosts para suporte ao posicionamento de instâncias e obter detalhes de invocação de comandos. O Image Builder também pode enviar sinais de automação e interromper as execuções de automação para qualquer recurso em sua conta.

  O Image Builder é capaz de emitir invocações de comando de execução para qualquer instância que esteja com a tag `"CreatedBy": "EC2 Image Builder"` para os seguintes arquivos de script: `AWS-RunPowerShellScript`, `AWS-RunShellScript` ou `AWSEC2-RunSysprep`. O Image Builder é capaz de iniciar uma execução de automação do Systems Manager em sua conta para documentos de automação em que o nome começa com `ImageBuilder`.

  O Image Builder também pode criar ou excluir associações do State Manager para qualquer instância em sua conta, desde que o documento de associação seja `AWS-GatherSoftwareInventory`. Além disso, pode criar a função vinculada ao serviço Systems Manager em sua conta.

  O Image Builder é capaz de ler parâmetros públicos do Parameter Store e ler e atualizar parâmetros privados prefixados com `/imagebuilder/` para que ele possa atualizar o valor do parâmetro com a AMI de saída IDs que o Image Builder cria a partir de uma nova compilação.
+ **AWS STS**: o acesso é concedido para que o Image Builder assuma funções nomeadas **EC2ImageBuilderDistributionCrossAccountRole** de sua conta em qualquer conta em que a política de confiança da função permita. Isso é usado para distribuição de imagens entre contas.

Para visualizar as permissões para esta política, consulte [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSServiceRoleForImageBuilder.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSServiceRoleForImageBuilder.html) na *Referência de políticas gerenciadas pela AWS *.

## Política Ec2ImageBuilderCrossAccountDistributionAccess
<a name="sec-iam-manpol-Ec2ImageBuilderCrossAccountDistributionAccess"></a>

A política do **Ec2ImageBuilderCrossAccountDistributionAccess** concede permissões para o Image Builder distribuir imagens entre contas nas regiões de destino. Além disso, o Image Builder pode descrever, copiar e aplicar tags a qualquer imagem do Amazon EC2 na conta. A política também concede a capacidade de modificar as permissões da AMI por meio da ação da API `ec2:ModifyImageAttribute`.

### Detalhes das permissões
<a name="sec-iam-manpol-Ec2ImageBuilderCrossAccountDistributionAccess-details"></a>

Esta política inclui as seguintes permissões:
+ **Amazon EC2**: o acesso é concedido ao Amazon EC2 para descrever, copiar e modificar atributos de uma imagem e criar tags para qualquer imagem do Amazon EC2 na conta.

Para visualizar as permissões para esta política, consulte [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2ImageBuilderCrossAccountDistributionAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2ImageBuilderCrossAccountDistributionAccess.html) na *Referência de políticas gerenciadas pela AWS *.

## Política EC2ImageBuilderLifecycleExecutionPolicy
<a name="sec-iam-manpol-EC2ImageBuilderLifecycleExecutionPolicy"></a>

A **EC2ImageBuilderLifecycleExecutionPolicy**política concede permissões para que o Image Builder execute ações como descontinuar, desativar ou excluir recursos de imagem do Image Builder e seus recursos subjacentes (AMIsinstantâneos) para dar suporte a regras automatizadas para tarefas de gerenciamento do ciclo de vida de imagens.

### Detalhes das permissões
<a name="sec-iam-manpol-EC2ImageBuilderLifecycleExecutionPolicy-details"></a>

Esta política inclui as seguintes permissões:
+ **Amazon EC2** — O acesso é concedido ao Amazon EC2 para realizar as seguintes ações para Amazon Machine Images AMIs () na conta que está marcada com. `CreatedBy: EC2 Image Builder`
  + Habilite e desabilite uma AMI.
  + Habilite e desabilite a descontinuação de imagens.
  + Descreva e cancele o registro de uma AMI.
  + Descreva e modifique os atributos da imagem de AMI.
  + Exclua os snapshots de volume associados à AMI.
  + Recupere as tags para um recurso.
  + Adicionar ou remover tags de uma AMI para descontinuação.
+ **Amazon ECR**: o acesso é concedido ao Amazon ECR para realizar as seguintes ações em lote nos repositórios dp ECR com a tag `LifecycleExecutionAccess: EC2 Image Builder`. As ações em lote são compatíveis com regras automatizadas de ciclo de vida de imagens de contêineres.
  + `ecr:BatchGetImage`
  + `ecr:BatchDeleteImage`

  O acesso é concedido no nível do repositório para repositórios do ECR marcados com `LifecycleExecutionAccess: EC2 Image Builder`.
+ **AWS Grupos de recursos** — O acesso é concedido ao Image Builder para obter recursos com base em tags.
+ **EC2 Image Builder**: o acesso é concedido ao Image Builder para excluir recursos de imagem do Image Builder.

Para visualizar as permissões para esta política, consulte [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2ImageBuilderLifecycleExecutionPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2ImageBuilderLifecycleExecutionPolicy.html) na *Referência de políticas gerenciadas pela AWS *.

## Política EC2InstanceProfileForImageBuilder
<a name="sec-iam-manpol-EC2InstanceProfileForImageBuilder"></a>

A política do **EC2InstanceProfileForImageBuilder** concede as permissões mínimas necessárias para que uma instância do EC2 funcione com o Image Builder. Isso não inclui as permissões necessárias para usar o Systems Manager Agent.

### Detalhes das permissões
<a name="sec-iam-manpol-EC2InstanceProfileForImageBuilder-details"></a>

Esta política inclui as seguintes permissões:
+ **CloudWatch Registros** — O acesso é concedido para criar e carregar CloudWatch registros em qualquer grupo de registros cujo nome comece com`/aws/imagebuilder/`.
+ **Amazon EC2** — O acesso é concedido para descrever volumes e instantâneos, criar instantâneos de recursos de volume ou instantâneos criados pelo Image Builder e criar tags para recursos do Image Builder.
+ **Image Builder** — O acesso é concedido para obter qualquer Image Builder ou AWS Marketplace componente.
+ **AWS KMS**— O acesso é concedido para descriptografar um componente do Image Builder, se ele tiver sido criptografado via. AWS KMS
+ **Amazon S3** — O acesso é concedido para obter objetos armazenados em um bucket do Amazon S3 cujo nome comece `ec2imagebuilder-` com, ou recursos que tenham uma extensão de arquivo ISO.

Para visualizar as permissões para esta política, consulte [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceProfileForImageBuilder.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceProfileForImageBuilder.html) na *Referência de políticas gerenciadas pela AWS *.

## Política EC2InstanceProfileForImageBuilderECRContainerBuilds
<a name="sec-iam-manpol-EC2InstanceProfileForImageBuilderECRContainerBuilds"></a>

A política do **EC2InstanceProfileForImageBuilderECRContainerBuilds** concede as permissões mínimas necessárias para uma instância do EC2 ao trabalhar com o Image Builder para criar imagens do Docker e, em seguida, registrar e armazenar as imagens em um repositório de contêiner do Amazon ECR. Isso não inclui as permissões necessárias para usar o Systems Manager Agent.

### Detalhes das permissões
<a name="sec-iam-manpol-EC2InstanceProfileForImageBuilderECRContainerBuilds-details"></a>

Esta política inclui as seguintes permissões:
+ **CloudWatch Registros** — O acesso é concedido para criar e carregar CloudWatch registros em qualquer grupo de registros cujo nome comece com`/aws/imagebuilder/`.
+ **Amazon ECR**: o acesso é concedido ao Amazon ECR para obter, registrar e armazenar uma imagem de contêiner e obter um token de autorização.
+ **Image Builder**: o acesso é concedido para obter um componente ou fórmula de contêiner do Image Builder.
+ **AWS KMS**— O acesso é concedido para descriptografar um componente ou uma receita de contêiner do Image Builder, se ele tiver sido criptografado via. AWS KMS
+ **Amazon S3**: o acesso é concedido para obter objetos armazenados em um bucket do Amazon S3 cujo nome começa com `ec2imagebuilder-`.

Para visualizar as permissões para esta política, consulte [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceProfileForImageBuilderECRContainerBuilds.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceProfileForImageBuilderECRContainerBuilds.html) na *Referência de políticas gerenciadas pela AWS *.

## Atualizações do Image Builder para políticas AWS gerenciadas
<a name="security-iam-awsmanpol-updates"></a>

Esta seção fornece informações sobre atualizações nas políticas AWS gerenciadas do Image Builder desde que esse serviço começou a rastrear essas alterações. Para receber alertas automáticos sobre alterações realizadas nesta página, inscreva-se no feed RSS na página [Histórico de documentos](doc-history.md) do Image Builder.




| Alteração | Descrição | Data | 
| --- | --- | --- | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder): atualizar para uma política existente  |  O Image Builder fez as alterações a seguir no perfil de serviço: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 26 de fevereiro de 2026 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – atualização para uma política existente  |  O Image Builder fez as seguintes alterações na função de serviço para oferecer suporte ao uso dos parâmetros de armazenamento de parâmetros AWS Systems Manager (SSM) em receitas e durante a distribuição de imagens. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 23 de julho de 2025 | 
|  [EC2InstanceProfileForImageBuilder](#sec-iam-manpol-EC2InstanceProfileForImageBuilder) – atualização para uma política existente  |  O Image Builder fez as seguintes alterações na política de perfil da instância para oferecer suporte a mais extensões de arquivo para downloads de arquivos ISO. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 19 de maio de 2025 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – atualização para uma política existente  |  O Image Builder fez as seguintes alterações na função de serviço para oferecer suporte à importação de arquivos ISO do sistema operacional cliente Microsoft como imagem base. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 30 de dezembro de 2024 | 
|  [EC2InstanceProfileForImageBuilder](#sec-iam-manpol-EC2InstanceProfileForImageBuilder) – atualização para uma política existente  |  O Image Builder fez as seguintes alterações na política de perfil da instância para oferecer suporte à criação de imagens a partir de arquivos de imagem de disco. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 30 de dezembro de 2024 | 
|  [EC2InstanceProfileForImageBuilder](#sec-iam-manpol-EC2InstanceProfileForImageBuilder): política atualizada  |  O Image Builder atualizou a `EC2InstanceProfileForImageBuilder` política para permitir que o Image Builder obtenha AWS Marketplace componentes.  | 2 de dezembro de 2024 | 
|  [EC2ImageBuilderLifecycleExecutionPolicy](#sec-iam-manpol-EC2ImageBuilderLifecycleExecutionPolicy) – Nova política  |  O Image Builder adicionou a nova política `EC2ImageBuilderLifecycleExecutionPolicy` que contém permissões para o gerenciamento do ciclo de vida de imagem.  | 17 de novembro de 2023 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – atualização para uma política existente  |  O Image Builder fez as alterações a seguir no perfil de serviço para oferecer compatibilidade com o posicionamento de instâncias. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 19 de outubro de 2023 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – atualização para uma política existente  |  O Image Builder fez as alterações a seguir no perfil de serviço para oferecer compatibilidade com o posicionamento de instâncias. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 28 de setembro de 2023 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – atualização para uma política existente  |  O Image Builder fez as seguintes alterações no perfil de serviço para permitir que os fluxos de trabalho do Image Builder coletassem descobertas de vulnerabilidade para compilações de imagens de contêiner AMI e ECR. As novas permissões são compatíveis com o atributo de detecção e geração de relatórios do CVE. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 30 de março de 2023 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – atualização para uma política existente  |  O Image Builder fez as alterações a seguir no perfil de serviço: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 22 de março de 2022 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – atualização para uma política existente  |  O Image Builder fez as alterações a seguir no perfil de serviço: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 21 de fevereiro de 2022 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – atualização para uma política existente  |  O Image Builder fez as alterações a seguir no perfil de serviço: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 20 de novembro de 2021 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – atualização para uma política existente  |  O Image Builder adicionou novas permissões para corrigir problemas em que mais de uma associação de inventário faz com que a criação da imagem fique paralisada.  | 11 de agosto de 2021 | 
|  [AWSImageBuilderFullAccess](#sec-iam-manpol-AWSImageBuilderFullAccess) – atualização para uma política existente  |  O Image Builder fez as alterações a seguir no perfil de acesso total: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 13 de abril de 2021 | 
|  O Image Builder começou a monitorar alterações  |  O Image Builder começou a monitorar as mudanças em suas políticas AWS gerenciadas.  | 02 de abril de 2021 | 

# Usar perfis do IAM vinculados ao serviço para o Image Builder
<a name="image-builder-service-linked-role"></a>

O EC2 Image Builder AWS Identity and Access Management usa funções vinculadas a [serviços (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role). Um perfil vinculado ao serviço é um tipo exclusivo de perfil do IAM que é vinculado diretamente ao Image Builder. As funções vinculadas ao serviço são predefinidas pelo Image Builder e incluem todas as permissões que o serviço exige para ligar para outras pessoas Serviços da AWS em seu nome. 

Um perfil vinculado ao serviço torna a configuração do Image Builder mais eficiente, porque você não precisa adicionar as permissões necessárias manualmente. O Image Builder define as permissões de seus perfis vinculados ao serviço e, exceto se definido de outra forma, somente o Image Builder pode assumir seus perfis. As permissões definidas incluem a política de confiança e a política de permissões. A política de permissões não pode ser anexada a nenhuma outra entidade do IAM. 

Para obter informações sobre outros serviços que são compatíveis com os perfis vinculados ao serviço, consulte [Serviços da AWS Compatíveis com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) e procure os serviços que contêm **Sim** na coluna **Perfil vinculado ao serviço**. Escolha um **Sim** com um link para visualizar a documentação do perfil vinculado para esse serviço.

## Permissões de perfil vinculado ao serviço para o Image Builder
<a name="image-builder-slr-permissions"></a>

O Image Builder usa a função **AWSServiceRoleForImageBuilder**vinculada ao serviço para permitir que o EC2 Image Builder acesse AWS recursos em seu nome. O perfil vinculado ao serviço confia no serviço *imagebuilder.amazonaws.com* para assumir o perfil.

Você não precisa criar manualmente esse perfil vinculado ao serviço. Quando você cria sua primeira imagem do Image Builder no AWS Management Console, ou na AWS API AWS CLI, o Image Builder cria a função vinculada ao serviço para você.

As ações a seguir criam uma nova imagem:
+ Execute o assistente de pipeline no console do Image Builder para criar uma imagem personalizada.
+ Use uma das ações de API a seguir ou o AWS CLI comando correspondente:
  + A ação **[CreateImage](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateImage.html)** da API (**[create-image](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-image.html)**no AWS CLI).
  + A ação **[ImportVmImage](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_ImportVmImage.html)** da API (**[import-vm-image](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/import-vm-image.html)**no AWS CLI).
  + A ação **[StartImagePipelineExecution](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_StartImagePipelineExecution.html)** da API (**[start-image-pipeline-execution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/start-image-pipeline-execution.html)**no AWS CLI).

**Importante**  
Se o perfil vinculado ao serviço for excluído da sua conta, você poderá usar o mesmo processo para criá-lo novamente. Quando você cria seu primeiro recurso EC2 Image Builder, o Image Builder cria um perfil vinculado ao serviço para você novamente.

Para ver as permissões do **AWSServiceRoleForImageBuilder**, consulte a página [Política AWSServiceRoleForImageBuilder](security-iam-awsmanpol.md#sec-iam-manpol-AWSServiceRoleForImageBuilder). Para saber mais sobre como configurar permissões para um perfil vinculado ao serviço, consulte [Permissões do perfil vinculado ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) no *Guia do usuário do IAM*.

## Remover um perfil vinculado ao serviço do Image Builder da sua conta
<a name="image-builder-slr-deleting"></a>

Você pode usar o console do IAM AWS CLI, o ou a AWS API para remover manualmente a função vinculada ao serviço do Image Builder da sua conta. No entanto, antes de fazer isso, você deve garantir que não haja recursos habilitados do Image Builder que se refiram a ele.

**nota**  
Se o serviço do Image Builder estiver usando o perfil quando você tenta excluir os recursos, a exclusão poderá falhar. Se isso acontecer, espere alguns minutos e tente a operação novamente.

**Limpe os recursos do Image Builder usados pelo perfil `AWSServiceRoleForImageBuilder`**

1. Verifique se não há compilações de pipeline em execução antes de começar. Para cancelar uma compilação em execução, use o comando `cancel-image-creation` do AWS CLI.

   ```
   aws imagebuilder cancel-image-creation --image-build-version-arn arn:aws:imagebuilder:us-east-1:123456789012:image-pipeline/sample-pipeline
   ```

1. Altere todas as programações do pipeline para usar um processo de compilação manual ou as exclua se você não quiser usá-las novamente. Para obter mais informações sobre exclusão de recursos, consulte [Excluir recursos desatualizados ou não utilizados do Image Builder](delete-resources.md).

**Excluir o perfil vinculado a serviço usando o IAM**  
Você pode usar o console do IAM AWS CLI, o ou a AWS API para excluir a `AWSServiceRoleForImageBuilder` função da sua conta. Para obter mais informações, consulte [Excluir uma função vinculada ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) no *Guia do usuário do IAM*.

## Regiões compatíveis com os perfis vinculados ao serviço do Image Builder
<a name="image-builder-slr-regions"></a>

O Image Builder oferece suporte ao uso de funções vinculadas ao serviço em todas as AWS regiões em que o serviço está disponível. Para ver a lista de AWS regiões suportadas, consulte[AWS Regiões e endpoints](what-is-image-builder.md#image-builder-regions).

# Solucionar problemas do IAM no Image Builder
<a name="security_iam_troubleshoot"></a>

**Topics**
+ [Não tenho autorização para executar uma ação no Image Builder](#security_iam_troubleshoot-no-permissions)
+ [Não estou autorizado a realizar iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Quero permitir que pessoas de fora da minha acessem meus Conta da AWS recursos do Image Builder](#security_iam_troubleshoot-cross-account-access)

## Não tenho autorização para executar uma ação no Image Builder
<a name="security_iam_troubleshoot-no-permissions"></a>

Se você receber uma mensagem de erro informando que não tem autorização para executar uma ação, suas políticas deverão ser atualizadas para permitir que você realize a ação.

O erro do exemplo a seguir ocorre quando o usuário do IAM `mateojackson` tenta usar o console para visualizar detalhes sobre um atributo `my-example-widget` fictício, mas não tem as permissões `imagebuilder:GetWidget` fictícias.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: imagebuilder:GetWidget on resource: my-example-widget
```

Nesse caso, a política do usuário `mateojackson` deve ser atualizada para permitir o acesso ao recurso `my-example-widget` usando a ação `imagebuilder:GetWidget`.

Se precisar de ajuda, entre em contato com seu AWS administrador. Seu administrador é a pessoa que forneceu suas credenciais de login.

## Não estou autorizado a realizar iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Se você receber uma mensagem de erro informando que não tem autorização para executar a ação `iam:PassRole`, as suas políticas deverão ser atualizadas para permitir a passagem de um perfil para o Image Builder.

Alguns Serviços da AWS permitem que você passe uma função existente para esse serviço em vez de criar uma nova função de serviço ou uma função vinculada ao serviço. Para fazer isso, é preciso ter permissões para passar o perfil para o serviço.

O erro de exemplo a seguir ocorre quando uma usuária do IAM chamada `marymajor` tenta usar o console para executar uma ação no Image Builder. No entanto, a ação exige que o serviço tenha permissões concedidas por um perfil de serviço. Mary não tem permissões para passar o perfil para o serviço.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Nesse caso, as políticas de Mary devem ser atualizadas para permitir que ela realize a ação `iam:PassRole`.

Se precisar de ajuda, entre em contato com seu AWS administrador. Seu administrador é a pessoa que forneceu suas credenciais de login.

## Quero permitir que pessoas de fora da minha acessem meus Conta da AWS recursos do Image Builder
<a name="security_iam_troubleshoot-cross-account-access"></a>

É possível criar um perfil que os usuários de outras contas ou pessoas fora da organização podem usar para acessar seus recursos. É possível especificar quem é confiável para assumir o perfil. Para serviços que oferecem suporte a políticas baseadas em recursos ou listas de controle de acesso (ACLs), você pode usar essas políticas para conceder às pessoas acesso aos seus recursos.

Para saber mais, consulte:
+ Para saber se o Image Builder oferece suporte a esses atributos, consulte [Como o Image Builder utiliza políticas e perfis do IAM](security_iam_service-with-iam.md).
+ Para saber como fornecer acesso aos seus recursos em todos os Contas da AWS que você possui, consulte Como [fornecer acesso a um usuário do IAM em outro Conta da AWS que você possui](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) no *Guia do usuário do IAM*.
+ Para saber como fornecer acesso aos seus recursos a terceiros Contas da AWS, consulte Como [fornecer acesso Contas da AWS a terceiros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) no *Guia do usuário do IAM*.
+ Para saber como conceder acesso por meio da federação de identidades, consulte [Conceder acesso a usuários autenticados externamente (federação de identidades)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) no *Guia do usuário do IAM*.
+ Para conhecer a diferença entre perfis e políticas baseadas em recurso para acesso entre contas, consulte [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

# Validação de conformidade para Image Builder
<a name="compliance"></a>

O EC2 Image Builder não está no escopo de AWS nenhum programa de conformidade.

Para saber se um AWS service (Serviço da AWS) está dentro do escopo de programas de conformidade específicos, consulte [Serviços da AWS Escopo por Programa de Conformidade Serviços da AWS](https://aws.amazon.com/compliance/services-in-scope/) e escolha o programa de conformidade em que você está interessado. Para obter informações gerais, consulte Programas de [AWS conformidade Programas AWS](https://aws.amazon.com/compliance/programs/) de .

Você pode baixar relatórios de auditoria de terceiros usando AWS Artifact. Para obter mais informações, consulte [Baixar relatórios em AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Sua responsabilidade de conformidade ao usar Serviços da AWS é determinada pela confidencialidade de seus dados, pelos objetivos de conformidade de sua empresa e pelas leis e regulamentações aplicáveis. Para obter mais informações sobre sua responsabilidade de conformidade ao usar Serviços da AWS, consulte a [Documentação AWS de segurança](https://docs.aws.amazon.com/security/).

Você pode incorporar produtos de conformidade AWS Marketplace ou componentes de AWS Task Orchestrator and Executor (AWSTOE) em suas imagens do Image Builder para ajudar a garantir que suas imagens estejam em conformidade. Para obter mais informações, consulte [Produtos de conformidade para suas imagens do Image Builder](integ-compliance-products.md).

# Redundância e resiliência de dados no Image Builder
<a name="disaster-recovery-resiliency"></a>

A infraestrutura AWS global é construída em torno de AWS regiões e zonas de disponibilidade. AWS As regiões fornecem várias zonas de disponibilidade fisicamente separadas e isoladas, conectadas a redes de baixa latência, alta taxa de transferência e alta redundância. Com as zonas de disponibilidade, é possível projetar e operar aplicações e bancos de dados que automaticamente executam o failover entre as zonas sem interrupção. As zonas de disponibilidade são altamente disponíveis, tolerantes a falhas e escaláveis que uma ou várias infraestruturas de data center tradicionais. 

O serviço EC2 Image Builder permite que você distribua imagens criadas em uma região com outras regiões, oferecendo resiliência multirregional para. AMIs Não há mecanismo para “fazer backup” de pipelines, fórmulas ou componentes de imagens. Você pode armazenar a fórmula e os documentos do componente fora do serviço Image Builder, como em um bucket do Amazon S3. 

O EC2 Image Builder não pode ser configurado para alta disponibilidade (HA). Você pode distribuir imagens para várias regiões para tornar as imagens mais altamente disponíveis. 

Para obter mais informações sobre AWS regiões e zonas de disponibilidade, consulte [Infraestrutura AWS global](https://aws.amazon.com/about-aws/global-infrastructure/).

# Segurança da infraestrutura no Image Builder
<a name="infrastructure-security"></a>

A rede AWS global fornece recursos de segurança e controla o acesso à rede para serviços como o EC2 Image Builder. Para obter mais informações sobre a segurança da infraestrutura que AWS fornece seus serviços, consulte a seção [Segurança da infraestrutura](https://docs.aws.amazon.com/whitepapers/latest/introduction-aws-security/infrastructure-security.html) no whitepaper *Introdução à AWS segurança*.

Para enviar solicitações por meio da rede AWS global para ações da API Image Builder, seu software cliente deve estar em conformidade com as seguintes diretrizes de segurança:
+ Para enviar solicitações de ações da API Image Builder, o software cliente deve usar uma versão compatível do Transport Layer Security (TLS).
**nota**  
AWS está eliminando gradualmente o suporte para as versões 1.0 e 1.1 do TLS. É altamente recomendável que você atualize seu software cliente para usar o TLS versão 1.2 ou posterior para que você ainda possa se conectar. Para obter mais informações, consulte esta [publicação do blog de Segurança da AWS](https://aws.amazon.com/blogs/security/tls-1-2-required-for-aws-endpoints/).
+ O software cliente também deve oferecer suporte a pacotes de criptografia com Perfect Forward Secrecy (PFS: sigilo de encaminhamento perfeito), como Ephemeral Diffie-Hellman (DHE) ou Ephemeral Elliptic Curve Diffie-Hellman (ECDHE). A maioria dos sistemas atuais, como Java 7 e posteriores, oferece suporte a esses modos.
+ Você deve assinar suas solicitações de API com um ID de chave de acesso e uma chave de acesso secreta associada a um principal AWS Identity and Access Management (IAM). Ou é possível usar o [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html) (AWS STS) para gerar credenciais de segurança temporárias para suas solicitações.

Além disso, as instâncias do EC2 que o Image Builder usa para criar e testar imagens devem ter acesso ao AWS Systems Manager.

# Gerenciamento de patches para imagens do Image Builder
<a name="security-patch-management"></a>

AWS fornece atualizações gerenciadas a AMIs cada mês com as atualizações e os patches de segurança mais recentes aplicados aos seguintes sistemas operacionais. Você pode usá-los AMIs como imagem base para suas personalizações. Para obter mais informações, consulte [Sistemas operacionais compatíveis](what-is-image-builder.md#image-builder-os).
+ Distribuições Linux, incluindo Amazon Linux 2 AL2023, Red Hat Enterprise Linux (RHEL), CentOS, Ubuntu, SUSE Linux Enterprise Server
+ Windows Server 2016 e posterior
+ macOS 10.14.x e posterior

Ao criar uma imagem personalizada, você é responsável pela aplicação de patches no sistema do Amazon EC2, conforme o [Modelo de Responsabilidade Compartilhada](https://aws.amazon.com/compliance/shared-responsibility-model/). Se as instâncias do EC2 na workload da aplicação puderem ser facilmente substituídas, talvez seja mais eficiente atualizar a AMI de base e reimplantar todos os nós de computação de acordo com essa imagem.

**nota**  
Quanto à aplicação de patches do macOS, recomendamos que você crie uma versão da sua fórmula que use a AMI gerenciada mais recente para a imagem de base e, em seguida, crie uma imagem personalizada atualizada com base na fórmula e em seus outros recursos de compilação de imagens. Se suas instâncias Mac não forem facilmente substituídas, consulte a página [Update the operating system and software on Mac instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mac-instance-updates.html) no *Amazon EC2 User Guide* para obter mais informações.

A seguir estão duas maneiras de manter seu Image Builder AMIs atualizado.
+ **Componentes de aplicação de patches fornecidos pela AWS**: o EC2 Image Builder oferece dois componentes de compilação que instalam todas as atualizações pendentes do sistema operacional:
  + `update-linux`
  + `update-windows`

  Esses componentes usam o módulo de ação `UpdateOS`. Para obter mais informações, consulte [UpdateOS](toe-action-modules.md#action-modules-updateos). Os componentes podem ser adicionados aos seus pipelines de criação de imagens selecionando-os na lista AWS de componentes fornecidos.
+ **Componentes de compilação personalizados com operações de correção** — Para instalar ou atualizar seletivamente os patches em sistemas operacionais compatíveis AMIs, você pode criar um componente do Image Builder para instalar os patches necessários. Um componente personalizado pode instalar patches usando scripts de shell (Bash ou PowerShell) ou pode usar o módulo de `UpdateOS` ação para especificar patches para instalação ou exclusão. Para obter mais informações, consulte [Módulos de ação suportados pelo gerenciador de AWSTOE componentes](toe-action-modules.md).

  Componente que usa o módulo de ação `UpdateOS`. (Somente Linux e Windows. O módulo de ação `UpdateOS` não é compatível com macOS.)

  ```
  schemaVersion: 1.0
  phases:
    - name: build
  	steps:
  	  - name: UpdateOS
  		action: UpdateOS
  ```

  Componente que usa o Bash para instalar atualizações do yum

  ```
  schemaVersion: 1.0
  phases:
    - name: build
  	steps:
  	  - name: InstallYumUpdates
  		action: ExecuteBash
  		inputs:
  		  commands:
  			- sudo yum update -y
  ```

# Práticas recomendadas de segurança para o Image Builder
<a name="security-best-practices"></a>

O EC2 Image Builder oferece uma série de recursos de segurança a serem considerados no desenvolvimento e na implementação das suas próprias políticas de segurança. As práticas recomendadas a seguir são diretrizes gerais e não representam uma solução completa de segurança. Como essas práticas recomendadas podem não ser adequadas ou suficientes para o seu ambiente, trate-as como considerações úteis em vez de prescrições.
+ Não use grupos de segurança excessivamente permissivos nas fórmulas do Image Builder.
+ Não compartilhe imagens com contas nas quais você não confia.
+ Não torne públicas imagens que tenham dados privados ou confidenciais.
+ Aplique todos os patches de segurança disponíveis para Windows ou Linux durante a criação de imagens.
+ Aplique periodicamente atualizações gerenciadas de AMIs às suas fórmulas do macOS e crie imagens para iniciar instâncias que tenham os patches de segurança mais recentes.

É altamente recomendável que você teste suas imagens para validar a postura de segurança e os níveis de conformidade de segurança aplicáveis.  Soluções como o [Amazon Inspector](https://aws.amazon.com/inspector/) podem ajudar a validar a postura de segurança e conformidade das imagens.

**IMDSv2 para pipelines do Image Builder**  
Quando seu pipeline do Image Builder é executado, ele envia solicitações HTTP para iniciar instâncias do EC2 que o Image Builder usa para criar e testar sua imagem. Para configurar a versão do IMDS que seu pipeline usa para as solicitações de lançamento, defina o `httpTokens` parâmetro nas configurações de metadados da instância de configuração da infraestrutura do Image Builder.

**nota**  
Recomendamos que você configure todas as instâncias do EC2 que o Image Builder executa a partir de um pipeline criado para uso, de IMDSv2 forma que as solicitações de recuperação de metadados da instância exijam um cabeçalho de token assinado.

Para obter mais informações sobre a configuração da infraestrutura do Image Builder, consulte [Gerenciar a configuração da infraestrutura do Image Builder](manage-infra-config.md). Para obter mais informações sobre opções de metadados de instância do EC2 para imagens do Linux, consulte [Configurar as opções de metadados da instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) no Manual do usuário do Amazon EC2. Com relação a imagens do Windows, consulte [Configurar as opções de serviço de metadados de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) no Manual do usuário do Amazon EC2.

## Limpeza necessária após a construção
<a name="post-build-cleanup"></a>

Depois que o Image Builder concluir todas as etapas de criação da sua imagem personalizada, o Image Builder prepara a instância de compilação para testes e criação de imagens. Antes de encerrar a instância de compilação para criar o snapshot, o Image Builder executa a seguinte limpeza para garantir a segurança da sua imagem:

------
#### [ Linux ]

O pipeline do Image Builder executa um script de limpeza para ajudar a garantir que a imagem final siga as melhores práticas de segurança e para remover quaisquer artefatos ou configurações de construção que não devam ser transferidos para seu snapshot. No entanto, você pode pular seções do script ou substituir totalmente os dados do usuário. Portanto, as imagens produzidas pelos pipelines do Image Builder não estão necessariamente em conformidade com nenhum critério regulatório específico.

Quando o pipeline conclui seus estágios de criação e teste, o Image Builder executa automaticamente o script de limpeza a seguir antes de criar a imagem de saída.

**Importante**  
Se você substituir **os dados do usuário** em sua fórmula, o script não será executado. Nesse caso, certifique-se de incluir um comando nos dados do usuário que crie um arquivo vazio chamado`perform_cleanup`. O Image Builder detecta esse arquivo e executa o script de limpeza antes de criar a nova imagem.

```
#!/bin/bash
if [[ ! -f {{workingDirectory}}/perform_cleanup ]]; then
    echo "Skipping cleanup"
    exit 0
else
    sudo rm -f {{workingDirectory}}/perform_cleanup
fi

function cleanup() {
    FILES=("$@")
    for FILE in "${FILES[@]}"; do
        if [[ -f "$FILE" ]]; then
            echo "Deleting $FILE";
            sudo shred -zuf $FILE;
        fi;
        if [[ -f $FILE ]]; then
            echo "Failed to delete '$FILE'. Failing."
            exit 1
        fi;
    done
};


# Clean up for cloud-init files
CLOUD_INIT_FILES=(
    "/etc/sudoers.d/90-cloud-init-users"
    "/etc/locale.conf"
    "/var/log/cloud-init.log"
    "/var/log/cloud-init-output.log"
)
if [[ -f {{workingDirectory}}/skip_cleanup_cloudinit_files ]]; then
    echo "Skipping cleanup of cloud init files"
else
    echo "Cleaning up cloud init files"
    cleanup "${CLOUD_INIT_FILES[@]}"
    if [[ $( sudo find /var/lib/cloud -type f | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting files within /var/lib/cloud/*"
        sudo find /var/lib/cloud -type f -exec shred -zuf {} \;
    fi;

    if [[ $( sudo ls /var/lib/cloud | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting /var/lib/cloud/*"
        sudo rm -rf /var/lib/cloud/* || true
    fi;
fi;


# Clean up for temporary instance files
INSTANCE_FILES=(
    "/etc/.updated"
    "/etc/aliases.db"
    "/etc/hostname"
    "/var/lib/misc/postfix.aliasesdb-stamp"
    "/var/lib/postfix/master.lock"
    "/var/spool/postfix/pid/master.pid"
    "/var/.updated"
    "/var/cache/yum/x86_64/2/.gpgkeyschecked.yum"
)
if [[ -f {{workingDirectory}}/skip_cleanup_instance_files ]]; then
    echo "Skipping cleanup of instance files"
else
    echo "Cleaning up instance files"
    cleanup "${INSTANCE_FILES[@]}"
fi;


# Clean up for ssh files
SSH_FILES=(
    "/etc/ssh/ssh_host_rsa_key"
    "/etc/ssh/ssh_host_rsa_key.pub"
    "/etc/ssh/ssh_host_ecdsa_key"
    "/etc/ssh/ssh_host_ecdsa_key.pub"
    "/etc/ssh/ssh_host_ed25519_key"
    "/etc/ssh/ssh_host_ed25519_key.pub"
    "/root/.ssh/authorized_keys"
)
if [[ -f {{workingDirectory}}/skip_cleanup_ssh_files ]]; then
    echo "Skipping cleanup of ssh files"
else
    echo "Cleaning up ssh files"
    cleanup "${SSH_FILES[@]}"
    USERS=$(ls /home/)
    for user in $USERS; do
        echo Deleting /home/"$user"/.ssh/authorized_keys;
        sudo find /home/"$user"/.ssh/authorized_keys -type f -exec shred -zuf {} \;
    done
    for user in $USERS; do
        if [[ -f /home/"$user"/.ssh/authorized_keys ]]; then
            echo Failed to delete /home/"$user"/.ssh/authorized_keys;
            exit 1
        fi;
    done;
fi;


# Clean up for instance log files
INSTANCE_LOG_FILES=(
    "/var/log/audit/audit.log"
    "/var/log/boot.log"
    "/var/log/dmesg"
    "/var/log/cron"
)
if [[ -f {{workingDirectory}}/skip_cleanup_instance_log_files ]]; then
    echo "Skipping cleanup of instance log files"
else
    echo "Cleaning up instance log files"
    cleanup "${INSTANCE_LOG_FILES[@]}"
fi;

# Clean up for TOE files
if [[ -f {{workingDirectory}}/skip_cleanup_toe_files ]]; then
    echo "Skipping cleanup of TOE files"
else
    echo "Cleaning TOE files"
    if [[ $( sudo find {{workingDirectory}}/TOE_* -type f | sudo wc -l) -gt 0 ]]; then
        echo "Deleting files within {{workingDirectory}}/TOE_*"
        sudo find {{workingDirectory}}/TOE_* -type f -exec shred -zuf {} \;
    fi
    if [[ $( sudo find {{workingDirectory}}/TOE_* -type f | sudo wc -l) -gt 0 ]]; then
        echo "Failed to delete {{workingDirectory}}/TOE_*"
        exit 1
    fi
    if [[ $( sudo find {{workingDirectory}}/TOE_* -type d | sudo wc -l) -gt 0 ]]; then
        echo "Deleting {{workingDirectory}}/TOE_*"
        sudo rm -rf {{workingDirectory}}/TOE_*
    fi
    if [[ $( sudo find {{workingDirectory}}/TOE_* -type d | sudo wc -l) -gt 0 ]]; then
        echo "Failed to delete {{workingDirectory}}/TOE_*"
        exit 1
    fi
fi

# Clean up for ssm log files
if [[ -f {{workingDirectory}}/skip_cleanup_ssm_log_files ]]; then
    echo "Skipping cleanup of ssm log files"
else
    echo "Cleaning up ssm log files"
    if [[ $( sudo find /var/log/amazon/ssm -type f | sudo wc -l) -gt 0 ]]; then
        echo "Deleting files within /var/log/amazon/ssm/*"
        sudo find /var/log/amazon/ssm -type f -exec shred -zuf {} \;
    fi
    if [[ $( sudo find /var/log/amazon/ssm -type f | sudo wc -l) -gt 0 ]]; then
        echo "Failed to delete /var/log/amazon/ssm"
        exit 1
    fi
    if [[ -d "/var/log/amazon/ssm" ]]; then
        echo "Deleting /var/log/amazon/ssm/*"
        sudo rm -rf /var/log/amazon/ssm
    fi
    if [[ -d "/var/log/amazon/ssm" ]]; then
        echo "Failed to delete /var/log/amazon/ssm"
        exit 1
    fi
fi


if [[ $( sudo find /var/log/sa/sa* -type f | sudo wc -l ) -gt 0 ]]; then
    echo "Deleting /var/log/sa/sa*"
    sudo shred -zuf /var/log/sa/sa*
fi
if [[ $( sudo find /var/log/sa/sa* -type f | sudo wc -l ) -gt 0 ]]; then
    echo "Failed to delete /var/log/sa/sa*"
    exit 1
fi

if [[ $( sudo find /var/lib/dhclient/dhclient*.lease -type f | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting /var/lib/dhclient/dhclient*.lease"
        sudo shred -zuf /var/lib/dhclient/dhclient*.lease
fi
if [[ $( sudo find /var/lib/dhclient/dhclient*.lease -type f | sudo wc -l ) -gt 0 ]]; then
        echo "Failed to delete /var/lib/dhclient/dhclient*.lease"
        exit 1
fi

if [[ $( sudo find /var/tmp -type f | sudo wc -l) -gt 0 ]]; then
        echo "Deleting files within /var/tmp/*"
        sudo find /var/tmp -type f -exec shred -zuf {} \;
fi
if [[ $( sudo find /var/tmp -type f | sudo wc -l) -gt 0 ]]; then
        echo "Failed to delete /var/tmp"
        exit 1
fi
if [[ $( sudo ls /var/tmp | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting /var/tmp/*"
        sudo rm -rf /var/tmp/*
fi

# Shredding is not guaranteed to work well on rolling logs

if [[ -f "/var/lib/rsyslog/imjournal.state" ]]; then
        echo "Deleting /var/lib/rsyslog/imjournal.state"
        sudo shred -zuf /var/lib/rsyslog/imjournal.state
        sudo rm -f /var/lib/rsyslog/imjournal.state
fi

if [[ $( sudo ls /var/log/journal/ | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting /var/log/journal/*"
        sudo find /var/log/journal/ -type f -exec shred -zuf {} \;
        sudo rm -rf /var/log/journal/*
fi

sudo touch /etc/machine-id
```

------
#### [ Windows ]

Depois que o pipeline do Image Builder personalizar as imagens do Windows, ele executará o utilitário [Sysprep](https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation?view=windows-11) da Microsoft. Essas ações seguem as [AWS melhores práticas para endurecer e limpar a imagem](https://aws.amazon.com/articles/public-ami-publishing-hardening-and-clean-up-requirements/).

------
#### [ macOS ]

O pipeline do Image Builder executa um script de limpeza para ajudar a garantir que a imagem final siga as melhores práticas de segurança e para remover quaisquer artefatos ou configurações de construção que não devam ser transferidos para seu snapshot. No entanto, você pode pular seções do script ou substituir totalmente os dados do usuário. Portanto, as imagens produzidas pelos pipelines do Image Builder não estão necessariamente em conformidade com nenhum critério regulatório específico.

Quando o pipeline conclui seus estágios de criação e teste, o Image Builder executa automaticamente o script de limpeza a seguir antes de criar a imagem de saída.

**Importante**  
Se você substituir **os dados do usuário** em sua fórmula, o script não será executado. Nesse caso, certifique-se de incluir um comando nos dados do usuário que crie um arquivo vazio chamado`perform_cleanup`. O Image Builder detecta esse arquivo e executa o script de limpeza antes de criar a nova imagem.

```
#!/bin/bash
if [[ ! -f {{workingDirectory}}/perform_cleanup ]]; then
  echo "Skipping cleanup"
  exit 0
else
  sudo rm -f {{workingDirectory}}/perform_cleanup
fi

function cleanup() {
  FILES=("$@")
  for FILE in "${FILES[@]}"; do
      if [[ -f "$FILE" ]]; then
          echo "Deleting $FILE";
          sudo rm -f $FILE;
      fi;
      if [[ -f $FILE ]]; then
          echo "Failed to delete '$FILE'. Failing."
          exit 1
      fi;
  done
};

# Clean up for cloud-init files
CLOUD_INIT_FILES=(
  "/etc/sudoers.d/90-cloud-init-users"
  "/etc/locale.conf"
  "/var/log/cloud-init.log"
  "/var/log/cloud-init-output.log"
)
if [[ -f {{workingDirectory}}/skip_cleanup_cloudinit_files ]]; then
  echo "Skipping cleanup of cloud init files"
else
  echo "Cleaning up cloud init files"
  cleanup "${CLOUD_INIT_FILES[@]}"
  if [[ $( sudo find /var/lib/cloud -type f | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting files within /var/lib/cloud/*"
      sudo find /var/lib/cloud -type f -exec rm -f {} \;
  fi;

  if [[ $( sudo ls /var/lib/cloud | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting /var/lib/cloud/*"
      sudo rm -rf /var/lib/cloud/* || true
  fi;
fi;


# Clean up for temporary instance files
INSTANCE_FILES=(
  "/etc/.updated"
  "/etc/aliases.db"
  "/etc/hostname"
  "/var/lib/misc/postfix.aliasesdb-stamp"
  "/var/lib/postfix/master.lock"
  "/var/spool/postfix/pid/master.pid"
  "/var/.updated"
  "/var/cache/yum/x86_64/2/.gpgkeyschecked.yum"
)
if [[ -f {{workingDirectory}}/skip_cleanup_instance_files ]]; then
  echo "Skipping cleanup of instance files"
else
  echo "Cleaning up instance files"
  cleanup "${INSTANCE_FILES[@]}"
fi;


# Clean up for ssh files
SSH_FILES=(
  "/etc/ssh/ssh_host_rsa_key"
  "/etc/ssh/ssh_host_rsa_key.pub"
  "/etc/ssh/ssh_host_ecdsa_key"
  "/etc/ssh/ssh_host_ecdsa_key.pub"
  "/etc/ssh/ssh_host_ed25519_key"
  "/etc/ssh/ssh_host_ed25519_key.pub"
  "/root/.ssh/authorized_keys"
)
if [[ -f {{workingDirectory}}/skip_cleanup_ssh_files ]]; then
  echo "Skipping cleanup of ssh files"
else
  echo "Cleaning up ssh files"
  cleanup "${SSH_FILES[@]}"
  USERS=$(ls /home/)
  for user in $USERS; do
      echo Deleting /home/"$user"/.ssh/authorized_keys;
      sudo find /home/"$user"/.ssh/authorized_keys -type f -exec rm -f {} \;
  done
  for user in $USERS; do
      if [[ -f /home/"$user"/.ssh/authorized_keys ]]; then
          echo Failed to delete /home/"$user"/.ssh/authorized_keys;
          exit 1
      fi;
  done;
fi;


# Clean up for instance log files
INSTANCE_LOG_FILES=(
  "/var/log/audit/audit.log"
  "/var/log/boot.log"
  "/var/log/dmesg"
  "/var/log/cron"
  "/var/log/amazon/ec2/ec2-macos-init.log"
  "/var/log/amazon/ec2/ena-ethernet.log"
  "/var/log/amazon/ec2/system-monitoring.log"
)
if [[ -f {{workingDirectory}}/skip_cleanup_instance_log_files ]]; then
  echo "Skipping cleanup of instance log files"
else
  echo "Cleaning up instance log files"
  cleanup "${INSTANCE_LOG_FILES[@]}"
fi;

# Clean up for TOE files
if [[ -f {{workingDirectory}}/skip_cleanup_toe_files ]]; then
  echo "Skipping cleanup of TOE files"
else
  echo "Cleaning TOE files"
  if [[ $( sudo find {{workingDirectory}}/TOE_* -type f | sudo wc -l) -gt 0 ]]; then
      echo "Deleting files within {{workingDirectory}}/TOE_*"
      sudo find {{workingDirectory}}/TOE_* -type f -exec rm -f {} \;
  fi
  if [[ $( sudo find {{workingDirectory}}/TOE_* -type f | sudo wc -l) -gt 0 ]]; then
      echo "Failed to delete {{workingDirectory}}/TOE_*"
      exit 1
  fi
  if [[ $( sudo find {{workingDirectory}}/TOE_* -type d | sudo wc -l) -gt 0 ]]; then
      echo "Deleting {{workingDirectory}}/TOE_*"
      sudo rm -rf {{workingDirectory}}/TOE_*
  fi
  if [[ $( sudo find {{workingDirectory}}/TOE_* -type d | sudo wc -l) -gt 0 ]]; then
      echo "Failed to delete {{workingDirectory}}/TOE_*"
      exit 1
  fi
fi

# Clean up for ssm log files
if [[ -f {{workingDirectory}}/skip_cleanup_ssm_log_files ]]; then
  echo "Skipping cleanup of ssm log files"
else
  echo "Cleaning up ssm log files"
  if [[ $( sudo find /var/log/amazon/ssm -type f | sudo wc -l) -gt 0 ]]; then
      echo "Deleting files within /var/log/amazon/ssm/*"
      sudo find /var/log/amazon/ssm -type f -exec rm -f {} \;
  fi
  if [[ $( sudo find /var/log/amazon/ssm -type f | sudo wc -l) -gt 0 ]]; then
      echo "Failed to delete /var/log/amazon/ssm"
      exit 1
  fi
  if [[ -d "/var/log/amazon/ssm" ]]; then
      echo "Deleting /var/log/amazon/ssm/*"
      sudo rm -rf /var/log/amazon/ssm
  fi
  if [[ -d "/var/log/amazon/ssm" ]]; then
      echo "Failed to delete /var/log/amazon/ssm"
      exit 1
  fi
fi


if [[ $( sudo find /var/log/sa/sa* -type f | sudo wc -l ) -gt 0 ]]; then
  echo "Deleting /var/log/sa/sa*"
  sudo rm -f /var/log/sa/sa*
fi
if [[ $( sudo find /var/log/sa/sa* -type f | sudo wc -l ) -gt 0 ]]; then
  echo "Failed to delete /var/log/sa/sa*"
  exit 1
fi

if [[ $( sudo find /var/lib/dhclient/dhclient*.lease -type f | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting /var/lib/dhclient/dhclient*.lease"
      sudo rm -f /var/lib/dhclient/dhclient*.lease
fi
if [[ $( sudo find /var/lib/dhclient/dhclient*.lease -type f | sudo wc -l ) -gt 0 ]]; then
      echo "Failed to delete /var/lib/dhclient/dhclient*.lease"
      exit 1
fi

if [[ $( sudo find /var/tmp -type f | sudo wc -l) -gt 0 ]]; then
      echo "Deleting files within /var/tmp/*"
      sudo find /var/tmp -type f -exec rm -f {} \;
fi
if [[ $( sudo find /var/tmp -type f | sudo wc -l) -gt 0 ]]; then
      echo "Failed to delete /var/tmp"
      exit 1
fi
if [[ $( sudo ls /var/tmp | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting /var/tmp/*"
      sudo rm -rf /var/tmp/*
fi

# Shredding is not guaranteed to work well on rolling logs

if [[ -f "/var/lib/rsyslog/imjournal.state" ]]; then
      echo "Deleting /var/lib/rsyslog/imjournal.state"
      sudo rm -f /var/lib/rsyslog/imjournal.state
      sudo rm -f /var/lib/rsyslog/imjournal.state
fi

if [[ $( sudo ls /var/log/journal/ | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting /var/log/journal/*"
      sudo find /var/log/journal/ -type f -exec rm -f {} \;
      sudo rm -rf /var/log/journal/*
fi

sudo touch /etc/machine-id
```

------

## Substitua o script de limpeza do Linux
<a name="override-linux-cleanup-script"></a>

O Image Builder cria imagens que são seguras por padrão e seguem nossas melhores práticas de segurança. No entanto, alguns casos de uso mais avançados podem exigir que você pule uma ou mais seções do script de limpeza integrado. Se você precisar pular parte da limpeza, é altamente recomendável testar sua AMI de saída para garantir a segurança da sua imagem.

**Importante**  
Ignorar seções no script de limpeza pode resultar na inclusão de informações confidenciais, como detalhes da conta do proprietário ou chaves SSH, na imagem final e, em qualquer instância, na execução dessa imagem. Você também pode ter problemas com o lançamento em diferentes zonas de disponibilidade, regiões ou contas.

A tabela a seguir descreve as seções do script de limpeza, os arquivos que são excluídos nessa seção e os nomes dos arquivos que você pode usar para sinalizar uma seção que o Image Builder deve ignorar. Para ignorar uma seção específica do script de limpeza, você pode usar o módulo de ação do [CreateFile](toe-action-modules.md#action-modules-createfile) componente ou um comando nos dados do usuário (se estiver substituindo) para criar um arquivo vazio com o nome especificado na coluna **Ignorar nome do arquivo da seção**.

**nota**  
Os arquivos que você cria para ignorar uma seção do script de limpeza não devem incluir uma extensão de arquivo. Por exemplo, se você quiser pular a `CLOUD_INIT_FILES` seção do script, mas criar um arquivo chamado`skip_cleanup_cloudinit_files.txt`, o Image Builder não reconhecerá o arquivo ignorado.


**Input**  

| Seção de limpeza | Arquivos removidos | Ignorar nome do arquivo da seção | 
| --- | --- | --- | 
| `CLOUD_INIT_FILES` | `/etc/sudoers.d/90-cloud-init-users` `/etc/locale.conf` `/var/log/cloud-init.log` `/var/log/cloud-init-output.log`  | `skip_cleanup_cloudinit_files` | 
| `INSTANCE_FILES` | `/etc/.updated` `/etc/aliases.db` `/etc/hostname` `/var/lib/misc/postfix.aliasesdb-stamp` `/var/lib/postfix/master.lock` `/var/spool/postfix/pid/master.pid` `/var/.updated` `/var/cache/yum/x86_64/2/.gpgkeyschecked.yum`  | `skip_cleanup_instance_files` | 
| `SSH_FILES` | `/etc/ssh/ssh_host_rsa_key` `/etc/ssh/ssh_host_rsa_key.pub` `/etc/ssh/ssh_host_ecdsa_key` `/etc/ssh/ssh_host_ecdsa_key.pub` `/etc/ssh/ssh_host_ed25519_key` `/etc/ssh/ssh_host_ed25519_key.pub` `/root/.ssh/authorized_keys` `/home/<all users>/.ssh/authorized_keys;`  | `skip_cleanup_ssh_files` | 
| `INSTANCE_LOG_FILES` | `/var/log/audit/audit.log` `/var/log/boot.log` `/var/log/dmesg` `/var/log/cron`  | `skip_cleanup_instance_log_files` | 
| `TOE_FILES` | `{{workingDirectory}}/TOE_*` | `skip_cleanup_toe_files` | 
| `SSM_LOG_FILES` | `/var/log/amazon/ssm/*` | `skip_cleanup_ssm_log_files` | 