メニュー
AWS Identity and Access Management
ユーザーガイド

ポリシー概要 (サービスの一覧)

ポリシーは、ポリシー概要、サービス概要アクション概要の 3 つのテーブルにまとめられています。ポリシー概要テーブルには、選択したポリシーによって定義されているサービスとアクセス権限の概要のリストが含まれます。

 3 つのテーブルとそれらの関係を示すポリシー概要の図

ポリシー概要テーブルは、[Uncategorized services]、[Explicit deny]、[Allow] という 1 つ以上のセクションにグループ化されます。IAM によって認識されないサービスがポリシーに含まれる場合、そのサービスはテーブルの [Uncategorized services] セクションに含まれます。IAM によって認識されるサービスがポリシーに含まれる場合、ポリシーの効果 (Deny または Allow) に応じて、そのサービスはテーブルの [Explicit deny] セクションまたは [Allow] セクションに含まれます。

ポリシー概要の表示

[Users] ページで、ユーザーにアタッチされているポリシーの概要を表示できます。[Roles] ページで、ロールにアタッチされているポリシーの概要を表示できます。[Policies] ページで、管理ポリシーのポリシー概要を表示できます。ポリシー概要がポリシーに含まれていない場合、その理由については、「欠落しているポリシーの概要」を参照してください。

[Policies] ページのポリシー概要を表示するには

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. ナビゲーションペインで、[Policies] を選択します。

  3. ポリシーの一覧で、表示するポリシーの名前を選択します。

  4. ポリシーの [Summary] ページの [Permissions] タブを表示して、ポリシー概要を確認します。

ユーザーにアタッチされているポリシーの概要を表示するには

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. ナビゲーションペインで [Users] を選択します。

  3. ユーザーのリストから、ポリシーを表示するユーザーを選択します。

  4. ユーザーの [Summary] ページの [Permissions] タブから、ユーザーに直接またはグループのユーザーにアタッチされているポリシーのリストを表示します。

  5. ユーザーのポリシーのテーブルで、表示するポリシーの行を展開します。

ロールにアタッチされているポリシーの概要を表示するには

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. ナビゲーションペインで [Roles (ロール) ] を選択します。

  3. ロールのリストから、表示するポリシーを含むロールの名前を選択します。

  4. ロールの [Summary] ページの [Permissions] タブから、ロールにアタッチされているポリシーのリストを表示します。

  5. ロールのポリシーのテーブルで、表示するポリシーの行を展開します。

ポリシーを編集してポリシー概要を変更する

ポリシー概要の表示中に、タイプミスを見つけたり、想定されたアクセス権限がポリシーによって付与されないことに気付いたりすることがあります。ポリシー概要を直接編集することはできません。ただし、JSON ポリシーエディタを使用してポリシーを編集し、ポリシー概要でその変更を表示することはできます。AWS 管理ポリシーを編集することはできません。

ポリシー概要のポリシーを編集します。

  1. 前の手順で説明されているように、ポリシー概要を開きます。

  2. [{ } JSON] および [Policy summary] を選択して、ポリシー概要と JSON ポリシードキュメントを比較します。この情報を使用して、ポリシードキュメントで変更する行を確認できます。

  3. [Edit policy] を選択して、JSON ポリシードキュメントを編集します。

    [Users] ページが表示された状態で、ユーザーにアタッチされているカスタマー管理ポリシーを編集しようとすると、[Policies] ページにリダイレクトされます。カスタマー管理ポリシーは、[Policies] ページでのみ編集できます。

  4. ポリシーを編集したら、[Save] を選択して変更を保存します。

  5. ポリシー概要に反映された変更を表示するには、[Policy summary] を選択します。

ポリシー概要の要素について

ユーザー詳細ページの以下の例では、[PolSumUser] ユーザーに、8 つのポリシーがアタッチされています。[SummaryAllElements] ポリシーは、ユーザーに直接アタッチされている管理ポリシー (カスタマー管理ポリシー) です。ポリシー概要を表示するには、このポリシーを展開します。このポリシーの JSON ポリシードキュメントを確認するには、「SummaryAllElements JSON ポリシードキュメント」を参照してください。

 ポリシー概要のダイアログイメージ

前のイメージの場合、ポリシー概要は、ユーザーの詳細ページ内に表示されます。

  1. ユーザーの [Permissions] タブには、[PolSumUser] ユーザーにアタッチされているポリシーが含まれます。

  2. [SummaryAllElements] ポリシーは、ユーザーにアタッチされている複数のポリシーのうちの 1 つです。ポリシー概要を表示するには、ポリシーを展開します。

  3. ポリシーに定義されているすべてのアクション、リソース、条件に対し、ポリシーで権限が付与されない場合、警告またはエラーバナーがページの上部に表示されます。すると、問題に関する詳細がポリシー概要に含まれます。ポリシーで付与されるアクセス許可について理解し、問題の解決にポリシー概要をどのように役立てるかについては、「使用するポリシーが予期するアクセス許可を付与しない」を参照してください。

  4. [Policy summary] と [{ } JSON] ボタンを使用して、ポリシー概要と JSON ポリシードキュメントを切り替えます。

  5. ポリシーをテストするには、[Simulate policy] で Policy Simulator を開きます。

  6. 検索ボックスを使用してサービスのリストを縮小すると、特定のサービスを簡単に表示できます。

  7. 展開されたビューには、SummaryAllElements ポリシーの追加の詳細が表示されます。

次のポリシー概要テーブルの図は、[PolSumUser] ユーザー詳細ページで展開した [SummaryAllElements] ポリシーを示しています。

 ポリシー概要のダイアログイメージ

前のイメージの場合、ポリシー概要は、ユーザーの詳細ページ内に表示されます。

  1. [Service] – この列には、ポリシー内で定義されているサービス一覧と各サービスの詳細が表示されています。ポリシー概要テーブルの各サービス名は、[service summary] テーブルへのリンクです。詳細については、「サービス概要 (アクションのリスト)」を参照してください。この例のアクセス権限は、Amazon S3、請求、Amazon EC2 サービス向けに定義されています。このポリシーでは、IAM によって認識されない (スペルミスがある) codedploy サービスに対するアクセス権限も定義します。

  2. Unrecognized services – このポリシーには、認識されないサービス (この場合は codedploy ) が含まれます。この警告を使用して、サービス名にタイプミスが含まれている可能性があるかどうかを確認できます。サービス名が正しい場合、サービスはポリシー概要をサポートしていないか、プレビュー中であるか、カスタムサービスである可能性があります。一般公開された (GA) サービスに対するポリシー概要のサポートをリクエストするには、「サービスが IAM ポリシー概要をサポートしていない」を参照してください。この例では、認識されない codedploy サービスがポリシーに含まれており、その名前で e が欠落しています。このタイプミスのため、ポリシーによって想定される AWS CodeDeploy アクセス権限が付与されません。正確な codedeploy サービス名を含むように、ポリシーを編集できます。これにより、そのサービスがポリシー概要に表示されるようになります。

  3. IAM によって認識されるサービスは、ポリシーによってそのサービスの使用が許可されるか明示的に拒否されるかに応じて、グループ化されます。この例では、Amazon S3 サービスに対する Allow および Deny ステートメントがポリシーに含まれます。そのため、ポリシー概要には、[Explicit deny] および [Allow] の両セクション内の S3 が含まれています。

  4. Show remaining 100 – このリンクを選択すると、テーブルが展開されて、ポリシーで定義されていないサービスが表示されます。これらのサービスは、このポリシー内で暗黙的に拒否 (またはデフォルトで拒否) されています。ただし、別のポリシーのステートメントでは、そのサービスの使用が許可されているか明示的に拒否されている可能性があります。ポリシー概要には、1 つのポリシーのアクセス権限がまとめられています。特定のリクエストを許可するか拒否するかを AWS サービスがどのようにして決定しているかについては、「IAM ポリシーの評価論理」を参照してください。

  5. EC2 – このサービスには、認識されないアクションが含まれます。IAM によって、ポリシー概要をサポートするサービスの名前、アクション、リソースタイプが認識されます。サービスが認識されても、そのサービスに認識されないアクションが含まれていると、IAM では、そのサービスの横に警告が表示されます。この例では、IAM によって 1 つ以上の Amazon EC2 アクションが認識できていません。認識されないアクションの詳細、および S3 サービス概要で認識されないアクションを表示する方法については、「サービス概要 (アクションのリスト)」を参照してください。

    注記

    IAM によって、ポリシー概要をサポートするサービスの名前、アクション、リソースタイプが確認されます。ただし、ポリシー概要には、存在しないリソース値または条件が含まれる可能性があります。必ず Policy Simulator でポリシーをテストしてください。

  6. S3 – このサービスには、認識されないリソースが含まれます。IAM によって、ポリシー概要をサポートするサービスの名前、アクション、リソースタイプが認識されます。サービスが認識されても、そのサービスに認識されないリソースタイプが含まれていると、IAM では、そのサービスの横に警告が表示されます。この例では、IAM によって 1 つ以上の Amazon S3 アクションが認識できていません。認識されないリソースの詳細、および S3 サービス概要で認識されないリソースタイプを表示する方法については、「サービス概要 (アクションのリスト)」を参照してください。

  7. [Access level] – この列には、各アクセスレベル (ListReadWritePermissions management) のアクションに、ポリシーで定義されている Full または Limited 権限があるかどうかが表示されています。アクセスレベルの概要の詳細と例については、「ポリシー概要内のアクセスレベルの概要について」を参照してください。

    • [Full access] – このエントリは、すべてのアクションを、サービスが提供する 4 つすべてのアクセスレベルで行うことができることを表しています。この例では、この行はテーブルの [Explicit deny] セクションにあるため、Amazon S3 アクションはすべて、ポリシーに含まれているリソースで拒否されます。

    • エントリに [Full access] が含まれていない場合、一部のサービスは利用できますが、すべてのアクションを利用できるわけではありません。このアクセスは、4 種類に分類されている各アクセスレベル (ListReadWritePermissions management) の説明のとおりに定義されます。

      [Full]: このポリシーでは、表示されている各アクセスレベル分類で、すべてのアクションを利用できます。この例では、ポリシーによって、すべての請求アクションに Read 権限が付与されます。

      [Limited]: このポリシーでは、各アクセスレベルのアクションを 1 つ以上行うことができますが、すべてのアクションを行うことができるとは限りません。この例では、ポリシーによって、一部の請求アクションに Write 権限が付与されます。

  8. [Resource] – この列には、各サービスに対してポリシーで指定したリソースが表示されます。

    • [Multiple] – このポリシーには、サービス内に複数のリソースが含まれていますが、すべてのリソースが含まれているとは限りません。この例では、複数の Amazon S3 リソースへのアクセスは明示的に拒否されます。

    • [All resources] – このポリシーは、サービス内のすべてのリソースに対して定義されています。この例では、ポリシーによって、一覧表示されたアクションをすべての請求リソースで行うことができるようになります。

    • リソーステキスト – このポリシーには、1 つのリソースがサービス内に含まれます。この例では、developer_bucket Amazon S3 バケットリソースでのみ、一覧表示されたアクションを行うことができます。サービスから IAM に渡される情報に応じて、arn:aws:s3:::developer_bucket/* などの ARN が表示されるか、BucketName = developer_bucket などの定義されたリソースタイプが表示される場合があります。

      注記

      この列には、別のサービスのリソースが含まれることがあります。リソースを含むポリシーステートメントで、アクションとリソースの両方がサービスに一致しない場合、ポリシーには不一致のリソースが含まれます。ポリシーを作成するときや、ポリシー概要でポリシーを表示するとき、IAM では不一致のリソースについて警告されません。この列に不一致のリソースが含まれる場合は、ポリシーのエラーを確認する必要があります。ポリシーをより深く理解するために、必ず Policy Simulator でテストしてください。

  9. [Request condition] – この列では、リソースに関連付けられたサービスまたはアクションが条件の対象かどうかを示します。

    • [None] – このポリシーには、サービスの条件は含まれません。この例では、Amazon S3 サービスで拒否されたアクションに条件は適用されません。

    • 条件のテキスト – このポリシーには、サービスに対する 1 つの条件が含まれます。この例では、表示される請求アクションは、ソースの IP アドレスが 203.0.113.0/24 の場合にのみ許可されます。

    • [Multiple] – このポリシーでは、サービスに対する複数の条件が含まれます。この例では、表示される Amazon S3 アクションへのアクセスは、複数の条件に基づいて許可されます。ポリシーの複数の条件のそれぞれを表示するには、[{ } JSON] を選択してポリシードキュメントを表示します。

ポリシー内のポリシーまたはエレメントにアクセス許可を与えない場合、IAM にはポリシー概要に関する追加の警告と情報が表示されます。次のポリシー概要テーブルは、[PolSumUser] ユーザー詳細ページで展開した Show remaining 100 サービスを予期される警告とともに示しています。

 ポリシー概要のダイアログイメージ

前のイメージには、アクセス許可のない定義済みアクション、リソース、または条件を含むすべてのサービスを示しています。

  1. リソースの警告 – すべてのアクションまたはリソースに対するアクセス許可がないサービスについては、次のいずれかの警告がテーブルの [Resource] 列に表示されます。

    • リソースが定義されていません。 – これは、サービスではアクションが定義されていますが、ポリシーにはサポートされるリソースが含まれていないことを意味します。

    • 1 つ以上のアクションには該当するリソースがありません。 – これは、サービスではアクションが定義されていますが、アクションの一部にサポートされているリソースがないことを意味します。

    • 1 つ以上のリソースには該当するアクションがありません。 – これは、サービスではリソースが定義されていますが、一部のリソースにサポートされているアクションがないことを意味します。

    サービスに、該当するリソースがないアクションと、該当するリソースのないリソースの両方が含まれている場合、「1 つ以上のリソースに適用可能なアクションがありません」という警告のみが表示されます。これは、サービスの概要を表示する際に、アクションに適用されないリソースが表示されないために発生します。ListAllMyBuckets アクションの場合、このポリシーには最後の警告が含まれます。アクションがリソースレベルのアクセス許可をサポートせず、s3:x-amz-acl 条件キーをサポートしていないためです。リソースまたは条件に関する問題が解決すると、残りの問題が警告の詳細に表示されます。

  2. リクエスト条件の警告 – すべての条件に対するアクセス許可がないサービスについては、次のいずれかの警告がテーブルの [Request condition] 列に表示されます。

    • 1 つ以上のアクションには該当する条件がありません。 – これは、サービスではアクションが定義されていますが、一部のアクションにはサポートされている条件がないことを意味します。

    • 1 つ以上の条件には該当するアクションがありません。 – これは、サービスでは条件が定義されていますが、一部の条件にはサポートされているアクションがないことを意味します。

  3. 複数 | 1 つ以上のアクションには該当するリソースがありません。 – Amazon S3 に対する Deny ステートメントで、複数のリソースが含まれます。また、複数のアクションも含まれ、一部のアクションはリソースをサポートしていますが、他のアクションはサポートしていません。このポリシーを表示するには、SummaryAllElements JSON ポリシードキュメント を参照してください。この場合、ポリシーにはすべての Amazon S3 アクションが含まれ、バケットまたはバケット内のオブジェクトで実行可能なアクションのみが拒否されます。

  4. 省略符号 (…) は、ページ内にすべてのサービスが含まれていますが、このポリシーに関連した情報のある行のみが表示されていることを示します。このページを AWS マネジメントコンソール に表示すると、すべての AWS サービスを確認できます。

  5. テーブルの列の背景色は、サービスにはいずれのアクセス許可も付与されないことを示します。ポリシー概要ではこれらのサービスに関する情報は入手できません。白い行のサービスについては、サービスの名前を選択すると、サービス概要 (アクションの一覧) ページを表示することができます。ここでは、そのサービスに付与されるアクセス許可に関する詳細情報を確認できます。

  6. None - アクションが定義されていません。 – これは、サービスはリソースまたは条件として定義されていますが、そのサービスにはアクションが含まれていないために、このサービスにはアクセス許可がないことを意味します。この場合、ポリシーには AWS CodeBuild リソースが含まれますが、AWS CodeBuild アクションは含まれません。

  7. リソースは定義されていません – サービスはアクションを定義済みですが、サポートされるリソースはポリシーに含まれていないため、サービスはアクセス許可を付与しません。この場合、ポリシーには AWS CodeCommit アクションが含まれますが、AWS CodeCommit リソースは含まれません。

  8. BucketName = developer_bucket, ObjectPath = All | 1 つ以上のリソースには該当するアクションがありません。 – サービスはバケットオブジェクトリソースを定義済みですが、サポートするアクションがないリソースが 1 つ以上あります。

  9. s3:x-amz-acl = public-read | 1 つ以上の条件には該当するアクションがありません。 – サービスは s3:x-amz-acl 条件キーを定義済みですが、サポートするアクションのない条件キーが 1 つ以上あります。

SummaryAllElements JSON ポリシードキュメント

SummaryAllElements ポリシーは、アカウントのアクセス許可を定義するために使用するものではありません。むしろ、ポリシー概要を表示している間に発生する可能性のあるエラーや警告について説明することが目的です。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aws-portal:ViewBilling",
                "aws-portal:ViewPaymentMethods",
                "aws-portal:ModifyPaymentMethods",
                "aws-portal:ViewAccount",
                "aws-portal:ModifyAccount",
                "aws-portal:ViewUsage"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "203.0.113.0/24"
                }
            }
        },
        {
            "Effect": "Deny",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::customer",
                "arn:aws:s3:::customer/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:GetConsoleScreenshots"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codedploy:*",
                "codecommit:*"
            ],
            "Resource": [
                "arn:aws:codedeploy:us-west-2:123456789012:deploymentgroup:*",
                "arn:aws:codebuild:us-east-1:123456789012:project/my-demo-project"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:GetObject",
                "s3:DeletObject",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::developer_bucket",
                "arn:aws:s3:::developer_bucket/*",
                "arn:aws:autoscling:us-east-2:123456789012:autoscalgrp"
            ],
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": [
                        "public-read"
                    ],
                    "s3:prefix": [
                        "custom",
                        "other"
                    ]
                }
            }
        }
    ]
}