ポリシー概要 (サービスの一覧)
ポリシーは、ポリシー概要、サービス概要、アクション概要の 3 つのテーブルにまとめられています。ポリシー概要テーブルには、選択したポリシーによって定義されているサービスとアクセス許可の概要のリストが含まれます。
ポリシー概要テーブルは、[Uncategorized services (未分類サービス)]、[Explicit deny (明示的な拒否)]、[許可] という 1 つ以上のセクションにグループ化されます。IAM によって認識されないサービスがポリシーに含まれる場合、そのサービスはテーブルの [Uncategorized services (未分類サービス)] セクションに含まれます。IAM によって認識されるサービスがポリシーに含まれる場合、ポリシーの効果 (Deny
または Allow
) に応じて、そのサービスはテーブルの [Explicit deny (明示的な拒否)] セクションまたは [許可] セクションに含まれます。
ポリシーの概要の表示
[ユーザーの詳細] 詳細ページの [アクセス許可] タブでポリシー名を選択することで、ユーザーにアタッチされているポリシーの概要を表示できます。[ロールの詳細] 詳細ページの [アクセス許可] タブでポリシー名を選択することで、ロールにアタッチされているポリシーの概要を表示できます。[ポリシー] ページで、管理ポリシーのポリシー概要を表示できます。ポリシー概要がポリシーに含まれていない場合、その理由については、「欠落しているポリシーの概要」を参照してください。
[ポリシー] ページのポリシー概要を表示するには
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで、[ポリシー] を選択します。
-
ポリシーの一覧で、表示するポリシーの名前を選択します。
-
ポリシーの [ポリシー詳細] ページで [アクセス許可] タブを表示して、ポリシー概要を確認します。
ユーザーにアタッチされているポリシーの概要を表示するには
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで [ユーザー] を選択します。
-
ユーザーのリストから、ポリシーを表示するユーザーを選択します。
-
ユーザーの [Summary (概要)] ページの [Permissions (アクセス許可)] タブから、ユーザーに直接、またはグループのユーザーにアタッチされているポリシーのリストを表示します。
-
ユーザーのポリシーのテーブルで、表示するポリシーの行を展開します。
ロールにアタッチされているポリシーの概要を表示するには
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで Roles (ロール) を選択します。
-
ロールのリストから、表示するポリシーを含むロールの名前を選択します。
-
ロールの [Summary (概要)] ページの [Permissions (アクセス許可)] タブから、ロールにアタッチされているポリシーのリストを表示します。
-
ロールのポリシーのテーブルで、表示するポリシーの行を展開します。
ポリシーの編集による警告の編集
ポリシー概要の表示中に、タイプミスを見つけたり、必要なアクセス許可がポリシーから付与されないことに気付いたりすることがあります。ポリシー概要を直接編集することはできません。ただし、ビジュアルポリシーエディタを使用してお客様のマネージドポリシーを編集できます。これにより、ポリシー概要レポートで報告されるのと同じエラーや警告の多くをキャッチできます。次に、ポリシー概要の変更を表示して、これらのすべての問題を修正したことを確認できます。インラインポリシーを編集する方法については、「IAM ポリシーの編集」を参照してください。AWS の管理ポリシーを編集することはできません。
[Visual] オプションを使用してポリシー概要のポリシーを編集するには
-
前の手順で説明されているように、ポリシー概要を開きます。
-
[編集] を選択します。
[ユーザー] ページが表示された状態で、ユーザーにアタッチされているカスタマー管理ポリシーを編集しようとすると、[ポリシー] ページにリダイレクトされます。カスタマー管理ポリシーは、[ポリシー] ページでのみ編集できます。
-
[Visual] オプションを選択して、ポリシーの編集可能な視覚表現を表示します。IAM はポリシーを再構成してビジュアルエディタに合わせて最適化し、問題を見つけて修正しやすくする場合があります。ページの警告とエラーメッセージは、ポリシーの問題を修正するために役立ちます。IAM によるポリシーの再構築の詳細については、「ポリシーの再構成」を参照してください。
-
ポリシー概要に反映された変更を表示するには、ポリシーを編集し、[次へ] を選択します。それでも問題が表示される場合は、[Previous (前に戻る)] を選択して編集画面に戻ります。
-
[変更を保存] を選択して、変更を保存します。
[JSON] オプションを使用してポリシー概要のポリシーを編集するには
-
前の手順で説明されているように、ポリシー概要を開きます。
-
[概要] と [JSON] ボタンを使用して、ポリシー概要と JSON ポリシードキュメントを比較します。この情報を使用して、ポリシードキュメントで変更する行を確認できます。
-
[編集] を選択し、[JSON] オプションを選択して、JSON ポリシードキュメントを編集します。
注記
いつでも [Visual] と [JSON] エディタオプションを切り替えることができます。ただし、[Visual] エディタで変更を行うか [次へ] を択した場合、IAM はポリシーを再構成して visual エディタに合わせて最適化することがあります。詳細については、「ポリシーの再構成」を参照してください。
[ユーザー] ページが表示された状態で、ユーザーにアタッチされているカスタマー管理ポリシーを編集しようとすると、[ポリシー] ページにリダイレクトされます。カスタマー管理ポリシーは、[ポリシー] ページでのみ編集できます。
-
ポリシーを編集します。ポリシーの検証中に生成されたセキュリティ警告、エラー、または一般的な警告を解決してから、[Next] (次へ) を選択します。それでも問題が表示される場合は、[Previous (前に戻る)] を選択して編集画面に戻ります。
-
[変更を保存] を選択して、変更を保存します。
ポリシー概要の要素について
次のポリシー詳細ページの例で、[SummaryAllElements] ポリシーは、ユーザーに直接アタッチされている管理ポリシー (カスタマー管理ポリシー) です。ポリシー概要を表示するには、このポリシーを展開します。
前のイメージで、ポリシー概要は、[ポリシー] ページ内に表示されます。
-
[アクセス許可] タブには、ポリシーで定義されたアクセス許可が含まれています。
-
ポリシーに定義されているすべてのアクション、リソース、条件に対し、ポリシーで権限が付与されない場合、警告またはエラーバナーがページの上部に表示されます。すると、問題に関する詳細がポリシー概要に含まれます。ポリシーで付与されるアクセス許可について理解し、問題の解決にポリシー概要をどのように役立てるかについては、「使用するポリシーが予期するアクセス許可を付与しない」を参照してください。
-
[概要] と [JSON] ボタンを使用して、ポリシー概要と JSON ポリシードキュメントを切り替えます。
-
[検索] ボックスを使用してサービスのリストを縮小すると、特定のサービスを簡単に検索できます。
-
展開されたビューには、[SummaryAllElements] ポリシーの追加の詳細が表示されます。
以下のポリシー概要テーブルの図は、[ポリシー詳細] ページで展開した [SummaryAllElements] ポリシーを示しています。
前のイメージで、ポリシー概要は、[ポリシー] ページ内に表示されます。
-
IAM によって認識されるサービスは、ポリシーによってそのサービスの使用が許可されるか明示的に拒否されるかに応じて、グループ化されます。この例のポリシーには、Amazon S3 サービスに関する
Deny
ステートメントと、請求、CodeDeploy、Amazon EC2 サービスに関するAllow
ステートメントが含まれています。 -
[Service (サービス)] – この列には、ポリシー内で定義されているサービス一覧と各サービスの詳細が表示されています。ポリシー概要テーブルの各サービス名は、[service summary (サービス概要)] テーブルへのリンクです。詳細については、「サービス概要 (アクションのリスト)」を参照してください。この例のアクセス許可は、Amazon S3、請求、CodeDeploy、Amazon EC2 サービス向けに定義されています。
-
[アクセスレベル] – この列には、各アクセスレベル (
List
、Read
、Write
、Permission Management
、およびTagging
) のアクションに、ポリシーで定義されているFull
またはLimited
アクセス許可があるかどうかが表示されます。アクセスレベルの概要の詳細と例については、「ポリシー概要内のアクセスレベルの概要」を参照してください。-
フルアクセス – このエントリは、そのサービスに使用可能な 4 つの全アクセスレベルのすべてのアクションへのアクセスが許可されていることを示します。
-
エントリに [フルアクセス] が含まれていない場合、一部のサービスは利用できますが、すべてのアクションを利用できるわけではありません。このアクセスは、各アクセスレベル (
List
、Read
、Write
、Permission Management
、およびTagging
) の説明のとおりに定義されます。[フル]: このポリシーでは、表示されている各アクセスレベル分類のすべてのアクションへのアクセスを許可します。この例では、ポリシーによって、すべての請求アクションに
Read
権限が付与されます。Limited (制限あり): このポリシーでは、表示されている各アクセスレベル分類の 1 つ以上のアクションへのアクセスを許可しますが、すべてのアクションへのアクセスを許可するわけではありません。この例では、ポリシーによって、一部の請求アクションに
Write
権限が付与されます。
-
-
Resource (リソース) – この列には、各サービスに対してポリシーで指定したリソースが表示されます。
-
複数 – このポリシーには、サービス内に複数のリソースが含まれていますが、すべてのリソースが含まれているわけではありません。この例では、複数の Amazon S3 リソースへのアクセスは明示的に拒否されます。
-
すべてのリソース – このポリシーは、サービス内のすべてのリソースに対して定義されています。この例では、ポリシーによって、一覧表示されたアクションをすべての請求リソースで行うことができるようになります。
-
リソーステキスト – このポリシーには、1 つのリソースがサービス内に含まれます。この例では、
DeploymentGroupName
CodeDeploy リソース に対してのみ、表示されているアクションを行うことができます。サービスから IAM に渡される情報に応じて、ARN が表示されるか、定義されたリソースタイプが表示される場合があります。注記
この列には、別のサービスのリソースが含まれることがあります。リソースを含むポリシーステートメントで、アクションとリソースの両方がサービスに一致しない場合、ポリシーには不一致のリソースが含まれます。IAM は、ポリシーを作成するときや、ポリシー概要でポリシーを表示するとき、リソースの不一致のリソースについて警告されません。この列に不一致のリソースが含まれる場合は、ポリシーのエラーを確認する必要があります。ポリシーをより深く理解するために、必ず Policy Simulator でテストしてください。
-
-
Request condition (リクエストの条件) – この列では、リソースに関連付けられたサービスまたはアクションが条件の対象かどうかを示します。
-
None (なし) – このポリシーには、サービスの条件は含まれません。この例では、Amazon S3 サービスで拒否されたアクションに条件は適用されません。
-
条件のテキスト – このポリシーには、サービスに対する 1 つの条件が含まれます。この例では、表示されている [請求] アクションは、ソースの IP アドレスが
203.0.113.0/24
と一致する場合にのみ許可されます。 -
複数 – このポリシーでは、サービスに対する複数の条件が含まれます。ポリシーの複数の条件のそれぞれを表示するには、[JSON] を選択してポリシードキュメントを表示します。
-
-
残りのサービスを表示 – このボタンを選択すると、テーブルが展開されて、ポリシーで定義されていないサービスが含まれます。これらのサービスは、このポリシー内で暗黙的に拒否 (またはデフォルトで拒否) されています。ただし、別のポリシーのステートメントでは、そのサービスの使用が許可されているか明示的に拒否されている可能性があります。ポリシー概要には、1 つのポリシーのアクセス許可がまとめられています。特定のリクエストを許可するか拒否するかを AWS サービスがどのようにして決定しているかについては、「ポリシーの評価論理」を参照してください。
ポリシー内のポリシーまたは要素にアクセス許可を与えない場合、IAM にはポリシー概要に関する追加の警告と情報が表示されます。以下のポリシー概要テーブルは、SummaryAllElements ポリシー詳細ページの [残りのサービスを表示] サービスを拡張し、想定される警告と共に示しています。
前のイメージには、アクセス許可のない定義済みアクション、リソース、または条件を含むすべてのサービスを示しています。
-
Resource warnings (リソースの警告) – すべてのアクションまたはリソースに対するアクセス許可がないサービスについては、以下のいずれかの警告がテーブルの [Resource (リソース)] 列に表示されます。
-
リソースが定義されていません。– これは、サービスではアクションが定義されていますが、ポリシーにはサポートされるリソースが含まれていないことを意味します。
-
1 つ以上のアクションには該当するリソースがありません。– これは、サービスではアクションが定義されていますが、アクションの一部にサポートされているリソースがないことを意味します。
-
1 つ以上のリソースには該当するアクションがありません。– これは、サービスではリソースが定義されていますが、一部のリソースにサポートされているアクションがないことを意味します。
サービスに、該当するリソースがないアクションと、該当するリソースがあるリソースの両方が含まれている場合、「1 つ以上のリソースに該当するアクションがありません」という警告が表示されます。これは、サービスの概要を表示する際に、アクションに適用されないリソースが表示されないために発生します。
ListAllMyBuckets
アクションの場合、このポリシーには最後の警告が含まれます。アクションがリソースレベルのアクセス許可をサポートせず、s3:x-amz-acl
条件キーをサポートしていないためです。リソースまたは条件に関する問題が解決すると、残りの問題が警告の詳細に表示されます。 -
-
リクエスト条件の警告 – すべての条件に対するアクセス許可がないサービスについては、以下のいずれかの警告がテーブルの [Request condition (リクエストの条件)] 列に表示されます。
-
1 つ以上のアクションには該当する条件がありません。– これは、サービスではアクションが定義されていますが、一部のアクションにはサポートされている条件がないことを意味します。
-
1 つ以上の条件には該当するアクションがありません。– これは、サービスでは条件が定義されていますが、一部の条件にはサポートされているアクションがないことを意味します。
-
-
Multiple | 1 つ以上のアクションには該当するリソースがありません。– Amazon S3 に対する
Deny
ステートメントで、複数のリソースが含まれます。また、複数のアクションも含まれ、一部のアクションはリソースをサポートしていますが、他のアクションはサポートしていません。このポリシーを表示するには、SummaryAllElements JSON ポリシードキュメント を参照してください。この場合、ポリシーにはすべての Amazon S3 アクションが含まれ、バケットまたはバケット内のオブジェクトで実行可能なアクションのみが拒否されます。 -
リソースは定義されていません – Tサービスはアクションを定義済みですが、サポートされるリソースはポリシーに含まれていないため、サービスはアクセス許可を付与しません。この場合、ポリシーには CodeCommit アクションが含まれますが、CodeCommit リソースは含まれません。
-
DeploymentGroupName | のような文字列 | すべて、リージョン | のような文字列 | us-west-2 | 1 つまたは複数のアクションに該当するリソースがありません。– サービスには定義されたアクションと、サポートするリソースを持たないアクションが少なくとも 1 つあります。
-
なし | 1 つ以上の条件に該当するアクションがありません。– サービスに、サポートするアクションのない条件キーが 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"
]
}
}
}
]
}