使用上次存取的資訊精簡 AWS 的許可 - AWS Identity and Access Management

使用上次存取的資訊精簡 AWS 的許可

身為管理員,您可能會將超出其所需範圍的許可授予實體 (使用者或角色)。IAM 會提供上次存取的資訊,協助您識別未使用的許可,以便您移除這些許可。您可以使用上次存取的資訊來調整原則,並僅允許存取實體所使用的服務和動作。這有助於您更加符合最低許可的最佳實務。您可以檢視或 IAM 或 AWS Organizations 中存在的實體或原則上次存取的資訊。

IAM 上次存取的資訊類型

您可以檢視 IAM 實體上次存取的兩種類型資訊:允許的 AWS 服務資訊和允許的動作資訊。這些資訊包括嘗試的日期和時間。動作上次存取的資訊適用於 Amazon EC2、IAM、Lambda 和 Amazon S3 管理動作。管理動作包括建立、刪除和修改動作。若要進一步了解如何檢視上次存取 IAM 的資訊,請參閱 檢視 IAM 上次存取的資訊

如需有關使用上次存取的資訊以決定您授予 IAM 實體許可的案例,請參閱 使用上次存取資訊的範例案例

若要深入瞭解如何提供管理動作資訊,請參閱關於上次存取資訊的注意事項

AWS Organizations 上次存取的資訊

如果您使用管理帳戶憑證進行登入,您可以在組織中檢視服務對於組織中 AWS Organizations 實體或政策上次存取資訊。AWS Organizations 實體包含組織根目錄、組織單位 (OU) 或帳戶。AWS Organizations 上次存取的資訊包括服務控制原則 (SCP) 所允許之服務的相關資訊。這些資訊會指出組織或帳戶中哪些主參與者上次嘗試存取服務,以及何時存取服務。若要深入瞭解報告以及如何檢視 AWS Organizations 上次存取的資訊,請參閱檢視 Organizations 上次存取的資訊

如需有關使用上次存取的資訊以決定您授予 Organizations 實體許可的案例,請參閱 使用上次存取資訊的範例案例

關於上次存取資訊的注意事項

在您使用報告中上次存取資訊以變更 IAM 實體或 Organizations 實體的許可之前,請檢閱以下有關資訊的詳細資訊。

  • 追蹤期間 – 最近的活動通常會在四小時內顯示在 IAM 主控台中。服務資訊的追蹤期為最近 400 天。Amazon S3 動作資訊的追蹤期從 2020 年 4 月 12 日開始。Amazon EC2、IAM 和 Lambda 行動追蹤期由 2021 年 4 月 7 日開始。如需詳細資訊,請參閱 AWS 會追蹤上次存取資訊的位置

  • 報告的嘗試 – 服務前次存取的資料包含存取 AWS API 的所有嘗試,而不僅僅是成功的嘗試。這包括使用 AWS Management Console、AWS API (透過任何軟體開發套件) 或任何命令列工具進行的所有嘗試。在上次存取的服務相關資料中看到未預期的項目並不表示您的帳戶資訊洩露,因為請求可能已遭拒。請參閱您的 CloudTrail 日誌並將其作為有關所有 API 呼叫以及它們是成功還是被拒絕的存取的資訊的權威來源。

  • PassRole – 系統不會追蹤 iam:PassRole 動作,也不會將其包含在 IAM 動作上次存取的資訊中。

  • 動作上次存取的資訊 – 動作上次存取的資訊適用於由 IAM 實體存取的 Amazon EC2、IAM、Lambda 和 Amazon S3 管理動作。IAM 為由 CloudTrail 記錄的 Amazon EC2、IAM、Lambda 和 Amazon S3 管理事件提供動作資訊。有時候,CloudTrail 管理事件也被稱為控制平面操作或控制平面事件。管理事件可讓您對 AWS 帳戶資源執行的管理操作有更深入的了解。若要進一步了解 CloudTrail 中的管理事件,請參閱使用 Cloudtrail 記錄管理事件

  • 報告擁有者 – 只有產生報告的委託人才可以檢視報告詳細資訊。這表示當您在 AWS Management Console 中檢視資料時,可能需要等待產生和載入資料。如果您使用 AWS CLI 或 AWS API 取得報告詳細資訊,您的憑證必須符合產生報告之委託人的憑證。如果您使用角色或聯合身分使用者的暫時性憑證,您必須在相同的工作階段期間產生和擷取報告。如需有關擔任角色工作階段委託人的詳細資訊,請參閱 AWS JSON 政策元素:Principal

  • IAM 實體 – IAM 的資訊包含您的帳戶中的 IAM 實體 (使用者或角色)。Organizations 的資訊包含指定 Organizations 實體中的委託人 (IAM 使用者、IAM 角色或 AWS 帳戶 根使用者)。這些資訊不包括未驗證的嘗試。

  • IAM 政策類型 – IAM 的資訊包含由 IAM 實體的政策所許可的服務。這些政策連接至角色或者直接或透過群組連接至使用者。您的報告不包含其他政策類型允許的存取。排除的政策類型包括以資源為基礎的政策、存取控制清單、AWS Organizations SCP、IAM 許可邊界,以及工作階段政策。服務連結角色所提供的許可是由它們連結的服務所定義,而且無法在 IAM 中修改。若要進一步了解服務連結角色,請參閱使用服務連結角色 若要了解如何評估不同原則類型以允許或拒絕存取,請參閱政策評估邏輯

  • 政策類型 – AWS Organizations 的資訊僅包含由 Organizations 實體的繼承服務控制政策 (SCP) 所許可的服務。SCP 是連接到根帳戶、OU 或帳戶的政策。您的報告不包含其他政策類型允許的存取。排除的政策類型包含身分類型政策、資源類型政策、存取控制清單、IAM 許可邊界,以及工作階段政策。若要了解如何評估不同的政策類型以允許或拒絕存取,請參閱政策評估邏輯

  • 指定政策 ID – 當您使用 AWS CLI 或 AWS API,在 Organizations 中針對上次存取資訊產生報告,您可以選擇指定政策 ID。產生的報告包含僅由該政策允許的服務資訊。該資訊包含指定 Organizations 實體或實體子系中最新的帳戶活動。如需詳細資訊,請參閱 aws iam generate-organizations-access-reportGenerateOrganizationsAccessReport

  • Organizations 管理帳戶 – 您必須登入組織的管理帳戶,才能檢視上次存取的資訊。您可以選擇使用 IAM 主控台、AWS CLI 或 AWS API 檢視管理帳戶的資料。產生的報告會列出所有 AWS 服務,因為管理帳戶不受 SCP 限制。如果您指定的政策 ID 位於 CLI 或 API 中,便會忽略該政策。對於每個服務,報告包含僅適用於管理帳戶的資訊。不過,其他 Organizations 實體的報告不會傳回管理帳戶中的活動資訊。

  • Organizations 設定 – 管理員必須先在組織根目錄中啟用 SCP,您才能產生 Organizations 的資料。

必要許可

若要使用 AWS Management Console 檢視上次存取資訊,您必須擁有一個授予必要許可的政策:

IAM 資訊的許可

若要使用 IAM 主控台檢視 IAM 使用者、角色或政策的上次存取資訊,您必須擁有一個包含下列動作的政策:

  • iam:GenerateServiceLastAccessedDetails

  • iam:Get*

  • iam:List*

這些許可允許使用者檢視下列項目:

  • 哪些使用者、群組或角色連接至受管政策

  • 使用者或角色可以存取哪些服務

  • 他們上一次存取該服務的時間

  • 他們上次嘗試使用特定的 Amazon EC2、IAM、Lambda 或 Amazon S3 動作的時間

若要使用 AWS CLI 或 AWS API 檢視 IAM 的上次存取資訊,您必須擁有符合所要使用之操作的許可:

  • iam:GenerateServiceLastAccessedDetails

  • iam:GetServiceLastAccessedDetails

  • iam:GetServiceLastAccessedDetailsWithEntities

  • iam:ListPoliciesGrantingServiceAccess

此範例會示範如何建立身分型政策,允許檢視 IAM 上次存取的資訊。此外,還允許對所有 IAM 的唯讀存取。此政策定義了程式設計和主控台存取的許可。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:GenerateServiceLastAccessedDetails", "iam:Get*", "iam:List*" ], "Resource": "*" }

AWS Organizations 資訊的許可

若要使用 IAM 主控台檢視 Organizations 中的根目錄、OU 或帳戶實體,您必須擁有一個包含下列動作的政策:

  • iam:GenerateOrganizationsAccessReport

  • iam:GetOrganizationsAccessReport

  • organizations:DescribeAccount

  • organizations:DescribeOrganization

  • organizations:DescribeOrganizationalUnit

  • organizations:DescribePolicy

  • organizations:ListChildren

  • organizations:ListParents

  • organizations:ListPoliciesForTarget

  • organizations:ListRoots

  • organizations:ListTargetsForPolicy

若要使用 AWS CLI 或 AWS API 檢視 Organizations 的上次存取資訊,您必須擁有一個包含下列動作的政策:

  • iam:GenerateOrganizationsAccessReport

  • iam:GetOrganizationsAccessReport

  • organizations:DescribePolicy

  • organizations:ListChildren

  • organizations:ListParents

  • organizations:ListPoliciesForTarget

  • organizations:ListRoots

  • organizations:ListTargetsForPolicy

此範例會示範如何建立身分型政策,允許檢視 Organizations 的服務上次存取資訊。此外,還允許對所有 Organizations 的唯讀存取。此政策定義了程式設計和主控台存取的許可。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:GenerateOrganizationsAccessReport", "iam:GetOrganizationsAccessReport", "organizations:Describe*", "organizations:List*" ], "Resource": "*" } }

您也可以使用 iam:OrganizationsPolicyId 條件索引鍵,允許只針對特定 Organizations 政策產生報告。如需政策範例,請參閱 IAM:檢視 Organizations 政策上次存取的服務資訊

IAM 和 Organizations 實體的疑難排解活動

在某些情況下,您的 AWS Management Console 上次存取資訊表可能是空白的。或者,AWS CLI 或 AWS API 要求可能會傳回一組空白的資訊或空值欄位。在這些情況下,檢閱下列問題:

  • 對於上次存取的動作資訊,清單中可能不會傳回您預期看到的動作。這可能是因為 IAM 實體沒有動作的許可,或者 AWS 尚未追蹤上次存取資訊的動作。

  • 對於 IAM 使用者,請確定該使用者至少連接一個內嵌或受管政策,無論是直接或透過群組成員資格連接。

  • 對於 IAM 群組,請確認群組至少連接一個內嵌或受管政策。

  • 對於 IAM 群組,報告只會傳回使用群組的政策存取服務之成員的服務上次存取資訊。若要了解成員是否使用了其他政策,請檢閱該使用者的上次存取資訊。

  • 對於 IAM 角色,請確認角色至少連接一個內嵌或受管政策。

  • 對於 IAM 實體 (使用者或角色),請檢閱可能影響該實體之許可的其他政策類型。這些政策包括以資源為基礎的政策、存取控制清單、AWS Organizations 政策、IAM 許可邊界,或工作階段政策。如需詳細資訊,請參閱政策類型運用單一帳戶評估政策

  • 對於 IAM 政策,請確定指定的受管政策已連接到至少一個使用者、內含成員的群組,或角色。

  • 對於 Organizations 實體 (根目錄、OU 或帳戶),確定您使用 Organizations 管理帳戶憑證進行登入。

  • 確定已在組織根目錄中啟用 SCP

  • 動作上次存取的資訊僅適用於某些 Amazon EC2、IAM、Lambda 和 Amazon S3 動作。

當您進行變更時,請等待至少 4 小時,活動才會顯示在您的 IAM 主控台報告中。如果您使用 AWS CLI 或 AWS API,您必須產生新的報告才能檢視更新後的資訊。

AWS 會追蹤上次存取資訊的位置

AWS 會收集標準 AWS 區域上次存取的資訊。在 AWS 新增其他區域時,這些區域將新增到下表,包括 AWS 開始追蹤每個區域中的資訊日期:

  • 服務資訊 – 如果您的區域在過去一年內開始支援此功能,則服務追蹤期為最近 400 天或更短。

  • 動作資訊 – Amazon S3 管理動作的追蹤期從 2020 年 4 月 12 日開始。Amazon EC2、IAM 和 Lambda 管理行動追蹤期由 2021 年 4 月 7 日開始。如果區域日後開始支援某項動作,則該日期也是該區域動作的追蹤開始日期。

區域名稱 區域 追蹤開始日期
美國東部 (俄亥俄) us-east-2 2017 年 10 月 27 日
美國東部 (維吉尼亞北部) us-east-1 2015 年 10 月 1 日
美國西部 (加利佛尼亞北部) us-west-1 2015 年 10 月 1 日
美國西部 (奧勒岡) us-west-2 2015 年 10 月 1 日
亞太區域 (香港) ap-east-1 2019 年 4 月 24 日
亞太區域 (雅加達) ap-southeast-3 2021 年 12 月 13 日
亞太區域 (孟買) ap-south-1 2016 年 6 月 27 日
亞太區域 (首爾) ap-northeast-2 2016 年 1 月 6 日
亞太區域 (新加坡) ap-southeast-1 2015 年 10 月 1 日
亞太區域 (雪梨) ap-southeast-2 2015 年 10 月 1 日
亞太區域 (東京) ap-northeast-1 2015 年 10 月 1 日
加拿大 (中部) ca-central-1 2017 年 10 月 28 日
歐洲 (法蘭克福) eu-central-1 2015 年 10 月 1 日
歐洲 (斯德哥爾摩) eu-north-1 2018 年 12 月 12 日
歐洲 (愛爾蘭) eu-west-1 2015 年 10 月 1 日
歐洲 (倫敦) eu-west-2 2017 年 10 月 28 日
歐洲 (米蘭) eu-south-1 2020 年 4 月 28 日
歐洲 (巴黎) eu-west-3 2017 年 12 月 18 日
中東 (巴林) me-south-1 2019 年 7 月 29 日
非洲 (開普敦) af-south-1 2020 年 4 月 22 日
南美洲 (聖保羅) sa-east-1 2015 年 12 月 11 日

如果某個區域未在上表中列出,則表示此區域尚不提供上次存取的相關資訊。

AWS 區域是地理區域中 AWS 資源的集合。區域會分組成分割區。標準區域是屬於該 aws 分區的區域。如需有關不同分割區的詳細資訊,請參閱《AWS 一般參考》中的 Amazon 資源名稱 (ARN) 格式。如需有關區域的詳細資訊,請參閱《AWS 一般參考》中的關於 AWS 區域