スキップしてコンテンツを表示

CloudFormation スタックで発生する、タグ付けアクセス許可のエラーを解決する方法を教えてください。

所要時間1分
0

AWS CloudFormation スタックに障害が発生したときに発生する、タグ付けアクセス許可のエラーを解決したいです。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI のエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

適切なタグ付けアクセス許可を持たずに CloudFormation スタックのリソースを作成、更新、または削除すると、スタックの操作が失敗します。この問題を解決するには、必要なタグ付けアクセス許可を AWS Identity and Access Management (IAM) プリンシパルに付与する必要があります。

失敗したロールと API オペレーションを特定する

Amazon Elastic Compute Cloud (Amazon EC2) リソースでは、エンコードされた認証失敗メッセージをデコードします。失敗したロールと API オペレーションを特定するには、次の decode-authorization-message AWS CLI コマンドを実行します。

aws sts decode-authorization-message --encoded-message example-encoded-message --example-region

注: example-encoded-message をエンコードされたメッセージに、example-region を AWS リージョンに置き換えます。

Amazon EC2 に関連しない他のリソースでは、スタックイベントページを参照し、エラーが発生したロールと API を確認します。

不足しているアクセス許可を IAM プリンシパルに追加する

タグ付け操作に使用する IAM プリンシパルを見つけるには、次の手順を実行します。

  1. CloudFormation コンソールを開きます。
  2. ナビゲーションペインで [スタック] を選択します。
  3. スタック名を選択し、[概要] セクションで [スタック ID] をメモします。

リストに表示されている IAM ロールの Amazon リソースネーム (ARN) がある場合、CloudFormation はそのロールを使用してリソースを管理し、タグ付けします。

リストに表示されている IAM ロールの ARN がない場合は、CloudFormation スタックのイベント履歴を確認してください。次の手順を実行します。

  1. AWS CloudTrail コンソールを開きます。
  2. ナビゲーションペインで [イベント履歴] を選択します。
  3. [ルックアップ属性] で [リソース名] を選択し、検索ボックスにスタック ID を入力します。<br id=hardline_break/> 注: イベント履歴には、過去 90 日間のイベントが含まれます。スタック ID 検索でイベントが表示されない場合は、スタックを更新してください。
  4. [イベント履歴] リストで、最初のイベント名を選択します。

userIdentity タイプフィールドが IAMUser の場合、arn フィールドのプリンシパルがリソースを管理します。userIdentity タイプが Role の場合、CloudFormation は sessionIssuer の arn フィールドにあるプリンシパルを使用します。

IAM ポリシーでタグ付けアクセス許可を付与する

infrastructure as code (IaC) サービスが IAM プリンシパルを管理している場合、関連する IAM ポリシーを同じ IaC サービスで更新する必要があります。

IAM コンソールを使用してタグ付けアクセス許可を付与するには、新しいインラインポリシーを作成するか、既存のポリシーを更新します。

IAM プリンシパルのタグ付けアクセス許可を設定するには、次の put-role-policy AWS CLI コマンドを実行することもできます。

aws iam put-role-policy ---role-name example-role-name --policy-name example-policy --policy-document file://AdminPolicy.json

注: example-role-name をロール名に、example-policy をポリシー名に、AdminPolicy.json をポリシー JSON ドキュメントに置き換えます。ファイル名と拡張子は重要ではありません。

また、CloudFormation テンプレートタグとリソースタグを一致させることで、インフラストラクチャの整合性を維持することもできます。

AWS公式更新しました 10ヶ月前
コメントはありません

関連するコンテンツ