政策摘要 (服務清單) - AWS Identity and Access Management

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

政策摘要 (服務清單)

政策摘要列於三個表中:政策摘要、服務摘要以及動作摘要政策摘要表包括由所選政策定義的服務清單和許可摘要。


      政策摘要圖表圖片描繪出 3 個表格與各自的關係

政策摘要表格是分成一或多個 Uncategorized services (未分類服務)、Explicit deny (明確拒絕)、以及 Allow (允許) 等部分。如果政策包含 IAM 無法辨識的服務,則該服務將包含在表格的 Uncategorized services (未分類服務) 部分中。如果 IAM 能夠辨識該服務,則它將包含在表格的 Explicit deny (明確拒絕) 或 Allow (允許) 部分中,取決於政策的效果 (DenyAllow)。

檢視政策摘要

您可以在使用者詳細資料頁面的許可索引標籤上選擇政策名稱,以檢視連接至使用者的任何政策之摘要。您可以在角色詳細資料頁面的許可索引標籤上選擇政策名稱,以檢視連接至角色之任何政策的摘要。您可以在 Policies (政策) 頁面上檢視受管政策的政策摘要。如果您的政策不包含政策摘要,請參閱 缺少政策摘要 以了解原因。

Policies (政策) 頁面查看政策摘要
  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽窗格中,選擇 Policies (政策)。

  3. 在政策清單中,選擇您要檢視的政策名稱。

  4. 在政策的政策詳細資訊頁面上,檢視許可索引標籤,可查看政策摘要。

查看連接到使用者的政策摘要
  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 從導覽窗格選擇 Users (使用者)。

  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 受管政策。

使用視覺化選項可編輯政策摘要的政策
  1. 按照上述步驟中的說明開啟政策摘要。

  2. 選擇編輯

    如果您已打開 Users (使用者) 頁面,並選擇編輯連接到該使用者的客戶受管政策,系統會將您重新引導 Policies (政策) 頁面。您只能在 Policies (政策) 頁面上編輯客戶受管政策。

  3. 選擇視覺化選項可檢視您的政策之可編輯視覺化形式。IAM 可能會調整您的政策結構以針對視覺化編輯器進行最佳化,並使您更輕鬆地查詢和解決任何問題。頁面上的警告和錯誤訊息可以引導您解決政策中的任何問題。如需有關 IAM 重新建構這些政策的詳細資訊,請參閱 政策結構調整

  4. 編輯您的政策,然後選擇下一步,可查看已在政策摘要中反映的變更。如果仍出現問題,請選擇 Previous (上一步) 以返回到編輯螢幕。

  5. 選擇儲存變更,以儲存您所做的變更。

使用 JSON 選項可編輯政策摘要的政策
  1. 按照上述步驟中的說明開啟政策摘要。

  2. 您可以使用摘要JSON 按鈕,將政策摘要與 JSON 政策文件進行比較。您可以使用該資訊來決定要更改政策文件中的哪些行。

  3. 選擇編輯,然後選擇 JSON 選項,以編輯 JSON 政策文件。

    注意

    您可以隨時切換視覺化JSON 編輯器選項。不過,如果您進行變更或在視覺化編輯器選項中選擇下一步,IAM 就可能會調整您的政策結構,以便針對視覺化編輯器進行最佳化。如需詳細資訊,請參閱 政策結構調整

    如果您已打開 Users (使用者) 頁面,並選擇編輯連接到該使用者的客戶受管政策,系統會將您重新引導 Policies (政策) 頁面。您只能在 Policies (政策) 頁面上編輯客戶受管政策。

  4. 編輯政策。解決政策驗證期間產生的任何安全性警告、錯誤或一般性警告,然後選擇 Next (下一步)。如果仍出現問題,請選擇 Previous (上一步) 以返回到編輯螢幕。

  5. 選擇儲存變更,以儲存您所做的變更。

了解政策摘要的元素

在下列原則詳細資料頁面範例中,SummaryAllElements原則是直接附加至使用者的受管理原則 (客戶管理策略)。此政策已展開並顯示了政策摘要。


        政策摘要對話方塊圖片

在上圖中,政策摘要在政策頁面顯示:

  1. 許可索引標籤包括政策中定義的許可。

  2. 如果政策未授予許可給政策中定義的所有操作、資源和條件,則將在頁面頂部顯示警告或錯誤橫幅。政策摘要中包含關於問題的詳細資訊。若要了解政策摘可如何協助您了解政策授予的許權並進行相關問題故障排除,請參閱我的政策未授與預期的許可.。

  3. 使用摘要JSON 按鈕,可在政策摘要和 JSON 政策文件之間切換。

  4. 使用搜尋方塊,可減少服務清單並查詢特定服務。

  5. 展開的檢視會顯示SummaryAllElements原則的其他詳細資訊。

下列原則摘要表格影像會在SummaryAllElements原則詳細資訊頁面上顯示擴充的原則。


        政策摘要對話方塊圖片

在上圖中,政策摘要在政策頁面顯示:

  1. 對於 IAM 辨識的那些服務,它根據政策是允許還是明確拒絕使用該服務來安排服務。在此範例中,該政策包括 Amazon S3 服務的Deny聲明以及帳單和 Amazon EC2 服務的Allow陳述式。 CodeDeploy

  2. Service (服務) – 此欄列出在政策內定義的服務並提供每項服務的詳細資訊。政策摘要表中的每個服務名稱都是指向服務摘要表的一個連結,服務摘要 (動作清單) 中對其進行了說明。在此範例中,已定義 Amazon S3 CodeDeploy、帳單和 Amazon EC2 服務的許可。

  3. 存取層級 – 此欄指出了在每個存取級別中的動作 (ListReadWritePermission Management 以及 Tagging) 是擁有 Full 許可還是政策中定義的 Limited 許可。有關存取許可級別摘要的更多詳細資訊和範例,請參閱 瞭解原則摘要中的存取層級

    • Full access (完整存取) – 此項目顯示服務對於該服務可用的全部四個存取層級中的所有動作都擁有存取許可。

    • 如果該項不包含 Full access (完整存取),則服務可以存取部分但不是全部用於該服務的動作。然後,根據每個存取級別分類 (ListReadWritePermission Management 以及 Tagging) 的說明,來定義存取許可:

      Full (完整):政策提供對列出的每個存取級別分類中的所有動作的存取許可。在此範例中,政策提供對所有帳單 Read 操作的存取許可。

      Limited (限制):政策提供對所列每個存取級別分類內的一或多個但非全部動作的存取許可。在此範例中,政策提供對部分帳單 Write 操作的存取許可。

  4. Resource (資源) – 此欄顯示政策為每項服務指定的資源。

    • Multiple (多個) – 政策包含服務內的多項資源,但並非全部。在此範例中,明確拒絕對多個 Amazon S3 資源的存取權限。

    • 所有資源 – 為服務內的所有資源而定義政策。在此範例中,政策允許對所有帳單資源執行列出的操作。

    • 資源文字 – 該政策包含服務內的一個資源。在此範例中,僅允許DeploymentGroupName CodeDeploy 資源上列出的動作。根據服務提供給 IAM 的資訊,您可能會看到一個 ARN,或者可能會看到定義的資源類型。

      注意

      此欄位可能包含不同服務的資源。如果包含資源的政策陳述式,不包含來自相同服務的動作和資源,則您的政策包含不相符的資源。在建立政策或在政策摘要中查看政策時,IAM 不會警告您關於無法配對的資源。如果此欄位包含不相符的資源,則您應該檢閱您的政策錯誤。若要更全面了解您的政策,請一律以政策模擬器來測試。

  5. Request condition (請求條件) – 此欄顯示與資源關聯的服務或動作是否受條件約束。

    • None (無) – 政策對服務不包含任何條件。在此範例中,沒有條件適用於 Amazon S3 服務中拒絕的操作。

    • 條件文字 – 政策包含服務的一項條件。在此範例中,僅當來源的 IP 地址與 203.0.113.0/24 匹配時,列出的帳單動作才會獲允許。

    • Multiple (多項) – 政策包含服務的多項條件。若要檢視政策多項條件中的每一項條件,請選擇 JSON 來檢視政策文件。

  6. 顯示剩餘的服務 – 切換此按鈕可展開資料表,以包括政策未定義的服務。這些服務在該政策中被隱含拒絕 (或根據預設拒絕)。但是,另一政策中的陳述中可能仍然允許或明確拒絕使用該服務。政策摘要匯總了單一政策的許可。若要了解 AWS 服務如何決定允許還是拒絕收到的請求,請參閱政策評估邏輯

當政策或政策中的元素未授予許可時,IAM 在政策摘要中提供額外的警告和資訊。下列原則摘要表格顯示「在原SummaryAllElements則詳細資料」頁面上展開的「顯示剩餘服務」,其中包含可能的警告。


        政策摘要對話方塊圖片

在上圖中,您可以看到包含沒有許可的已定義操作、資源或條件的所有服務:

  1. Resource warnings (資源警告) – 對於沒有為所有包含的動作或資源提供許可的服務,您將在資料表的 Resource (資源) 欄中看到以下警告之一:

    • 未定義資源。– 這表示該服務具有已定義的動作,但政策中不包含支援的資源。

    • 一或多個動作沒有適用資源。– 表示該服務具有已定義的動作,但其中一些動作沒有支援的資源。

    • 一或多個資源沒有適用動作。– 表示該服務具有已定義的資源,但其中一些資源沒有支援的動作。

    如果服務同時包含沒有適用資源的動作和沒有適用資源的資源,系統只會顯示一個或多個資源沒有適用的動作警告。這是因為當您查看服務的服務摘要時,不會顯示不適用於任何動作的資源。對於 ListAllMyBuckets 動作,此政策包含最後一條警告,因為該動作不支援資源級許可,也不支援 s3:x-amz-acl 條件索引鍵。如果您修復資源問題或條件問題,剩餘的問題會出現在詳細的警告中。

  2. Request condition warnings (請求條件警告) – 對於沒有為所有包含的條件提供許可的服務,您將在資料表的 Request condition (請求條件) 欄中看到以下警告之一:

    • 一或多個動作沒有適用條件。– 表示該服務具有已定義的動作,但其中一些動作沒有支援的條件。

    • 一或多個條件沒有適用動作。– 表示該服務具有已定義的條件,但其中一些條件沒有支援的動作。

  3. Multiple (多個) | 一或多個動作沒有適用資源。– Amazon S3 的 Deny 陳述式包含一個以上的資源。它還包含多個動作,但其中一些動作支援資源,一些不支援。若要查看此政策,請參閱 SummaryAllElements JSON 政策文件。在這種情況下,政策包含所有 Amazon S3 動作,只會拒絕可在儲存貯體或儲存貯體物件上執行的動作。

  4. No resources are defined (未定義資源) – 服務具有已定義的動作,但政策中不包含支援的資源,因此服務不提供任何許可。在這種情況下,該策略包括 CodeCommit 動作,但不包括 CodeCommit 資源。

  5. DeploymentGroupName | 類似的字符串 | 全部,區域 | 像 | 我們-西 -2 | 一個或多個操作沒有適用的資源。– 服務具有定義的動作,且至少有額外一個沒有支援資源的動作。

  6. 無 | 一個或多個條件沒有適用的動作。– 服務具有至少一個沒有支援動作的條件索引鍵。

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