

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

# 使用 Amazon Quick Sight 視覺化所有 AWS 帳戶的 IAM 登入資料報告
<a name="visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight"></a>

*Parag Nagwekar 和 Arun Chandapillai，Amazon Web Services*

## 摘要
<a name="visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight-summary"></a>


| 
| 
| 警告：IAM 使用者具有長期登入資料，這會造成安全風險。為了協助降低此風險，建議您只為這些使用者提供執行任務所需的許可，並在不再需要這些使用者時將其移除。 | 
| --- |

您可以使用 AWS Identity and Access Management (IAM) 登入資料報告，協助您滿足組織的安全性、稽核和合規要求。[登入資料報告](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_getting-report.html)提供 AWS 帳戶中所有使用者的清單，並顯示其登入資料的狀態，例如密碼、存取金鑰和多重驗證 (MFA) 裝置。您可以針對 AWS [AWS Organizations](https://docs.aws.amazon.com/whitepapers/latest/organizing-your-aws-environment/core-concepts.html) 帳戶使用登入資料報告。

此模式包含步驟和程式碼，可協助您使用 Amazon Quick Sight 儀表板建立和共用組織中所有 AWS 帳戶的 IAM 登入資料報告。您可以與組織中的利益相關者共用儀表板。這些報告可協助您的組織實現以下目標業務成果：
+ 識別與 IAM 使用者相關的安全事件
+ 追蹤 IAM 使用者的即時遷移至單一登入 (SSO) 身分驗證
+ 追蹤 IAM 使用者存取的 AWS 區域
+ 保持合規
+ 與其他利益相關者共用資訊

## 先決條件和限制
<a name="visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight-prereqs"></a>

**先決條件**
+ 作用中的 AWS 帳戶
+ 具有成員帳戶[的組織](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tutorials_basic.html) 
+ 具有存取 Organizations 中帳戶許可的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) 
+ 安裝 [https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html#getting-started-install-instructions](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html#getting-started-install-instructions)並[設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) AWS Command Line Interface (AWS CLI) 第 2 版
+ [Amazon Quick Enterprise Edition](https://docs.aws.amazon.com/quicksight/latest/user/editions.html) 的[訂閱](https://docs.aws.amazon.com/quicksight/latest/user/signing-up.html) 

## Architecture
<a name="visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight-architecture"></a>

**技術堆疊**
+ Amazon Athena
+ Amazon EventBridge
+ Amazon Quick Sight
+ Amazon Simple Storage Service (Amazon S3)
+ AWS Glue
+ AWS Identity and Access Management (IAM)
+ AWS Lambda
+ AWS Organizations

**目標架構**

下圖顯示用於設定從多個 AWS 帳戶擷取 IAM 憑證報告資料的工作流程的架構。

![下列螢幕擷取畫面說明架構圖表](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/8724ff28-40f6-4c43-9c65-fbd18bbbfd0f/images/e780916a-4ab7-4fdc-8ecc-c837c7d90d13.png)


1. EventBridge 每天叫用 Lambda 函數。

1. Lambda 函數會在組織的每個 AWS 帳戶中擔任 IAM 角色。然後，函數會建立 IAM 登入資料報告，並將報告資料存放在集中式 S3 儲存貯體中。您必須在 S3 儲存貯體上啟用加密和停用公有存取。

1. AWS Glue 爬蟲程式每天爬取 S3 儲存貯體，並相應地更新 Athena 資料表。

1. Quick Sight 會匯入和分析登入資料報告中的資料，並建置儀表板，供利益相關者視覺化和共用。

## 工具
<a name="visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight-tools"></a>

**AWS 服務**
+ [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) 是一種互動式查詢服務，可讓您使用標準 SQL 輕鬆分析 Amazon S3 中的資料。
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) 是一種無伺服器事件匯流排服務，可協助您將應用程式與來自各種來源的即時資料連線。例如，Lambda 函數、使用 API 目的地的 HTTP 調用端點，或其他 AWS 帳戶中的事件匯流排。
+ [Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) 是一種雲端規模的商業智慧 (BI) 服務，可協助您在單一儀表板中視覺化、分析和報告您的資料。Quick Sight 是 Amazon Quick 的核心元件，提供互動式資料視覺化、SPICE 記憶體內分析、內嵌分析和儀表板共用。
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 可透過控制已驗證並獲授權使用的人員，協助您安全地管理對 AWS 資源的存取。
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 是一種運算服務，可協助您執行程式碼，而無需佈建或管理伺服器。它只會在需要時執行程式碼並自動擴展，因此您只需按使用的運算時間付費。

**Code**

此模式的程式碼可在 GitHub [getiamcredsreport-allaccounts-org](https://github.com/aws-samples/getiamcredsreport-allaccounts-org) 儲存庫中使用。您可以使用此儲存庫中的程式碼，跨 Organizations 中的 AWS 帳戶建立 IAM 登入資料報告，並將其存放在中央位置。

## 史詩
<a name="visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight-epics"></a>

### 設定基礎設施
<a name="set-up-the-infrastructure"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 設定 Amazon Quick Enterprise 版本。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight.html) | AWS 管理員、AWS DevOps、雲端管理員、雲端架構師 | 
| 將 Amazon Quick Sight 與 Amazon S3 和 Athena 整合。 | 在部署 AWS CloudFormation 堆疊之前，您必須[授權](https://docs.aws.amazon.com/quicksight/latest/user/troubleshoot-connect-to-datasources.html) Quick Sight 使用 Amazon S3 和 Athena。 AWS CloudFormation  | AWS 管理員、AWS DevOps、雲端管理員、雲端架構師 | 

### 部署基礎設施
<a name="deploy-the-infrastructure"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 複製 GitHub 儲存庫。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight.html) | AWS 管理員 | 
| 部署 基礎設施。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight.html) | AWS 管理員 | 
| 建立 IAM 許可政策。 | 使用下列許可，為組織中的每個 AWS [帳戶建立 IAM 政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)：<pre>{<br />  "Version": "2012-10-17",		 	 	 <br />  "Statement": [<br />    {<br />      "Effect": "Allow",<br />      "Action": [<br />        "iam:GenerateCredentialReport",<br />        "iam:GetCredentialReport"<br />        ],<br />      "Resource": "*"<br />    }<br />  ]<br />}</pre> | AWS DevOps、雲端管理員、雲端架構師、資料工程師 | 
| 使用信任政策建立 IAM 角色。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight.html)<pre>{<br />   "Version": "2012-10-17",		 	 	 <br />   "Statement":[<br />      {<br />         "Effect":"Allow",<br />         "Principal":{<br />            "AWS":[<br />               "arn:aws:iam::<MasterAccountID>:role/<LambdaRole>"<br />            ]<br />         },<br />         "Action":"sts:AssumeRole"<br />      }<br />   ]<br />}</pre>`arn:aws:iam::<MasterAccountID>:role/<LambdaRole>` 將 取代為您先前記下的 Lambda 角色 ARN。組織通常會使用自動化為其 AWS 帳戶建立 IAM 角色。如果可用，我們建議您使用此自動化。或者，您可以從** **程式碼儲存庫使用`CreateRoleforOrg.py`指令碼。指令碼需要現有的管理角色或任何其他 IAM 角色，這些角色具有在每個 AWS 帳戶中建立 IAM 政策和角色的許可。 | 雲端管理員、雲端架構師、AWS 管理員 | 
| 設定 Amazon Quick Sight 以視覺化資料。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight.html) | AWS DevOps、雲端管理員、雲端架構師、資料工程師 | 

## 其他資訊
<a name="visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight-additional"></a>

**其他考量事項**

考慮下列各項：
+ 使用 CloudFormation 部署基礎設施後，您可以等待 Athena 在 Amazon S3 中建立並分析報告，直到 Lambda 和 AWS Glue 根據其排程執行。或者，您可以手動執行 Lambda 以取得 Amazon S3 中的報告，然後執行 AWS Glue 爬蟲程式以取得從資料建立的 Athena 資料表。
+ Quick 是一種功能強大的工具，可根據您的業務需求分析和視覺化資料。您可以使用 Quick 中的[參數](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html)，根據您選擇的資料欄位來控制小工具資料。此外，您可以使用快速分析從資料集建立參數 （例如，帳戶、日期和使用者欄位`partition_0`，例如 `partition_1`、 和 `user`)，以新增帳戶、日期和使用者的參數控制項。
+ 若要建置自己的 Quick Sight 儀表板，請參閱 AWS Workshop Studio 網站上的 [Quick Workshops](https://catalog.workshops.aws/quicksight/en-US)。
+ 若要查看 Quick Sight 儀表板範例，請參閱 GitHub [getiamcredsreport-allaccounts-org](https://github.com/aws-samples/getiamcredsreport-allaccounts-org) 程式碼儲存庫。

**目標業務成果**

您可以使用此模式來實現下列目標業務成果：
+ **識別與 IAM 使用者相關的安全事件 **– 使用單一窗格來調查組織中每個 AWS 帳戶的每個使用者。您可以追蹤 IAM 使用者最近存取的個別 AWS 區域及其使用之服務的趨勢。
+ **追蹤 IAM 使用者的即時遷移至 SSO 身分驗證 **– 透過使用 SSO，使用者可以使用單一登入資料登入一次，並存取多個 AWS 帳戶和應用程式。如果您打算將 IAM 使用者遷移至 SSO，此模式可協助您轉換至 SSO，並追蹤所有 AWS 帳戶的所有 IAM 使用者登入資料用量 （例如存取 AWS 管理主控台或存取金鑰的使用）。
+ **追蹤 IAM 使用者存取的 AWS 區域 **– 您可以基於各種目的控制 IAM 使用者對區域的存取，例如資料主權和成本控制。您也可以追蹤任何 IAM 使用者對 區域的使用。
+ **保持合規 **– 透過遵循最低權限原則，您只能授予執行特定任務所需的特定 IAM 許可。此外，您也可以追蹤對 AWS 服務、AWS 管理主控台和長期憑證用量的存取。
+ **與其他利益相關者共用資訊 **– 您可以與其他利益相關者共用精心策劃的儀表板，而無需授予他們存取 IAM 登入資料報告或 AWS 帳戶的權限。