AWS Identity and Access Management によるアクセスの制御 - AWS CloudFormation

AWS Identity and Access Management によるアクセスの制御

AWS Identity and Access Management (IAM) により、IAM ユーザーを作成して、各ユーザーが AWS アカウント のどのリソースにアクセスできるかを制御することができます。AWS CloudFormation と IAM を使用して、スタックテンプレートの表示、スタックの作成、スタックの削除など、ユーザーが AWS CloudFormation で実行できるアクションを制御できます。

AWS CloudFormation アクションに加えて、各ユーザーが利用できる AWS サービスおよびリソースを管理できます。この方法で、ユーザーが AWS CloudFormation の使用時にアクセスできるリソースを管理できます。たとえば、Amazon EC2 インスタンスを作成できるユーザー、データベースインスタンスを終了できるユーザ、または VPC を更新できるユーザを指定できます。AWS CloudFormation を使用してそれらのアクションを実行するときはいつでも同じ権限が適用されます。

アクセスを制御できるすべてのサービスの詳細については、「IAM ユーザーガイド」の「IAM をサポートする AWS のサービス」を参照してください。

AWS CloudFormation アクション

AWS アカウント でグループまたはユーザーを作成する際は、そのグループまたはユーザーに IAM ポリシーを関連付けることで、付与する許可を指定することができます。例えば、入門レベルの開発者グループを想定してみましょう。入門レベルの開発者がすべて含まれる Junior application developers グループを作成できます。次に、ユーザーに AWS CloudFormation スタックの表示のみを許可しているポリシーをグループとを関連付けます。このシナリオでは、以下のサンプルのようなポリシーを使用します。

例 スタック表示アクセス許可を付与するポリシー例
{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources" ], "Resource":"*" }] }

このポリシーは、DescribeStack エレメントにリストされたすべての Action API アクションへのアクセス許可を付与します。

重要

ステートメントでスタック名または ID を指定しない場合は、* 要素に Resource ワイルドカードを使用してアクションにすべてのリソースを使用するためのアクセス許可も付与する必要があります。

AWS CloudFormation アクションに加えて、スタックを作成または削除するユーザーには、スタックテンプレートに応じて追加の許可が必要です。たとえば、Amazon SQS キューを説明するテンプレートがある場合、ユーザーは、以下のサンプルポリシーに示すように、スタックを正常に作成するために Amazon SQS アクションに対する当該の権限が必要です。

例 スタックアクションの作成と表示、およびすべての Amazon SQS アクションを付与するサンプルポリシー
{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "sqs:*", "cloudformation:CreateStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResources", "cloudformation:GetTemplate", "cloudformation:ValidateTemplate" ], "Resource":"*" }] }

許可または拒否できるすべての AWS CloudFormation アクションのリストについては、「AWS CloudFormation API リファレンス」を参照してください。

AWS CloudFormation コンソール固有のアクション

AWS CloudFormation コンソールを使用するユーザーには、AWS Command Line Interface または AWS CloudFormation API を使用する場合に必要とならない追加の許可が必要です。AWS CLI および API と比較して、コンソールには追加の権限が必要な追加の機能 (Amazon S3 バケットへのテンプレートアップロード)、AWS 固有のパラメータタイプのドロップダウンリストなどが備わっています。

次のすべてのアクションで、すべてのリソースに対する権限を付与します。アクションを特定のスタックまたはバケットに制限しないでください。

以下の必須アクションは、AWS CloudFormation コンソールでのみ使用されるため、API リファレンスには記載されていません。このアクションにより、ユーザーは Amazon S3 バケットにテンプレートをアップロードできるようになります。

cloudformation:CreateUploadBucket

ユーザーがテンプレートをアップロードするときは、次の Amazon S3 権限が必要です。

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

AWS 固有パラメータタイプのテンプレートでは、ユーザーには対応する記述用の API コールを行うためのアクセス権限が必要です。たとえば、テンプレートに AWS::EC2::KeyPair::KeyName パラメータータイプが含まれる場合、ユーザーには EC2 DescribeKeyPairs アクション (コンソールがパラメータードロップダウンリストの値を取得する方法) をコールするためのアクセス権限が必要です。次の例は、他のパラメータータイプでユーザーに必要なアクションです。

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)

AWS CloudFormation リソース

AWS CloudFormation はリソースレベルのアクセス許可をサポートしているため、以下のポリシーに示すように、特定のスタックに対するアクションを指定できます。

例 MyProductionStack に対するスタックアクションの削除と更新を拒否するサンプルポリシー
{ "Version":"2012-10-17", "Statement":[{ "Effect":"Deny", "Action":[ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource":"arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/*" }] }

上記のポリシーでは、スタック名の最後にワイルドカードを使用して、完全なスタック ID (arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/abc9dbf0-43c2-11e3-a6e8-50fa526be49c など) およびスタック名 (MyProductionStack など) に基づいてスタックの削除と更新を拒否します。

変更セットの作成を AWS::Serverless トランスフォームに許可するには、次の例に示すように、arn:aws:cloudformation:<region>:aws:transform/Serverless-2016-10-31 リソースレベルのアクセス許可をポリシーに含める必要があります。

例 トランスフォームによる変更セットの作成アクションを許可するポリシーの例
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "cloudformation:CreateChangeSet" ], "Resource": "arn:aws:cloudformation:us-west-2:aws:transform/Serverless-2016-10-31" }] }

サービスマネージド型のスタックセットのアクセス許可を付与するサンプルポリシー

以下は、サービスマネージド型のスタックセットのアクセス許可をプリンシパルエンティティ (ユーザー、ロール、またはグループ) に付与するサンプル IAM ポリシーです。このポリシーを持つユーザーは、Amazon S3 リソースタイプ (AWS::S3::*) または AWS::SES::ConfigurationSet リソースタイプを含むテンプレートを含むスタックセットに対してのみオペレーションを実行できます。ID 123456789012 を持つ組織管理アカウントにサインインした場合、ユーザーは、ou-1fsfsrsdsfrewr の OU をターゲットとするスタックセットに対してのみオペレーションを実行でき、さらに ID 987654321012 の AWS アカウント をターゲットとする ID stack-set-id のスタックセットに対してのみオペレーションを実行できます。

スタックセットテンプレートに、ポリシーで指定されているリソース以外のリソースタイプが含まれている場合、またはデプロイターゲットが、対応する管理アカウントとスタックセットのポリシーで指定されているもの以外の OU またはアカウント ID である場合、スタックセットオペレーションは失敗します。

これらのポリシー制限は、スタックセットオペレーションが us-east-1us-west-2、または eu-west-2 AWS リージョン をターゲットとする場合にのみ適用されます。

{ "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" ] } } } ] }

AWS CloudFormation の条件

IAM ポリシーでは、必要に応じて、ポリシーを有効にするタイミングを制御する条件を指定できます。たとえば、特定のテンプレート URL を指定したときにのみ がユーザーにスタックの作成を許可するように、ポリシーを定義できます。AWS CloudFormation 固有の条件や AWS 全体に対する、ポリシーが有効でなくなるタイミングを指定する DateLessThan などの条件を定義できます。AWS 全体の条件のリストについては、「IAM ユーザーガイド」の「IAM policy elements reference」(IAM ポリシー要素リファレンス) を参照してください。

注記

aws:SourceIp AWS 全体に対する条件を使用しないでください。AWS CloudFormation はリクエストの送信元 IP アドレスではなく、独自の IP アドレスを使用してリソースをプロビジョニングします。例えば、スタックを作成する際に、AWS CloudFormation は、Amazon EC2 インスタンスを起動したり Amazon S3 バケットを作成したりするために、CreateStack 呼び出しや aws cloudformation create-stack コマンドを実行した IP アドレスではなく、その IP アドレスからリクエストを行います。

次のリストは、AWS CloudFormation 固有の条件要件について説明しています。これらの条件は、ユーザーがスタックを作成または更新する場合にのみ適用されます。

cloudformation:ChangeSetName

ポリシーに関連付ける AWS CloudFormation 変更セットの名前。この条件を使用して、 ユーザーがどの変更セットを実行、または削除するかを制御します。

cloudformation:ImportResourceTypes

ポリシーに関連付ける、AWS::EC2::Instance などのテンプレートリソースタイプ。この条件を使用して、 ユーザーがスタックにリソースをインポートするときに、操作できるリソースタイプを指定します。この条件は、ユーザーが ResourcesToImport パラメータで宣言したリソースタイプに対して確認されます。このパラメータは、現在のところ AWS CLI および API リクエストでのみサポートされています。このパラメータを使用する場合は、インポートオペレーション中にユーザーが制御するリソースタイプをすべて指定する必要があります。ResourcesToImport パラメータについて詳しくは、「AWS CloudFormation API リファレンス」の「CreateChangeSet アクション」を参照してください。

可能な ResourcesToImport のリストについては、「インポートオペレーションをサポートするリソース」を参照してください。

3 つの部分からなるリソース命名規則を使用して、組織全体のすべてのリソースから個々のリソースタイプまで、ユーザーが操作できるリソースタイプを指定します。

organization::*

所定の組織のすべてのリソースタイプを指定します。

organization::service_name::*

所定の組織内で指定されたサービスのすべてのリソースタイプを指定します。

organization::service_name::resource_type

特定のリソースタイプを指定します。

例:

AWS::*

サポートされているすべての AWS リソースを指定します。

AWS::service_name::*

固有の AWS サービスでサポートされているすべてのリソースを指定します。

AWS::service_name::resource_type

AWS::EC2::Instance (すべての EC2 インスタンス) などの特定の AWS リソースタイプを指定します。

cloudformation:ResourceTypes

ポリシーに関連付ける AWS::EC2::Instance などのテンプレートリソース。この条件を使用して、 ユーザーがスタックを作成または更新したときに、操作できるリソースタイプを指定します。この条件は、ユーザーが ResourceTypes パラメータで宣言したリソースタイプに対して確認されます。このパラメータは、現在のところ AWS CLI および API リクエストでのみサポートされています。このパラメーターを使用する場合、ユーザーはそのテンプレートにあるすべてのリソースタイプを指定する必要があります。ResourceTypes パラメータについて詳しくは、「AWS CloudFormation API リファレンス」の「CreateStack アクション」を参照してください。

リソースタイプのリストについては、「AWS リソースおよびプロパティタイプのリファレンス」を参照してください。

3 つの部分からなるリソース命名規則を使用して、組織全体のすべてのリソースから個々のリソースタイプまで、ユーザーが操作できるリソースタイプを指定します。

organization::*

所定の組織のすべてのリソースタイプを指定します。

organization::service_name::*

所定の組織内で指定されたサービスのすべてのリソースタイプを指定します。

organization::service_name::resource_type

特定のリソースタイプを指定します。

例:

AWS::*

サポートされているすべての AWS リソースを指定します。

AWS::service_name::*

固有の AWS サービスでサポートされているすべてのリソースを指定します。

AWS::service_name::resource_type

AWS::EC2::Instance (すべての EC2 インスタンス) などの特定の AWS リソースタイプを指定します。

Alexa::ASK::*

Alexa スキルキットですべてのリソースタイプを指定します。

Alexa::ASK::Skill

個々の Skill リソースタイプを指定します。

Custom::*

すべてのカスタムリソースを指定します。

カスタムリソースの詳細については、の「Custom resources」(カスタムリソース) を参照してください。 

Custom::resource_type

特定のカスタムリソースタイプを指定します。

カスタムリソースの詳細については、の「Custom resources」(カスタムリソース) を参照してください。 

cloudformation:RoleARN

ポリシーに関連付ける IAM サービスロールの Amazon リソースネーム (ARN)。この条件を使用して、 ユーザーがスタックまたは変更セットを操作するとき、どのサービスロールを使用できるかを制御します。

cloudformation:StackPolicyUrl

ポリシーに関連付ける Amazon S3 スタックポリシーの URL。 ユーザーがスタックの作成または更新アクション時にスタックに関連付けることができるスタックポリシーを制御するには、この条件を使用します。スタックポリシーの詳細については、「スタックのリソースが更新されないようにする」を参照してください。

注記

アップロードしたスタックポリシーを使用した場合にのみユーザーがスタックを作成または更新できるようにするには、それらのユーザーのために S3 バケットを read only に設定します。

cloudformation:TemplateUrl

ポリシーに関連付ける Amazon S3 テンプレートの URL。この条件を使用して、スタックを作成または更新したときに ユーザーが使用できるテンプレートを指定します。

注記

アップロードしたテンプレートを使用した場合にのみユーザーがスタックを作成または更新できるようにするには、それらのユーザーのために S3 バケットを read only に設定します。

注記

同じ名前の API パラメータには、次の AWS CloudFormation 固有の条件が適用されます。

  • cloudformation:ChangeSetName

  • cloudformation:RoleARN

  • cloudformation:StackPolicyUrl

  • cloudformation:TemplateUrl

例えば、cloudformation:TemplateUrl は、CreateStackUpdateStack、および CreateChangeSet API の TemplateUrl パラメータにのみ適用されます。

次のポリシー例では、ユーザーがスタックを作成または更新する場合に、https://s3.amazonaws.com/testbucket/test.template テンプレート URL のみを使用することができます。

例 テンプレート URL の条件
{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack", "cloudformation:UpdateStack" ], "Resource" : "*", "Condition" : { "StringEquals" : { "cloudformation:TemplateUrl" : [ "https://s3.amazonaws.com/testbucket/test.template" ] } } } ] }

次のポリシー例では、ユーザーがインポートオペレーションを除くすべての AWS CloudFormation オペレーションを完了することを許可します。

例 リソースタイプのインポート条件
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllStackOperations", "Effect": "Allow", "Action": "cloudformation:*", "Resource": "*" }, { "Sid": "DenyImport", "Effect": "Deny", "Action": "cloudformation:*", "Resource": "*", "Condition": { "ForAnyValue:StringLike": { "cloudformation:ImportResourceTypes": [ "*" ] } } } ] }

次のポリシー例では、指定したリソース (この例では、AWS::S3::Bucket) でのみインポートオペレーションに加えて、すべてのスタックオペレーションを許可しています。

例 リソースタイプのインポート条件
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowImport", "Effect": "Allow", "Action": "cloudformation:*", "Resource": "*" "Condition": { "ForAllValues:StringEqualsIgnoreCase": { "cloudformation:ImportResourceTypes": [ "AWS::S3::Bucket" ] } } } ] }

次のポリシー例では、スタックのテンプレートに IAM サービスからのリソースが含まれていなければ、ユーザーにスタックの作成を許可します。このポリシーでは、ユーザーが ResourceTypes パラメータ (AWS CLI および API リクエストでのみ使用可能) を指定することも要求されます。このポリシーは、明示的な拒否ステートメントを使用することにより、他のポリシーが追加のアクセス権限を付与している場合、このポリシーが常に有効なままになるようにします (明示的な拒否ステートメントは常に明示的な許可ステートメントより優先されます)。

例 リソースタイプの条件
{ "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" } } } ] }

次のポリシー例は、前述の例と似ています。このポリシーでは、スタックのテンプレートに IAM サービスからのリソースが含まれていなければ、ユーザーにスタックの作成を許可します。さらに、ユーザーが ResourceTypes パラメータ (AWS CLI および API リクエストでのみ使用可能) を指定することも要求します。このポリシーはよりシンプルですが、明示的な拒否ステートメントを使用しません。追加のアクセス権限を付与する他のポリシーにより、このポリシーがオーバーライドされる可能性があります。

例 リソースタイプの条件
{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*", "Condition" : { "ForAllValues:StringNotLikeIfExists" : { "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ] }, "Null":{ "cloudformation:ResourceTypes": "false" } } } ] }

AWS CloudFormation テンプレートでの IAM リソースの承認

スタックを作成する前に、AWS CloudFormation によってテンプレートが検証されます。検証中、AWS CloudFormation は作成する可能性のある IAM リソースについてテンプレートをチェックします。IAM リソース (フルアクセス権を持つユーザーなど) は、AWS アカウント の任意のリソースにアクセスして変更できます。したがって、拡大した権限で意図していないリソースを作成しないように、進める前に各 IAM に関連付けられた権限を確認することをお勧めします。実行されたことを確認するには、スタックを作成する前に、AWS CloudFormation に指定された機能を付与して、テンプレートにそれらのリソースを含めることを承認する必要があります。

AWS CloudFormation コンソール、AWS Command Line Interface (AWS CLI)、または API を使用して、AWS CloudFormation テンプレートの機能を承認できます。

  • AWS CloudFormation コンソールで、[スタックの作成] または [スタックの更新] ウィザードの [確認] ページで [I acknowledge that this template may create IAM resources (このテンプレートが IAM リソースを作成する可能性を認識しています)] を選択します。

  • AWS CLI で、aws cloudformation create-stack および aws cloudformation update-stack コマンドを使用する場合は、--capabilities パラメータに CAPABILITY_IAM または CAPABILITY_NAMED_IAM 値を指定します。テンプレートに IAM リソースがある場合、いずれかの機能を指定できます。テンプレートの IAM リソースにカスタム名がある場合、CAPABILITY_NAMED_IAM を指定する必要があります。

  • API で CreateStackUpdateStack アクションを使用する際には、Capabilities.member.1=CAPABILITY_IAM または Capabilities.member.1=CAPABILITY_NAMED_IAM を指定します。テンプレートに IAM リソースがある場合、いずれかの機能を指定できます。テンプレートの IAM リソースにカスタム名がある場合、CAPABILITY_NAMED_IAM を指定する必要があります。

重要

テンプレートにカスタム名の IAM リソースが含まれている場合、同じテンプレートを再利用する複数のスタックを作成しないでください。IAM リソースはアカウント内でグローバルに一意でなければなりません。同じテンプレートを使用して異なるリージョンで複数のスタックを作成する場合、それぞれのスタックは一意なリソースを持つのではなく、同じ IAM リソースを共有する可能性があります。スタック間でリソースを共有すると、回復不可能な意図しない結果をまねく可能性があります。たとえば、1 つのスタックの共有された IAM リソースを削除または更新すると、意図せずに他のスタックのリソースの変更することになります。

Amazon EC2 インスタンスで実行されるアプリケーションの認証情報の管理

Amazon EC2 インスタンスで実行されるアプリケーションで、Amazon S3 バケットや DynamoDB テーブルなどの AWS リソースにリクエストを送信する必要がある場合、そのアプリケーションでは AWS セキュリティ認証情報が必要になります。ただし、起動するすべてのインスタンスにおける長期的なセキュリティ認証情報を配信して埋め込むことは非常に難しく、潜在的なセキュリティリスクを伴います。IAM ユーザー認証情報のような長期認証情報を使用する代わりに、インスタンスが起動される際に Amazon EC2 インスタンスに関連付けられる IAM ロールを作成することをお勧めします。アプリケーションは Amazon EC2 インスタンスから一時的な認証情報を得ることができます。インスタンスに長期認証情報を埋め込む必要はありません。また、認証情報を管理しやすくするために、複数の Amazon EC2 インスタンスに対して 1 つのロールのみを指定できます。インスタンスごとに個別の認証情報を作成する必要はありません。

ロールでのインスタンスの起動方法を示すテンプレートスニペットについては、「IAM ロールのテンプレートの例」を参照してください。

注記

一時的なセキュリティ認証情報を使用するインスタンスにあるアプリケーションでは、AWS CloudFormation アクションを呼び出すことができます。ただし、AWS CloudFormation は他の多数の AWS サービスとやり取りするため、使用するすべてのサービスが一時的なセキュリティ認証情報をサポートすることを確認する必要があります。詳細については、AWS STS がサポートする AWS サービスを参照してください。

一時的なアクセス権の付与 (フェデレーションアクセス)

場合によっては、AWS アカウント に対して AWS 認証情報のない一時的なアクセス権をユーザーに付与する必要があります。一時的なアクセス権を付与する場合は、長期認証情報を作成して削除するのではなく、AWS Security Token Service (AWS STS) を使用します。たとえば、IAM ロールを使用できます。1 つの IAM ロールから、多くの一時的なセキュリティ認証情報 (アクセスキー、シークレットアクセスキー、およびセキュリティトークンを含む) をプログラムで作成し、配信することができます。これらの認証情報の有効期限は限られているため、期限が切れた後は AWS アカウント へのアクセスに使用することはできません。また、個々のユーザーに異なるレベルのアクセス許可を付与するために、複数の IAM ロールを作成することもできます。IAM ロールは、連合 ID やシングルサインオンのようなシナリオに対して有用です。

フェデレーティッドアイデンティティは、複数のシステムで使用できる固有のアイデンティティです。確立されたオンプレミスアイデンティティシステム (LDAP または Active Directory など) を使用している企業ユーザーの場合、そのオンプレミスアイデンティティシステムを使用してすべての認証を処理できます。ユーザーが認証された後で、適切な IAM ユーザーまたは IAM ロールから一時的なセキュリティ認証情報を提供します。たとえば、管理者が AWS アカウントへの完全アクセス権を持ち、デベロッパーが AWS CloudFormation スタックでの作業のみのアクセス許可を持つ、administrators ロールおよび developers ロールを作成できます。管理者は、認証された後で、administrators ロールから一時的なセキュリティ認証情報を取得することが許可されます。一方で、開発者は developers ロールからのみ一時的なセキュリティ認証情報を取得できます。

また、AWS Management Console にフェデレーションユーザーアクセスを付与できます。ユーザーがオンプレミスアイデンティティシステムで認証された後で、AWS Management Console への直接アクセス権を付与する一時的な URL をプログラムによって作成できます。ユーザーは既に認証されているため (シングルサインオン)、その一時的な URL を使用するときには AWS にサインインする必要がありません。また、この URL はユーザーの一時的なセキュリティ認証情報から作成されるため、この認証情報で利用できるアクセス許可によって、AWS Management Console でユーザーに付与されるアクセス許可が決まります。

一時的なセキュリティ認証情報を生成するために複数のさまざまな AWS STS API を使用できます。使用する API の詳細については、「一時的なセキュリティ認証情報の使用」の「Ways to get temporary security credentials」(一時的セキュリティ認証情報を取得する方法) を参照してください。

重要

GetFederationToken API から生成された一時的なセキュリティ認証情報を使用する場合は、IAM で作業することはできません。IAM での作業が必要な場合、代わりにロールからの一時的なセキュリティ認証情報を使用します。

AWS CloudFormation は他の多数の AWS サービスとやり取りします。AWS CloudFormation で一時的なセキュリティ認証情報を使用する場合は、使用するすべてのサービスが一時的なセキュリティ認証情報をサポートすることを確認してください。詳細については、AWS STS がサポートする AWS サービスを参照してください。

詳細については、一時的なセキュリティ認証情報の使用 で以下の関連リソースを参照してください。