AWS リソースにタグを追加しましたが、IAM ポリシーが機能しません。認証ベースのタグをサポートする AWS のサービスはどれですか?

最終更新日: 2022 年 2 月 17 日

リソースは正しいタグキーと値でタグ付けされていますが、AWS Identity and Access Management (IAM) ポリシーが、リソースのタグを評価していません。

簡単な説明

IAM ポリシーでは、グローバル条件キー aws: ResourceTag を使用して、リソースのタグキーと値に基づいてアクセスを制御できます。すべての AWS のサービスがタグ認証をサポートしているわけではありません。AWS Lambda 関数や Amazon Simple Queue Service (Amazon SQS) キューなど、一部の AWS リソースにはタグを付けることができます。ただし、これらのタグを IAM ポリシーで使用してリソースへのアクセスを制御することはできません。タグベースの認証をサポートする AWS のサービスのリストについては、「IAM と連携する AWS のサービス」を参照してください。

解決方法

AWS のサービスがタグベースの認証をサポートしていない場合は、サービスのアクション、リソース、条件キーをチェックして、IAM ポリシーでサポートされているリソースレベルの許可と条件キーを確認します。Amazon SQS でのアクセス管理の概要AWS Lambda のアイデンティティベースの IAM ポリシーなど、一部の AWS のサービスには、 IAM ポリシーの例が記載されたドキュメントがあります。

DeleteFunction や PublishVersion などの一部の Lambda アクションは、リソースレベルの許可を使用して特定の Lambda 関数に制限できます。この例の IAM ポリシーを IAM ユーザーに添付すると、これらの Lambda アクションが許可されますが、1 つの Lambda 関数に対してのみ許可されます。
注意:IAM ポリシーを編集して、独自の Lambda 関数 ARN を含めます。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowActionsOnSpecificFunction",
      "Effect": "Allow",
      "Action": [
        "lambda:DeleteFunction",
        "lambda:PublishVersion"
      ],
      "Resource": "arn:aws:lambda:us-west-2:123456789012:function:my-function"
    }
  ]
}