ポリシー概要 (サービスの一覧)
ポリシーは、ポリシー概要、サービス概要、アクション概要の 3 つのテーブルにまとめられています。ポリシー概要テーブルには、選択したポリシーによって定義されているサービスとアクセス許可の概要のリストが含まれます。
![3 つのテーブルとそれらの関係を示すポリシー概要の図](images/policy_summaries-pol-sum.png)
ポリシー概要テーブルは、[Uncategorized services (未分類サービス)]、[Explicit deny (明示的な拒否)]、[許可] という 1 つ以上のセクションにグループ化されます。IAM によって認識されないサービスがポリシーに含まれる場合、そのサービスはテーブルの [Uncategorized services (未分類サービス)] セクションに含まれます。IAM によって認識されるサービスがポリシーに含まれる場合、ポリシーの効果 (Deny
または Allow
) に応じて、そのサービスはテーブルの [Explicit deny (明示的な拒否)] セクションまたは [許可] セクションに含まれます。
ポリシー概要の要素について
次のポリシー詳細ページの例で、[SummaryAllElements] ポリシーは、ユーザーに直接アタッチされている管理ポリシー (カスタマー管理ポリシー) です。ポリシー概要を表示するには、このポリシーを展開します。
![ポリシー概要のダイアログイメージ](images/policies-summary-user-page-dialog.png)
前のイメージで、ポリシー概要は、[ポリシー] ページ内に表示されます。
-
[アクセス許可] タブには、ポリシーで定義されたアクセス許可が含まれています。
-
ポリシーに定義されているすべてのアクション、リソース、条件に対し、ポリシーで権限が付与されない場合、警告またはエラーバナーがページの上部に表示されます。すると、問題に関する詳細がポリシー概要に含まれます。ポリシーで付与されるアクセス許可について理解し、問題の解決にポリシー概要をどのように役立てるかについては、「使用するポリシーが予期するアクセス許可を付与しない」を参照してください。
-
[概要] と [JSON] ボタンを使用して、ポリシー概要と JSON ポリシードキュメントを切り替えます。
-
[検索] ボックスを使用してサービスのリストを縮小すると、特定のサービスを簡単に検索できます。
-
展開されたビューには、[SummaryAllElements] ポリシーの追加の詳細が表示されます。
以下のポリシー概要テーブルの図は、[ポリシー詳細] ページで展開した [SummaryAllElements] ポリシーを示しています。
![ポリシー概要のダイアログイメージ](images/policies-summary-table-dialog.png)
前のイメージで、ポリシー概要は、[ポリシー] ページ内に表示されます。
-
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 ポリシー詳細ページの [残りのサービスを表示] サービスを拡張し、想定される警告と共に示しています。
![ポリシー概要のダイアログイメージ](images/policies-summary-table-showremaining-dialog.png)
前のイメージには、アクセス許可のない定義済みアクション、リソース、または条件を含むすべてのサービスを示しています。
-
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:::amzn-s3-demo-bucket",
"arn:aws:s3:::amzn-s3-demo-bucket/*",
"arn:aws:autoscling:us-east-2:123456789012:autoscalgrp"
],
"Condition": {
"StringEquals": {
"s3:x-amz-acl": [
"public-read"
],
"s3:prefix": [
"custom",
"other"
]
}
}
}
]
}