

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

# 啟用 SAML 2.0 聯合主體來存取 AWS 管理主控台
<a name="id_roles_providers_enable-console-saml"></a>

您可以使用角色來設定 SAML 2.0 相容身分提供者 (IdP) AWS ，並允許 SAML 聯合身分主體存取 AWS 管理主控台。該角色為使用者授予了在主控台中執行任務的許可。如果您想要為 SAML 聯合身分主體提供其他存取方式 AWS，請參閱下列其中一個主題：
+ AWS CLI: [切換到 IAM 角色 (AWS CLI)](id_roles_use_switch-role-cli.md)
+ Tools for Windows PowerShell：[切換至 IAM 角色 (Tools for Windows PowerShell)](id_roles_use_switch-role-twp.md)
+ AWS API： [切換到 IAM 角色 (AWS API)](id_roles_use_switch-role-api.md)

## 概觀
<a name="enable-console-saml-overview"></a>

下圖說明了啟用了 SAML 的單一登入的流程。

**注意**  
此 SAML 的特定用途與 中說明的更一般用途不同，[SAML 2.0 聯合身分](id_roles_providers_saml.md)因為此工作流程 AWS 管理主控台 會代表使用者開啟 。這需要使用 AWS 登入端點，而不是直接呼叫 `AssumeRoleWithSAML` API。該端點將為使用者呼叫 API 並傳回將使用者的瀏覽器自動重新引導到 AWS 管理主控台的 URL。

![\[使用 SAML 的單一登入 (SSO) 至 AWS 管理主控台\]](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/images/saml-based-sso-to-console.diagram.png)


此圖說明了下列步驟：

1. 使用者瀏覽到您的組織的入口網站，並選擇前往 AWS 管理主控台的選項。在您的組織中，入口網站通常是 IdP 的函數，可處理組織與 之間的信任交換 AWS。例如，在 Active Directory Federation Services 中，入口網站的 URL 是：`https://ADFSServiceName/adfs/ls/IdpInitiatedSignOn.aspx`

1. 該入口網站可驗證您的組織使用者的身分。

1. 入口網站會產生一個 SAML 身分驗證回應，其中包括辨識使用者身分的聲明以及使用者的相關屬性。您也可以配置 IdP 以包含一個名為 `SessionDuration` 的 SAML 聲明屬性，該屬性指定主控台工作階段的有效時間長度。您也可以設定 IdP，將屬性做為[工作階段標籤](id_session-tags.md)傳遞。該入口網站將此回應傳送到用戶端瀏覽器。

1. 用戶端瀏覽器會重新導向至 AWS 單一登入端點，並發佈 SAML 聲明。

1. 端點代表使用者請求臨時安全性憑證，並建立一個使用這些憑證的主控台登入 URL。

1. AWS 會將登入 URL 傳回用戶端做為重新導向。

1. 該用戶端瀏覽器將重新引導到 AWS 管理主控台。如果 SAML 身分驗證回應包含映射到多個 IAM 角色的屬性，則將首先提示使用者選取要用於存取主控台的角色。

從使用者的角度來看，程序透明地發生：使用者從組織的內部入口網站開始，最後在 AWS 管理主控台，而不必提供任何 AWS 登入資料。

有關如何配置此行為的概述以及指向詳細步驟的連結，請參閱以下章節。

## 將您的網路設定為 的 SAML 供應商 AWS
<a name="fedconsole-config-network-as-saml"></a>

在您的組織的網路內部，將您的身分存放區 (如 Windows Active Directory) 設定為與 Windows Active Directory 聯合服務、Shibboleth 等以 SAML 為基礎的身分提供者 (IdP) 一起使用。使用 IdP 產生一個中繼資料文件，該文件將您的組織描述為身分提供者 (IdP) 並包含身分驗證索引鍵。您也可以設定組織的入口網站，將 的使用者請求路由 AWS 管理主控台 至 AWS SAML 端點，以使用 SAML 聲明進行身分驗證。配置您的 IdP 來產生 metadata.xml 文件之方法將根據您的 IdP 而定。請參閱您的 IdP 文件以獲得說明，或參閱 [將第三方 SAML 解決方案供應商與 整合 AWS](id_roles_providers_saml_3rd-party.md) 以取得包含許多支援的 SAML 提供者之 Web 文件連結。

## 在 IAM 中建立 SAML 提供者
<a name="fedconsole-create-saml-provider"></a>

接著，您登入 AWS 管理主控台 並前往 IAM 主控台。您將在此建立一個新的 SAML 提供者，該提供者是 IAM 中包含您組織的身分提供者 (IdP) 的相關資訊的實體。在此過程中，您可以上傳在前一章節中由組織中的 IdP 軟體所產生的中繼資料文件。如需詳細資訊，請參閱[在 IAM 中建立 SAML 身分提供者](id_roles_providers_create_saml.md)。

## 在 中 AWS 為 SAML 聯合主體設定許可
<a name="fedconsole-grantperms"></a>

下一個步驟是建立 IAM 角色，以便建立 IAM 和您組織 IdP 之間的信任關係。基於聯合目的，這個角色必須將您的 IdP 識別為主體 (信任的實體)。此角色也會定義允許組織 IdP 驗證的使用者在其中執行的操作 AWS。您可使用 IAM 主控台來建立此角色。當您建立信任政策，指出可以擔任角色的人員時，您可以指定您先前在 IAM 中建立的 SAML 提供者。您也可以指定一或多個 SAML 屬性，讓使用者在符合這些屬性的情況下，才能允許擔任角色。例如，您可以指定只允許其 SAML `[eduPersonOrgDN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_edupersonorgdn)` 值為 `ExampleOrg` 的使用者登入。角色精靈會自動新增一個測試 `saml:aud` 屬性的條件，確保僅以登入 AWS 管理主控台為目的來擔任該角色。

如果需要 SAML 加密，登入 URL 必須包含 AWS 指派給 SAML 提供者的唯一識別碼，您可以在「身分提供者詳細資訊」頁面上找到此識別碼。該角色的信任政策可能如下所示：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Federated": "arn:aws:iam::111122223333:saml-provider/ExampleOrgSSOProvider"
            },
            "Action": "sts:AssumeRoleWithSAML",
            "Condition": {
                "StringEquals": {
                    "saml:edupersonorgdn": "ExampleOrg",
                    "saml:aud": "https://region-code.signin.aws.amazon.com/saml/acs/SAMLSP4SHN3UIS2D558H46"
                }
            }
        }
    ]
}
```

------

**注意**  
角色信任政策中使用的 SAML IDP 必須與角色所在的帳戶相同。

建議對 `https://region-code.signin.aws.amazon.com/static/saml-metadata.xml` 中的 `saml:aud` 屬性使用區域端點。對於可能的 *region-code* 值清單，請參閱 [AWS 登入端點](https://docs.aws.amazon.com/general/latest/gr/signin-service.html)中的 **Region** (區域) 欄位。

對於該角色中的[許可政策](access_policies.md)，您可以像任何角色、使用者或群組一樣指定許可。例如，如果允許您組織中的使用者管理 Amazon EC2 執行個體，您可以在許可政策中明確允許 Amazon EC2 動作。您可以指派[受管政策](access_policies_manage-attach-detach.md) (如 **Amazon EC2 完整存取**受管政策) 來執行此操作。

有關建立用於 SAML IdP 的角色的詳細資訊，請參閱 [為 SAML 2.0 聯合身分建立角色 (主控台)](id_roles_create_for-idp_saml.md)。

## 完成組態並建立 SAML 聲明
<a name="fedconsole-configassertions"></a>

安裝位於 `https://region-code.signin.aws.amazon.com/static/saml-metadata.xml`或 `saml-metadata.xml`的檔案，以通知 AWS 做為服務供應商的 SAML IdP`https://signin.aws.amazon.com/static/saml-metadata.xml`。如果需要 SAML 加密，可在 找到 檔案`https://region-code.signin.aws.amazon.com/static/saml/SAMLSP4SHN3UIS2D558H46/saml-metadata.xml`。

對於可能的 *region-code* 值清單，請參閱 [AWS 登入端點](https://docs.aws.amazon.com/general/latest/gr/signin-service.html)中的 **Region** (區域) 欄位。

安裝該檔案的方式取決於您的 IdP。部分提供者為您提供了輸入該 URL 的選項，此時，IdP 將為您取得並安裝該檔案。另一些提供者則要求您從該 URL 處下載檔案，然後將其做為本機檔案提供。請參閱您的 IdP 文件以獲得詳細資訊，或參閱 [將第三方 SAML 解決方案供應商與 整合 AWS](id_roles_providers_saml_3rd-party.md) 以取得包含許多支援的 SAML 提供者之 Web 文件連結。

您也可設定一條資訊，說明您希望 IdP 在身分驗證回應期間將此資訊做為 SAML 屬性傳遞到 AWS 。大多數此資訊會在 中顯示 AWS 為條件內容索引鍵，您可以在政策中評估這些索引鍵。這些條件索引鍵會確保只有經過授權且位於正確內容中的使用者，才能獲得授予存取您 AWS 資源的許可。您可以指定限制可使用主控台時間的時段。您也可以指定使用者在重新整理其憑證前，可存取主控台的時間上限 (最多 12 小時)。如需詳細資訊，請參閱[為身分驗證回應設定 SAML 聲明](id_roles_providers_create_saml_assertions.md)。