AWS Identity and Access Management で CloudFormation アクセスを制御する
AWS Identity and Access Management (IAM) により、IAM ユーザーを作成して、各ユーザーが AWS アカウント のどのリソースにアクセスできるかを制御することができます。AWS CloudFormation と IAM を使用して、スタックテンプレートの表示、スタックの作成、スタックの削除など、ユーザーが CloudFormation で実行できるアクションを制御できます。
CloudFormation アクションに加えて、各ユーザーが利用できる AWS サービスおよびリソースを管理できます。この方法で、ユーザーが CloudFormation の使用時にアクセスできるリソースを管理できます。たとえば、Amazon EC2 インスタンスを作成できるユーザー、データベースインスタンスを終了できるユーザ、または VPC を更新できるユーザを指定できます。CloudFormation を使用してそれらのアクションを実行するときはいつでも同じ許可が適用されます。
アクセスを制御できるすべてのサービスの詳細については、「IAM ユーザーガイド」の「IAM をサポートする AWS のサービス」を参照してください。
トピック
CloudFormation アクション
AWS アカウント でグループまたはユーザーを作成する際は、そのグループまたはユーザーに IAM ポリシーを関連付けることで、付与する許可を指定することができます。例えば、入門レベルの開発者グループを想定してみましょう。入門レベルの開発者がすべて含まれるジュニア (短経歴) アプリ開発者グループを作成できます。次に、ユーザーに CloudFormation スタックの表示のみを許可しているポリシーをグループとを関連付けます。このシナリオでは、以下のサンプルのようなポリシーを使用します。
例 スタック表示アクセス許可を付与するポリシー例
{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources" ], "Resource":"*" }] }
このポリシーは、DescribeStack
エレメントにリストされたすべての Action
API アクションへのアクセス許可を付与します。
重要
ステートメントでスタック名または ID を指定しない場合は、*
要素に Resource
ワイルドカードを使用してアクションにすべてのリソースを使用するためのアクセス許可も付与する必要があります。
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":"*" }] }
許可または拒否できるすべての CloudFormation アクションのリストについては、「AWS CloudFormation API リファレンス」を参照してください。
CloudFormation コンソール固有のアクション
CloudFormation コンソールを使用するユーザーには、AWS Command Line Interface または CloudFormation API を使用する場合に必要とならない追加の許可が必要です。AWS CLI および API と比較して、コンソールには追加のアクセス許可が必要な追加の機能 (Amazon S3 バケットへのテンプレートアップロード)、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)
CloudFormation リソース
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-1
、us-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
" ] } } } ] }
CloudFormation の条件
IAM ポリシーでは、必要に応じて、ポリシーを有効にするタイミングを制御する条件を指定できます。たとえば、特定のテンプレート URL を指定したときにのみ がユーザーにスタックの作成を許可するように、ポリシーを定義できます。CloudFormation 固有の条件や AWS 全体に対する、ポリシーが有効でなくなるタイミングを指定する DateLessThan
などの条件を定義できます。AWS 全体の条件のリストについては、「IAM ユーザーガイド」の「IAM policy elements reference」(IAM ポリシー要素リファレンス) を参照してください。
注記
aws:SourceIp
AWS 全体の条件を使用しないでください。CloudFormation はリクエストの送信元 IP アドレスではなく、独自の IP アドレスを使用してリソースをプロビジョニングします。例えば、スタックを作成する際に、CloudFormation は、Amazon EC2 インスタンスを起動したり Amazon S3 バケットを作成したりするために、CreateStack
コールや create-stack コマンドを実行した IP アドレスではなく、その IP アドレスからリクエストを行います。
次のリストは、CloudFormation 固有の条件要件について説明しています。これらの条件は、ユーザーがスタックを作成または更新する場合にのみ適用されます。
cloudformation:ChangeSetName
-
ポリシーに関連付ける 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
-
個々の Alexa::ASK::Skill リソースタイプを指定します。
Custom::*
-
すべてのカスタムリソースを指定します。
詳細については、「カスタムリソースを使用してカスタムプロビジョニングロジックを作成する」を参照してください。
Custom::
resource_type
-
特定のカスタムリソースタイプを指定します。
詳細については、「カスタムリソースを使用してカスタムプロビジョニングロジックを作成する」を参照してください。
cloudformation:RoleARN
-
ポリシーに関連付ける IAM サービスロールの Amazon リソースネーム (ARN)。この条件を使用して、 ユーザーがスタックまたは変更セットを操作するとき、どのサービスロールを使用できるかを制御します。
cloudformation:StackPolicyUrl
-
ポリシーに関連付ける Amazon S3 スタックポリシーの URL。 ユーザーがスタックの作成または更新アクション時にスタックに関連付けることができるスタックポリシーを制御するには、この条件を使用します。スタックポリシーの詳細については、「スタックのリソースが更新されないようにする」を参照してください。
注記
アップロードしたスタックポリシーを使用した場合にのみユーザーがスタックを作成または更新できるようにするには、それらのユーザーのために S3 バケットを読み取り専用に設定します。
cloudformation:TemplateUrl
-
ポリシーに関連付ける Amazon S3 テンプレートの URL。この条件を使用して、スタックを作成または更新したときに ユーザーが使用できるテンプレートを指定します。
注記
アップロードしたテンプレートを使用した場合にのみユーザーがスタックを作成または更新できるようにするには、それらのユーザーのために S3 バケットを読み取り専用に設定します。
注記
同じ名前の API パラメータには、次の CloudFormation 固有の条件が適用されます。
-
cloudformation:ChangeSetName
-
cloudformation:RoleARN
-
cloudformation:StackPolicyUrl
-
cloudformation:TemplateUrl
例えば、
cloudformation:TemplateUrl
は、CreateStack
、UpdateStack
、およびCreateChangeSet
API のTemplateUrl
パラメータにのみ適用されます。 -
例
次のポリシー例では、ユーザーがスタックを作成または更新する場合に、
テンプレート URL のみを使用することができます。https://s3.amazonaws.com/amzn-s3-demo-bucket/test.template
例 テンプレート URL の条件
{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack", "cloudformation:UpdateStack" ], "Resource" : "*", "Condition" : { "StringEquals" : { "cloudformation:TemplateUrl" : [ "
https://s3.amazonaws.com/amzn-s3-demo-bucket/test.template"
] } } } ] }
次のポリシー例では、ユーザーがインポートオペレーションを除くすべての 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" } } } ] }
CloudFormation テンプレートでの IAM リソースの承認
スタックを作成する前に、CloudFormation によってテンプレートが検証されます。検証中、CloudFormation は作成する可能性のある IAM リソースについてテンプレートをチェックします。IAM リソース (フルアクセス権を持つユーザーなど) は、AWS アカウント の任意のリソースにアクセスして変更できます。したがって、拡大した権限で意図していないリソースを作成しないように、進める前に各 IAM に関連付けられた権限を確認することをお勧めします。実行されたことを確認するには、スタックを作成する前に、CloudFormation に指定された機能を付与して、テンプレートにそれらのリソースを含めることを承認する必要があります。
CloudFormation コンソール、AWS Command Line Interface (AWS CLI)、または API を使用して、CloudFormation テンプレートの機能を承認できます。
-
CloudFormation コンソールで、[スタックを作成] または [スタックを更新] ウィザードの [スタックオプションの設定] ページで [I acknowledge that this template may create IAM resources (このテンプレートが IAM リソースを作成する可能性を認識しています)] を選択します。
-
AWS CLI で、create-stack および update-stack コマンドを使用する場合は、
--capabilities
オプションにCAPABILITY_IAM
またはCAPABILITY_NAMED_IAM
値を指定します。テンプレートに IAM リソースがある場合、いずれかの機能を指定できます。テンプレートの IAM リソースにカスタム名がある場合、CAPABILITY_NAMED_IAM
を指定する必要があります。 -
API で CreateStack と UpdateStack アクションを使用する際には、
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 ロールのテンプレートの例」を参照してください。
注記
一時的なセキュリティ認証情報を使用するインスタンスにあるアプリケーションでは、CloudFormation アクションを呼び出すことができます。ただし、CloudFormation は他の多数の AWS サービスとやり取りするため、使用するすべてのサービスが一時的なセキュリティ認証情報をサポートすることを確認する必要があります。一時的なセキュリティ認証情報を受け入れるサービスのリストについては、IAM ユーザーガイドの「IAM と連携する AWS サービス」を参照してください。
一時的なアクセス権の付与 (フェデレーションアクセス)
場合によっては、AWS アカウント に対して AWS 認証情報のない一時的なアクセス権をユーザーに付与する必要があります。一時的なアクセス権を付与する場合は、長期認証情報を作成して削除するのではなく、AWS Security Token Service (AWS STS) を使用します。たとえば、IAM ロールを使用できます。1 つの IAM ロールから、多くの一時的なセキュリティ認証情報 (アクセスキー、シークレットアクセスキー、およびセキュリティトークンを含む) をプログラムで作成し、配信することができます。これらの認証情報の有効期限は限られているため、期限が切れた後は AWS アカウント へのアクセスに使用することはできません。また、個々のユーザーに異なるレベルのアクセス許可を付与するために、複数の IAM ロールを作成することもできます。IAM ロールは、連合 ID やシングルサインオンのようなシナリオに対して有用です。
フェデレーティッドアイデンティティは、複数のシステムで使用できる固有のアイデンティティです。確立されたオンプレミスアイデンティティシステム (LDAP または Active Directory など) を使用している企業ユーザーの場合、そのオンプレミスアイデンティティシステムを使用してすべての認証を処理できます。ユーザーが認証された後で、適切な IAM ユーザーまたは IAM ロールから一時的なセキュリティ認証情報を提供します。例えば、管理者が AWS アカウントへの完全アクセス権を持ち、デベロッパーが CloudFormation スタックでの作業のみのアクセス許可を持つ、管理者ロールおよび開発者ロールを作成できます。管理者は、認証された後で、管理者ロールから一時的なセキュリティ認証情報を取得することが認可されます。一方で、開発者は開発者ロールからのみ一時的なセキュリティ認証情報を取得できます。
また、AWS Management Console にフェデレーションユーザーアクセスを付与できます。ユーザーがオンプレミスアイデンティティシステムで認証された後で、AWS Management Console への直接アクセス権を付与する一時的な URL をプログラムによって作成できます。ユーザーは既に認証されているため (シングルサインオン)、その一時的な URL を使用するときには AWS にサインインする必要がありません。また、この URL はユーザーの一時的なセキュリティ認証情報から作成されるため、この認証情報で利用できるアクセス許可によって、AWS Management Console でユーザーに付与されるアクセス許可が決まります。
一時的なセキュリティ認証情報を生成するために複数のさまざまな AWS STS API を使用できます。使用する API の詳細については、「IAM ユーザーガイド」の「AWS STS 認証情報を比較する」を参照してください。
重要
GetFederationToken
API から生成された一時的なセキュリティ認証情報を使用する場合は、IAM で作業することはできません。IAM での作業が必要な場合、代わりにロールからの一時的なセキュリティ認証情報を使用します。
CloudFormation は他の多数の AWS サービスとインタラクションします。CloudFormation で一時的なセキュリティ認証情報を使用する場合は、使用するすべてのサービスが一時的なセキュリティ認証情報をサポートすることを確認してください。一時的なセキュリティ認証情報を受け入れるサービスのリストについては、IAM ユーザーガイドの「IAM と連携する AWS サービス」を参照してください。
詳細については、「IAM ユーザーガイド」の次の関連リソースを参照してください。