Controlar o acesso com o AWS Identity and Access Management - AWS CloudFormation

Controlar o acesso com o AWS Identity and Access Management

Com o AWS Identity and Access Management (IAM), você pode criar usuários do IAM para controlar quem tem acesso a quais recursos em sua conta da AWS. Você pode usar o IAM com o AWS CloudFormation para controlar o que os usuários podem fazer com o AWS CloudFormation, como se eles podem visualizar os modelos de pilha, criar pilhas ou excluir pilhas.

Além das ações do AWS CloudFormation, você pode gerenciar quais serviços e recursos da AWS estão disponíveis para cada usuário. Dessa maneira, você pode controlar quais recursos os usuários podem acessar ao usar o AWS CloudFormation. Por exemplo, você pode especificar quais usuários podem criar instâncias Amazon EC2, encerrar instâncias de banco de dados ou atualizar VPCs. As mesmas permissões são aplicadas sempre que eles usem o AWS CloudFormation para executar essas ações.

Para obter mais informações sobre todos os serviços aos quais o acesso pode ser controlado, consulte AWS services that support IAM (Serviços da AWS que oferecem suporte ao IAM) no Guia do usuário do IAM.

Ações do AWS CloudFormation

Quando você cria um grupo ou um usuário do IAM em sua conta da AWS, você pode associar uma política do IAM a esse grupo ou usuário, que especifica as permissões que você deseja conceder. Por exemplo, imagine que você tem um grupo de desenvolvedores em nível de entrada. Você pode criar um grupo de Junior application developers que inclua todos os desenvolvedores em nível de entrada. Em seguida, você associa uma política a esse grupo que permite que os usuários apenas visualizem as pilhas do AWS CloudFormation. Nesse cenário, você pode ter uma política, como a do exemplo a seguir:

exemplo Uma política de exemplo que concede permissões para visualização de pilha

{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources" ], "Resource":"*" }] }

A política concede permissões a todas as ações da API DescribeStack listadas no elemento Action.

Importante

Se não especificar um nome ou um ID de pilha em sua instrução, você também deverá conceder permissão para usar todos os recursos para a ação usando o caractere curinga * para o elemento Resource.

Além das ações do AWS CloudFormation, os usuários do IAM que criam ou excluem pilhas requerem permissões adicionais que dependem dos modelos de pilhas. Por exemplo, se você tiver um modelo que descreve uma fila do Amazon SQS, o usuário deverá ter permissões correspondentes às ações do Amazon SQS para criar a pilha com êxito, conforme mostrado na seguinte política de exemplo:

exemplo Uma política de exemplo que concede ações de criação e visualização de pilhas e todas as ações do Amazon SQS

{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "sqs:*", "cloudformation:CreateStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResources", "cloudformation:GetTemplate", "cloudformation:ValidateTemplate" ], "Resource":"*" }] }

Para obter uma lista de todas as ações do AWS CloudFormation que você pode permitir ou negar, consulte o AWS CloudFormation API Reference.

Ações específicas do console do AWS CloudFormation

Os usuários do IAM que usam o console do AWS CloudFormation requerem permissões adicionais que não são necessárias para usar as APIs do AWS Command Line Interface ou do AWS CloudFormation. Em comparação com a CLI e a API, o console fornece recursos adicionais que requerem permissões adicionais, como uploads de modelos em buckets do Amazon S3 e listas suspensas para tipos de parâmetros específicos da AWS.

Para todas as ações a seguir, conceda permissões para todos os recursos. Não limite ações a pilhas ou buckets específicos.

A ação necessária a seguir é usada apenas pelo console do AWS CloudFormation e não é documentada na referência da API. A ação permite que os usuários façam upload de modelos para buckets do Amazon S3.

cloudformation:CreateUploadBucket

Quando os usuários fazem upload de modelos, eles requerem as seguintes permissões do Amazon S3:

s3:PutObject s3:ListBucket s3:GetObject s3:CreateBucket

Para modelos com tipos de parâmetros específicos da AWS, os usuários precisam de permissões para fazer chamadas da API de descrição correspondente. Por exemplo, se um modelo incluir o tipo de parâmetro AWS::EC2::KeyPair::KeyName, os usuários precisarão de permissão para chamar a ação DescribeKeyPairs do EC2 (essa é a maneira como o console obtém valores para a lista suspensa de parâmetros). Os exemplos a seguir são ações de que os usuários precisam para outros tipos de parâmetros:

ec2:DescribeSecurityGroups (for the AWS::EC2::SecurityGroup::Id parameter type) ec2:DescribeSubnets (for the Subnet::Id parameter type) ec2:DescribeVpcs (for the AWS::EC2::VPC::Id parameter type)

Recursos do AWS CloudFormation

O AWS CloudFormation oferece suporte às permissões em nível de recurso, para que você possa especificar ações para uma pilha específica, conforme mostrado na política a seguir:

exemplo Uma política de exemplo que nega ações de exclusão e atualização de pilhas para MyProductionStack

{ "Version":"2012-10-17", "Statement":[{ "Effect":"Deny", "Action":[ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource":"arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/*" }] }

A política acima usa um caractere curinga no final do nome da pilha para que as ações de exclusão e atualização de pilha sejam negadas no ID da pilha completa (como arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/abc9dbf0-43c2-11e3-a6e8-50fa526be49c) e no nome da pilha (como MyProductionStack).

Para permitir que as transformações AWS::Serverless criem um conjunto de alterações, a política deve incluir a permissão no nível do recurso arn:aws:cloudformation:<region>:aws:transform/Serverless-2016-10-31, como mostrado na seguinte política:

exemplo Um exemplo de política que permite a ação de criação de um conjunto de alterações para a transformação

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "cloudformation:CreateChangeSet" ], "Resource": "arn:aws:cloudformation:us-west-2:aws:transform/Serverless-2016-10-31" }] }

Exemplo de política que concede permissões de conjunto de pilhas gerenciadas pelo serviço

O seguinte é uma política do IAM de exemplo que concede permissões de conjunto de pilhas gerenciadas pelo serviço a uma entidade principal (utilizador, função ou grupo). Um usuário com essa política só pode executar operações em conjuntos de pilhas com modelos que contêm tipos de recurso do Amazon S3 (AWS::S3::*) ou o tipo de recurso AWS::SES::ConfigurationSet. Quando conectado à conta mestra da organização com o ID 123456789012, o usuário também pode executar apenas operações em conjuntos de pilhas que têm como destino a OU com o ID ou-1fsfsrsdsfrewr, e só poderá executar operações no conjunto de pilhas com o ID stack-set-id que tem como destino a conta da AWS com o ID 987654321012.

As operações do conjunto de pilha falharão se o modelo de conjunto de pilhas contiver tipos de recursos diferentes dos especificados na política ou se os destinos de implantação forem OU IDs de conta diferentes dos especificados na política para as contas de gerenciamento e os conjuntos de pilhas correspondentes.

Essas restrições de política só se aplicam quando as operações de conjunto de pilha têm como destino as regiões us-east-1, us-west-2 ou eu-west-2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:*" ], "Resource": [ "arn:aws:cloudformation:*:*:stackset/*", "arn:aws:cloudformation:*::type/resource/AWS-S3-*", "arn:aws:cloudformation:us-west-2::type/resource/AWS-SES-ConfigurationSet", "arn:aws:cloudformation::123456789012:stackset-target/*/ou-1fsfsrsdsfrewr", "arn:aws:cloudformation::123456789012:stackset-target/stack-set-id/987654321012" ], "Condition": { "ForAllValues:StringEqualsIgnoreCase": { "cloudformation:TargetRegion": [ "us-east-1", "us-west-2", "eu-west-1" ] } } } ] }

Condições do AWS CloudFormation

Em uma política do IAM, você pode opcionalmente especificar condições que controlam quando uma política está em vigor. Por exemplo, você pode definir uma política que permita que os usuários do IAM criem uma pilha apenas quando especificarem uma determinada URL modelo. Você pode definir condições específicas do AWS CloudFormation e condições gerais da AWS, como DateLessThan, que especifiquem quando uma política não está mais em vigor. Para obter mais informações e uma lista de condições gerais da AWS, consulte Condição na Referência de elementos de políticas do IAM no Guia do usuário do IAM.

nota

Não use a condição aws:SourceIp geral da AWS. O AWS CloudFormation provisiona recursos usando seu próprio endereço IP, não o endereço IP da solicitação de origem. Por exemplo, quando você cria uma pilha, o AWS CloudFormation faz solicitações do seu endereço IP para executar uma instância do EC2 ou para criar um bucket do S3, e não do endereço IP da chamada CreateStack ou do comando aws cloudformation create-stack.

A lista a seguir descreve as condições específicas ao AWS CloudFormation. Essas condições são aplicadas apenas quando os usuários criam ou atualizam pilhas:

cloudformation:ChangeSetName

O nome de um conjunto de alterações do AWS CloudFormation que você deseja associar a uma política. Use essa condição para controlar quais conjuntos de alterações os usuários do IAM podem executar ou excluir.

cloudformation:ImportResourceTypes

Os tipos de recursos do modelo que você deseja associar a uma política, como AWS::EC2::Instance. Use essa condição para controlar com quais tipos de recursos os usuários do IAM podem trabalhar quando importarem recursos para uma pilha. Essa condição é verificada em relação aos tipos de recursos que os usuários declaram no parâmetro ResourcesToImport, que atualmente tem suporte apenas para solicitações da CLI e da API. Ao usar esse parâmetro, especifique todos os tipos de recursos que deseja que os usuários controlem durante as operações de importação. Para obter mais informações sobre o parâmetro ResourcesToImport, consulte a ação CreateChangeSet no AWS CloudFormation API Reference.

Para obter uma lista de possíveis ResourcesToImport, consulte Recursos que oferecem suporte a operações de importação.

Use a convenção de nomenclatura de recursos de três partes para especificar com quais tipos de recursos os usuários podem trabalhar, de todos os recursos de uma organização até um tipo de recurso individual.

organization::*

Especifique todos os tipos de recursos de uma determinada organização.

organization::service_name::*

Especifique todos os tipos de recurso do serviço especificado dentro de uma determinada organização.

organization::service_name::resource_type

Especifique um tipo de recurso específico.

Por exemplo:

AWS::*

Especifique todos os tipos de recursos da AWS compatíveis.

AWS::service_name::*

Especifique todos os recursos com suporte a um produto da AWS específico.

AWS::service_name::resource_type

Especifique um tipo de recurso da AWS específico, como AWS::EC2::Instance (todas as instâncias do EC2).

cloudformation:ResourceTypes

Os tipos de recursos modelo, como AWS::EC2::Instance, que você deseja associar a uma política. Use essa condição para controlar com quais tipos de recursos os usuários do IAM podem trabalhar ao criar ou atualizar uma pilha. Essa condição é verificada em relação aos tipos de recursos que os usuários declaram no parâmetro ResourceTypes, que atualmente tem suporte apenas para solicitações da CLI e da API. Ao usar esse parâmetro, os usuários devem especificar todos os tipos de recursos que estão em seu modelo. Para obter mais informações sobre o parâmetro ResourceTypes, consulte a ação CreateStack no AWS CloudFormation API Reference.

Para obter uma lista de tipos de recursos, consulte Referência de tipos de propriedades e recursos da AWS.

Use a convenção de nomenclatura de recursos de três partes para especificar com quais tipos de recursos os usuários podem trabalhar, de todos os recursos de uma organização até um tipo de recurso individual.

organization::*

Especifique todos os tipos de recursos de uma determinada organização.

organization::service_name::*

Especifique todos os tipos de recurso do serviço especificado dentro de uma determinada organização.

organization::service_name::resource_type

Especifique um tipo de recurso específico.

Por exemplo:

AWS::*

Especifique todos os tipos de recursos da AWS compatíveis.

AWS::service_name::*

Especifique todos os recursos com suporte a um produto da AWS específico.

AWS::service_name::resource_type

Especifique um tipo de recurso da AWS específico, como AWS::EC2::Instance (todas as instâncias do EC2).

Alexa::ASK::*

Especifique todos os tipos de recurso no Kit de habilidades do Alexa.

Alexa::ASK::Skill

Especifique o tipo de recurso de Habilidade individual.

Custom::*

Especifique todos os recursos personalizados.

Para obter mais informações sobre recursos personalizados, consulte Recursos personalizados.

Custom::resource_type

Especifique um tipo de recurso personalizado específico.

Para obter mais informações sobre recursos personalizados, consulte Recursos personalizados.

cloudformation:RoleARN

O Nome de recurso da Amazon (ARN) de uma função de serviço do IAM que você deseja associar a uma política. Use essa condição para controlar qual serviço os usuários do IAM podem usar ao trabalhar com pilhas ou conjuntos de alterações.

cloudformation:StackPolicyUrl

A URL de uma política de pilha Amazon S3 que você deseja associar a uma política. Use essa condição para controlar quais políticas de pilha os usuários do IAM podem associar a uma pilha durante uma ação de criação ou atualização de pilha. Para obter mais informações sobre políticas de pilhas, consulte Impedir atualizações nos recursos de pilha.

nota

Para garantir que os usuários do IAM possam apenas criar ou atualizar pilhas com as políticas de pilhas que você carregou, defina o bucket do S3 como read only para esses usuários.

cloudformation:TemplateUrl

A URL de um modelo do Amazon S3 que você deseja associar a uma política. Use essa condição para controlar quais modelos os usuários do IAM podem usar ao criar ou atualizar pilhas.

nota

Para garantir que os usuários do IAM possam apenas criar ou atualizar pilhas com os modelos que você carregou, defina o bucket do S3 como read only para esses usuários.

nota

As seguintes condições específicas de AWS CloudFormation se aplicam aos parâmetros da API com o mesmo nome:

  • cloudformation:ChangeSetName

  • cloudformation:RoleARN

  • cloudformation:StackPolicyUrl

  • cloudformation:TemplateUrl

Por exemplo, cloudformation:TemplateUrl só se aplica ao parâmetro TemplateUrl para as APIs CreateStack, UpdateStack e CreateChangeSet.

Exemplos

A política de exemplo a seguir permite que os usuários usem somente o URL do modelo https://s3.amazonaws.com/testbucket/test.template para criar ou atualizar uma pilha.

exemplo Condição da URL do modelo

{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack", "cloudformation:UpdateStack" ], "Resource" : "*", "Condition" : { "ForAllValues:StringEquals" : { "cloudformation:TemplateUrl" : [ "https://s3.amazonaws.com/testbucket/test.template" ] } } } ] }

A política de exemplo a seguir permite que os usuários concluam todas as operações do AWS CloudFormation, exceto as operações de importação.

exemplo Condição de tipos de recursos de importação

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllStackOperations", "Effect": "Allow", "Action": "cloudformation:*", "Resource": "*" }, { "Sid": "DenyImport", "Effect": "Deny", "Action": "cloudformation:*", "Resource": "*", "Condition": { "ForAnyValue:StringLike": { "cloudformation:ImportResourceTypes": [ "*" ] } } } ] }

A política de exemplo a seguir permite todas as operações de pilha, bem como operações de importação somente em recursos especificados (neste exemplo, AWS::S3::Bucket).

exemplo Condição de tipos de recursos de importação

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowImport", "Effect": "Allow", "Action": "cloudformation:*", "Resource": "*" "Condition": { "ForAllValues:StringEqualsIgnoreCase": { "cloudformation:ImportResourceTypes": [ "AWS::S3::Bucket" ] } } } ] }

A política de exemplo a seguir permite que os usuários criem pilhas, mas nega solicitações se o modelo da pilha incluir qualquer recurso do serviço do IAM. A política também requer que os usuários especifiquem o parâmetro ResourceTypes, que está disponível apenas para solicitações de CLI e de API. Essa política usa instruções de negação explícita de forma que se qualquer outra política conceder permissões adicionais, essa política sempre permanecerá em vigor (uma instrução de negação explícita sempre substitui uma instrução de permissão explícita).

exemplo Condição de tipo de recurso

{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*" }, { "Effect" : "Deny", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*", "Condition" : { "ForAnyValue:StringLikeIfExists" : { "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ] } } }, { "Effect": "Deny", "Action" : [ "cloudformation:CreateStack" ], "Resource": "*", "Condition": { "Null": { "cloudformation:ResourceTypes": "true" } } } ] }

A política de exemplo a seguir é semelhante ao exemplo anterior. A política permite que os usuários criem uma pilha, a menos que o modelo da pilha inclua qualquer recurso do serviço do IAM. Ela também requer que os usuários especifiquem o parâmetro ResourceTypes, que está disponível apenas para solicitações de CLI e de API. Essa política é mais simples, mas não usa instruções de negação explícita. Outras políticas, que concedem permissões adicionais, podem substituir essa política.

exemplo Condição de tipo de recurso

{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*", "Condition" : { "ForAllValues:StringNotLikeIfExists" : { "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ] }, "Null":{ "cloudformation:ResourceTypes": "false" } } } ] }

Confirmar recursos do IAM em modelos do AWS CloudFormation

Antes que você possa criar uma pilha, o AWS CloudFormation valida seu modelo. Durante a validação, o AWS CloudFormation verifica seu modelo para descobrir os recursos do IAM que ele pode criar. Os recursos do IAM como um usuário do IAM com acesso completo, podem acessar e modificar qualquer recurso na sua conta da AWS. Portanto, recomendamos que você examine as permissões associadas a cada recurso do IAM antes de prosseguir, para não criar recursos acidentalmente com permissões escalonadas. Para garantir que você fez isso, você deve confirmar que o modelo contém esses recursos, dando ao AWS CloudFormation as capacidades especificadas antes de criar a pilha.

Você pode confirmar as capacidades dos modelos do AWS CloudFormation usando o console do AWS CloudFormation, a AWS Command Line Interface (CLI) ou a API:

  • No console do AWS CloudFormation, na página Review (Revisar) dos assistentes de criação ou de atualização de pilhas, escolha I acknowledge that this template may create IAM resources (Eu reconheço que este modelo pode criar recursos do IAM).

  • Na CLI, quando ao usar os comandos aws cloudformation create-stack e aws cloudformation update-stack, especifique o valor CAPABILITY_IAM ou CAPABILITY_NAMED_IAM para o parâmetro --capabilities. Se seu modelo incluir recursos do IAM, você poderá especificar uma dessas capacidades. Se seu modelo incluir nomes personalizados para recursos do IAM, você deverá especificar CAPABILITY_NAMED_IAM.

  • Na API, quando você usar as ações CreateStack e UpdateStack, especifique Capabilities.member.1=CAPABILITY_IAM ou Capabilities.member.1=CAPABILITY_NAMED_IAM. Se seu modelo incluir recursos do IAM, você poderá especificar uma dessas capacidades. Se seu modelo incluir nomes personalizados para recursos do IAM, você deverá especificar CAPABILITY_NAMED_IAM.

Importante

Se o seu modelo contiver recursos nomeados personalizados do IAM, não crie várias pilhas reutilizando o mesmo modelo. Os recursos IAM devem ser globalmente exclusivos na sua conta. Se você usar o mesmo modelo para criar várias pilhas em diferentes regiões, suas pilhas poderão compartilhar os mesmos recursos do IAM, em vez de cada uma ter um recurso exclusivo. Recursos compartilhados entre pilhas podem ter consequências acidentais das quais não é possível se recuperar. Por exemplo, se você excluir ou atualizar recursos compartilhados do IAM em uma pilha, você modificará acidentalmente os recursos de outras pilhas.

Gerenciar credenciais para aplicativos em execução em instâncias do Amazon EC2

Se você tiver uma aplicação que é executada em uma instância do Amazon EC2 e precisar fazer solicitações a recursos da AWS, como buckets do Amazon S3 ou uma tabela do DynamoDB, a aplicação precisará de credenciais de segurança da AWS. No entanto, a distribuição e a inserção de credenciais de segurança de longo prazo em cada instância que você executa é um desafio e um risco potencial à segurança. Em vez de usar credenciais de longo prazo, como credenciais de usuário do IAM, recomendamos que você crie uma função do IAM que seja associada a uma instância do Amazon EC2 quando a instância for iniciada. Um aplicativo pode obter credenciais de segurança temporárias na instância Amazon EC2. Você não precisa inserir credenciais de longo prazo na instância. Além disso, para facilitar o gerenciamento de credenciais, você pode especificar apenas uma única função para várias instâncias Amazon EC2. Você não precisa criar credenciais exclusivas para cada instância.

Para obter um trecho de modelo que mostra como executar uma instância com uma função, consulte Exemplos de modelos de função do IAM.

nota

Os aplicativos em instâncias que usam credenciais de segurança temporárias podem chamar qualquer ação do AWS CloudFormation. No entanto, como o AWS CloudFormation interage com muitos outros produtos da AWS, você deve verificar se todos os serviços que deseja usar oferecem suporte às credenciais de segurança temporárias. Para obter mais informações, consulte Produtos da AWS que oferecem suporte ao AWS STS.

Conceder acesso temporário (acesso federado)

Em alguns casos, você pode desejar conceder aos usuários sem credenciais da AWS acesso temporário à sua conta da AWS. Em vez de criar e excluir credenciais de longo prazo sempre que você deseja conceder acesso temporário, use o AWS Security Token Service (AWS STS). Por exemplo, você pode usar funções do IAM. Em uma função do IAM, você pode criar programaticamente e distribuir muitas credenciais de segurança temporárias (que incluem uma chave de acesso, uma chave de acesso secreta e um token de segurança). Essas credenciais têm vida útil limitada e, portanto, não podem ser usadas para acessar sua conta da AWS depois que expiram. Você também pode criar várias funções do IAM para conceder diferentes níveis de permissões a usuários individuais. As funções do IAM são úteis para cenários como identidades federadas e logon único.

Uma identidade federada é uma identidade distinta que você pode usar entre vários sistemas. Para usuários corporativos com um sistema de identidade estabelecido no local (como o LDAP ou o Active Directory), você pode tratar de toda a autenticação com seu sistema de identidade local. Quando um usuário é autenticado, você fornece credenciais de segurança temporárias a partir da função ou do usuário do IAM apropriado. Por exemplo, você pode criar uma função administrators e uma função developers, em que os administradores tenham acesso total à conta da AWS e os desenvolvedores tenham permissões para trabalhar apenas com pilhas do AWS CloudFormation. Depois que um administrador é autenticado, o administrador é autorizado a obter credenciais de segurança temporárias da função administrators. No entanto, os desenvolvedores podem obter credenciais de segurança temporárias apenas da função developers.

Você também pode conceder aos usuários federados acesso ao AWS Management Console. Depois que os usuários se autenticam com o sistema de identidade local, você pode construir programaticamente uma URL temporária que fornece acesso direto ao AWS Management Console. Quando os usuários usam a URL temporária, eles não precisam fazer login na AWS porque já foram autenticados (autenticação única). Além disso, como a URL é construída a partir das credenciais de segurança temporárias dos usuários, as permissões que estão disponíveis com essas credenciais determinam quais permissões os usuários têm no AWS Management Console.

Você pode usar várias diferentes APIs do AWS STS para gerar credenciais de segurança temporárias. Para obter mais informações sobre qual API usar, consulte Formas de obter credenciais de segurança temporárias, no Uso de credenciais de segurança temporárias.

Importante

Você não pode trabalhar com o IAM ao usar credenciais de segurança temporárias que foram geradas a partir da API GetFederationToken. Em vez disso, se você precisar trabalhar com o IAM, use credenciais de segurança temporárias de uma função.

O AWS CloudFormation interage com muitos outros produtos da AWS. Ao usar credenciais de segurança temporárias com o AWS CloudFormation, verifique se todos os serviços que deseja usar oferecem suporte a credenciais de segurança temporárias. Para obter mais informações, consulte Produtos da AWS que oferecem suporte ao AWS STS.

Para obter mais informações, consulte os seguintes recursos relacionados no Uso de credenciais de segurança temporárias: