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