ポリシー概要 (サービスの一覧) - AWS Identity and Access Management

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

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


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

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

ポリシーの概要の表示

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

[ポリシー] ページのポリシー概要を表示するには
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

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

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

  4. ポリシーの [Summary (概要)] ページの [Permissions (アクセス許可)] タブを表示して、ポリシー概要を確認します。

ユーザーにアタッチされているポリシーの概要を表示するには
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

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

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

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

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

ロールにアタッチされているポリシーの概要を表示するには
  1. AWS Management Console にサインインして、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

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

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

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

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

ポリシーの編集による警告の編集

ポリシー概要の表示中に、タイプミスを見つけたり、必要なアクセス許可がポリシーから付与されないことに気付いたりすることがあります。ポリシー概要を直接編集することはできません。ただし、ビジュアルポリシーエディタを使用してお客様のマネージドポリシーを編集できます。これにより、ポリシー概要レポートで報告されるのと同じエラーや警告の多くをキャッチできます。次に、ポリシー概要の変更を表示して、これらのすべての問題を修正したことを確認できます。インラインポリシーを編集する方法については、「IAM ポリシーの編集」を参照してください。AWS の管理ポリシーを編集することはできません。

[Visual editor (ビジュアルエディタ)] タブを使用してポリシー概要のポリシーを編集するには
  1. 前の手順で説明されているように、ポリシー概要を開きます。

  2. [Edit policy] (ポリシーの編集) を選択します。

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

  3. [Visual editor] タブを選択して、ポリシーの編集可能な視覚表現を表示します。IAM はポリシーを再構成してビジュアルエディタに合わせて最適化し、問題を見つけて修正しやすくする場合があります。ページの警告とエラーメッセージは、ポリシーの問題を修正するために役立ちます。IAM によるポリシーの再構築の詳細については、「ポリシーの再構成」を参照してください。

  4. ポリシー概要に反映された変更を表示するには、ポリシーを編集し、[ポリシーの確認] を選択します。それでも問題が表示される場合は、[Previous (前に戻る)] を選択して編集画面に戻ります。

  5. [Save] (保存) を選択して変更を保存します。

[JSON] タブを使用してポリシー概要のポリシーを編集するには
  1. 前の手順で説明されているように、ポリシー概要を開きます。

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

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

    注記

    いつでも [Visual editor] (ビジュアルエディタ) タブと [JSON] タブを切り替えることができます。ただし、[Visual editor] タブで [Review policy] を変更または選択した場合、IAM はポリシーを再構成してビジュアルエディタに合わせて最適化することがあります。詳細については、「ポリシーの再構成」を参照してください。

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

  4. ポリシーを編集します。ポリシーの検証中に生成されたセキュリティ警告、エラー、または一般的な警告を解決してから、[ポリシーの確認]を選択します。それでも問題が表示される場合は、[Previous (前に戻る)] を選択して編集画面に戻ります。

  5. [Save] (保存) を選択して変更を保存します。

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

  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 アクセス許可があるかどうかが表示されます。アクセスレベルの概要の詳細と例については、「ポリシー概要内のアクセスレベルの概要について」を参照してください。

    • フルアクセス – このエントリは、そのサービスに使用可能な 4 つの全アクセスレベルのすべてのアクションへのアクセスが許可されていることを示します。この例では、この行はテーブルの [Explicit deny (明示的な拒否)] セクションにあるため、Amazon S3 アクションはすべて、ポリシーに含まれているリソースに対して拒否されます。

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

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

      Limited (制限あり): このポリシーでは、表示されている各アクセスレベル分類の 1 つ以上のアクションへのアクセスを許可しますが、すべてのアクションへのアクセスを許可するわけではありません。この例では、ポリシーによって、一部の請求アクションに Write 権限が付与されます。

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

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

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

    • リソーステキスト – このポリシーには、1 つのリソースがサービス内に含まれます。この例では、Amazon S3 バケットリソース developer_bucket に対してのみ、表示されているアクションを行うことができます。サービスから 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 の場合にのみ許可されます。

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

ポリシー内のポリシーまたは要素にアクセス許可を与えない場合、IAM にはポリシー概要に関する追加の警告と情報が表示されます。以下のポリシー概要テーブルは、[PolSumUser] (PolSum ユーザー) ユーザー詳細ページの [Show remaining 100] (残りの 100 を表示) サービスを拡張し、想定される警告と共に示しています。


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

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

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

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

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

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

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

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

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

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

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

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

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

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

  7. リソースは定義されていません – Tサービスはアクションを定義済みですが、サポートされるリソースはポリシーに含まれていないため、サービスはアクセス許可を付与しません。この場合、ポリシーには CodeCommit アクションが含まれますが、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": [ "billing:Get*", "payments:List*", "payments:Update*", "account:Get*", "account:List*", "cur:GetUsage*" ], "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" ] } } } ] }