

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

# 設定 的緊急存取 AWS 管理主控台
<a name="emergency-access"></a>

IAM Identity Center 是以高度可用的 AWS 基礎設施建置而成，並使用可用區域架構來消除單一故障點。如需在 IAM Identity Center 發生罕見事件或 AWS 區域 中斷時多一層保護，建議您設定組態，以便用來暫時存取 AWS 管理主控台。

AWS 可讓您：
+ [將您的第三方 IdP 連接到 IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html)。
+ 使用 [SAML 2.0 型聯合](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html) AWS 帳戶 將您的第三方 IdP 連接到個人。

如果您使用 IAM Identity Center，您可以使用這些功能來建立下列各節所述的緊急存取組態。此組態可讓您使用 IAM Identity Center 做為 AWS 帳戶 存取機制。如果 IAM Identity Center 中斷，您的緊急操作使用者可以使用存取其帳戶的相同登入資料， AWS 管理主控台 透過直接聯合登入 。當 IAM Identity Center 無法使用，但 IAM 資料平面和外部身分提供者 (IdP) 可用時，此組態即可運作。如果您不想依賴外部 IdP，請考慮設定[AWS 碎片存取](https://docs.aws.amazon.com/wellarchitected/latest/devops-guidance/ag.sad.5-implement-break-glass-procedures.html) 

**重要**  
我們建議您在中斷發生之前部署此組態，因為如果您建立所需 IAM 角色的存取權也中斷，則無法建立組態。此外，請定期測試此組態，以確保您的團隊了解 IAM Identity Center 中斷時該怎麼做。

**Topics**
+ [緊急存取組態摘要](emergency-access-implementation.md)
+ [如何設計關鍵操作角色](emergency-access-implementation-design.md)
+ [如何規劃您的存取模型](emergency-access-planning.md)
+ [如何設計緊急角色、帳戶和群組映射](emergency-access-mapping-design.md)
+ [如何建立緊急存取組態](emergency-access-role-idp-group-creation-mapping-plan.md)
+ [緊急準備任務](emergency-access-prepare-configuration.md)
+ [緊急容錯移轉程序](emergency-access-failover-steps.md)
+ [返回正常操作](emergency-access-return-to-normal-operations.md)
+ [在 中一次性設定直接 IAM 聯合應用程式 Okta](emergency-access-one-time-setup-direct-IAM-federation-application-in-idp.md)
+ [使用 設定一次直接 IAM 聯合應用程式 ADFS](emergency-access-one-time-setup-direct-IAM-federation-application-in-adfs.md)

# 緊急存取組態摘要
<a name="emergency-access-implementation"></a>

若要設定緊急存取，您必須完成下列任務：

1. [在 中在您的組織中建立緊急操作帳戶 AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_create.html)。此帳戶將成為您的緊急操作帳戶。

1. 使用以 [SAML 2.0 為基礎的聯合](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html)，將您的 IdP 連接到緊急操作帳戶。

1. 在緊急操作帳戶中，[為第三方身分提供者聯合建立角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html)。此外，在每個工作負載帳戶中建立具有所需許可的緊急操作角色。

1. [針對您在緊急操作帳戶中建立的 IAM 角色，委派對工作負載帳戶的存取權](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html)。若要授權存取您的緊急操作帳戶 ，請在 IdP 中建立沒有成員的緊急操作群組。

1. 在 IdP 中建立規則以[啟用 SAML 2.0 聯合存取 AWS 管理主控台](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html)，讓 IdP 中的緊急操作群組能夠使用緊急操作角色。

在正常操作期間，沒有人可以存取緊急操作帳戶，因為 IdP 中的緊急操作群組沒有成員。如果發生 IAM Identity Center 中斷，請使用 IdP 將信任的使用者新增至 IdP 中的緊急操作群組。這些使用者可以登入 IdP、導覽至 AWS 管理主控台，並在緊急操作帳戶中擔任緊急操作角色。從那裡，這些使用者可以將[角色切換](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)到工作負載帳戶中需要執行操作工作的緊急存取角色。

# 如何設計關鍵操作角色
<a name="emergency-access-implementation-design"></a>

透過此設計，您可以設定透過 IAM 聯合 AWS 帳戶 的單一 ，讓使用者可以擔任關鍵操作角色。關鍵操作角色具有信任政策，可讓使用者在您的工作負載帳戶中擔任對應的角色。工作負載帳戶中的角色提供使用者執行基本工作所需的許可。

下圖提供設計概觀。

![\[IAM Identity Center：為緊急帳戶中的基本工作建立信任政策、緊急角色。\]](http://docs.aws.amazon.com/zh_tw/singlesignon/latest/userguide/images/emergency-access-design.png)


# 如何規劃您的存取模型
<a name="emergency-access-planning"></a>

設定緊急存取之前，請建立存取模型運作方式的計劃。請使用下列程序來建立此計劃。

1. 識別在中斷 IAM Identity Center 期間，緊急操作員存取至關重要 AWS 帳戶 的 。例如，您的生產帳戶可能是必要的，但您的開發和測試帳戶可能不是。

1. 對於該帳戶集合，識別您在帳戶中需要的特定關鍵角色。在這些帳戶中，定義角色可以執行的操作時保持一致。這可簡化您在建立跨帳戶角色的緊急存取帳戶中的工作。我們建議您從這些帳戶中的兩個不同角色開始：唯讀 (RO) 和操作 (Ops)。如果需要，您可以建立更多角色，並將這些角色映射到設定中更不同的緊急存取使用者群組。

1. 識別並建立 IdP 中的緊急存取群組。群組成員是您委派存取緊急存取角色的使用者。

1. 定義這些群組可以在緊急存取帳戶中擔任的角色。若要這樣做，請在 IdP 中定義產生宣告的規則，列出群組可存取的角色。這些群組接著可以在緊急存取帳戶中擔任您的唯讀或操作角色。從這些角色中，他們可以在您的工作負載帳戶中擔任對應的角色。

# 如何設計緊急角色、帳戶和群組映射
<a name="emergency-access-mapping-design"></a>

下圖顯示如何將緊急存取群組對應至緊急存取帳戶中的角色。此圖表也顯示跨帳戶角色信任關係，可讓緊急存取帳戶角色存取工作負載帳戶中的對應角色。我們建議您的緊急計劃設計使用這些映射作為起點。

![\[IAM Identity Center 工作流程：將緊急存取群組映射至緊急帳戶中的角色。\]](http://docs.aws.amazon.com/zh_tw/singlesignon/latest/userguide/images/emergency-access-mapping.png)


# 如何建立緊急存取組態
<a name="emergency-access-role-idp-group-creation-mapping-plan"></a>

使用下列映射表來建立您的緊急存取組態。此資料表反映一項計劃，其中包含工作負載帳戶中的兩個角色：唯讀 (RO) 和操作 (Ops)，以及對應的信任政策和許可政策。信任政策可讓緊急存取帳戶角色存取個別工作負載帳戶角色。個別工作負載帳戶角色也有該角色可在帳戶中執行的許可政策。許可政策可以是[AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)或[客戶受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)。


****  

| 帳戶 | 要建立的角色 | 信任政策 | 許可政策 | 
| --- | --- | --- | --- | 
| 帳戶 1 | EmergencyAccess\$1RO | EmergencyAccess\$1Role1\$1RO |  arn:aws:iam::aws:policy/ReadOnlyAccess  | 
| 帳戶 1 | EmergencyAccess\$1Ops | EmergencyAccess\$1Role1\$1Ops |  arn:aws:iam::aws:policy/job-function/SystemAdministrator  | 
| 帳戶 2 | EmergencyAccess\$1RO | EmergencyAccess\$1Role2\$1RO |  arn：aws：iam：：aws：policy/ReadOnlyAccess  | 
| 帳戶 2 | EmergencyAccess\$1Ops | EmergencyAccess\$1Role2\$1Ops |  arn:aws:iam::aws:policy/job-function/SystemAdministrator  | 
| 緊急存取帳戶 |  EmergencyAccess\$1Role1\$1RO EmergencyAccess\$1Role1\$1Ops EmergencyAccess\$1Role2\$1RO EmergencyAccess\$1Role2\$1Ops  | IdP |  帳戶中角色資源的 AssumeRole   | 

在此映射計劃中，緊急存取帳戶包含兩個唯讀角色和兩個操作角色。這些角色信任您的 IdP 透過在聲明中傳遞角色名稱來驗證和授權所選群組存取角色。工作負載帳戶 1 和帳戶 2 中有對應的唯讀和操作角色。對於工作負載帳戶 1，`EmergencyAccess_RO`角色信任位於緊急存取帳戶中`EmergencyAccess_Role1_RO`的角色。資料表指定工作負載帳戶唯讀和操作角色與對應的緊急存取角色之間的類似信任模式。

# 緊急準備任務
<a name="emergency-access-prepare-configuration"></a>

若要準備緊急存取組態，建議您在發生緊急狀況之前執行下列任務。

1. 在 IdP 中設定直接 IAM 聯合應用程式。如果您使用 Okta 或其他外部 IdPs做為身分來源，請參閱 [在 中一次性設定直接 IAM 聯合應用程式 Okta](emergency-access-one-time-setup-direct-IAM-federation-application-in-idp.md)。如果您使用 Active Directory 做為身分來源，請參閱 [使用 設定一次直接 IAM 聯合應用程式 ADFS](emergency-access-one-time-setup-direct-IAM-federation-application-in-adfs.md)。

1. 在緊急存取帳戶中建立可在事件期間存取的 IdP 連線。

1. 在緊急存取帳戶中建立緊急存取角色，如上表所述。

1. 在每個工作負載帳戶中建立具有信任和許可政策的臨時操作角色。

1. 在 IdP 中建立臨時操作群組。群組名稱將取決於臨時操作角色的名稱。

1. 測試直接 IAM 聯合。

1. 在 IdP 中停用 IdP 聯合應用程式，以防止定期使用。

# 緊急容錯移轉程序
<a name="emergency-access-failover-steps"></a>

當 IAM Identity Center 執行個體無法使用，且您判斷您必須提供 AWS 管理主控台的緊急存取權時，建議您執行下列容錯移轉程序。

1. IdP 管理員會在 IdP 中啟用直接 IAM 聯合應用程式。

1. 使用者透過您現有的機制請求存取臨時操作群組，例如電子郵件請求、Slack 管道或其他形式的通訊。

1. 您新增至緊急存取群組的使用者會登入 IdP、選取緊急存取帳戶，以及使用者選擇要在緊急存取帳戶中使用的角色。從這些角色中，他們可以在與緊急帳戶角色具有跨帳戶信任的對應工作負載帳戶中擔任角色。

# 返回正常操作
<a name="emergency-access-return-to-normal-operations"></a>

 檢查[AWS 運作狀態儀表板](https://health.aws.amazon.com/health/status)以確認 IAM Identity Center 服務的運作狀態何時還原。若要返回正常操作，請執行下列步驟。

1. 在 IAM Identity Center 服務的狀態圖示指出服務狀態良好之後，請登入 IAM Identity Center。

1. 如果您可以成功登入 IAM Identity Center，請通知緊急存取使用者 IAM Identity Center 可供使用。指示這些使用者登出並使用 AWS 存取入口網站重新登入 IAM Identity Center。

1. 在所有緊急存取使用者登出後，請在 IdP 中停用 IdP 聯合應用程式。建議您在工作時間之後執行此任務。

1. 從 IdP 中的緊急存取群組中移除所有使用者。

您的緊急存取角色基礎設施會保留為備份存取計劃，但現在已停用。

# 在 中一次性設定直接 IAM 聯合應用程式 Okta
<a name="emergency-access-one-time-setup-direct-IAM-federation-application-in-idp"></a>

1. 以具有管理許可的使用者身分登入Okta您的帳戶。

1. 在Okta管理員主控台**的應用程式**下，選擇**應用程式。**

1. 選擇**瀏覽應用程式目錄**。搜尋並選擇**AWS 帳戶聯合**。然後選擇**新增整合**。

1. 遵循如何為帳戶聯合設定 SAML 2.0 中的步驟， AWS 使用 設定直接 IAM 聯合。 [AWS](https://saml-doc.okta.com/SAML_Docs/How-to-Configure-SAML-2.0-for-Amazon-Web-Service.html)為了處理區域故障案例，當您設定登入端點時，建議您為操作的所有區域啟用非區域端點和多個區域端點，以改善聯合彈性。為此緊急存取設定 ACS URL 時，建議您使用與 IAM Identity Center 部署所在區域不同的區域端點。如需區域[端點清單，請參閱《 一般參考](https://docs.aws.amazon.com/general/latest/gr/signin-service.html)*AWS *》中的登入端點。

1. 在**登入選項**索引標籤上，選取 SAML 2.0，然後輸入**群組篩選條件**和**角色值模式**設定。使用者目錄的 群組名稱取決於您設定的篩選條件。  
![\[兩個選項：群組篩選條件或角色值模式中的 accountid 和角色。\]](http://docs.aws.amazon.com/zh_tw/singlesignon/latest/userguide/images/emergency-access-group-filter-role-value-pattern.png)

   在上圖中， `role`變數適用於緊急存取帳戶中的緊急操作角色。例如，如果您在 中建立`EmergencyAccess_Role1_RO`角色 （如映射表所述） AWS 帳戶 `123456789012`，並且您的群組篩選條件設定如上圖所示，則您的群組名稱應為 `aws#EmergencyAccess_Role1_RO#123456789012`。

1. 在您的目錄 （例如， Active Directory 中的目錄） 中，建立緊急存取群組並指定目錄的名稱 （例如，`aws#EmergencyAccess_Role1_RO#123456789012`)。使用您現有的佈建機制，將您的使用者指派給此群組。

1. 在緊急存取帳戶中，[設定自訂信任政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)，提供在中斷期間擔任緊急存取角色所需的許可。以下是連接到`EmergencyAccess_Role1_RO`角色之自訂**信任政策**的範例陳述式。如需圖例，請參閱 下方圖表中的緊急帳戶[如何設計緊急角色、帳戶和群組映射](emergency-access-mapping-design.md)。將範例 SAML 提供者 ARN 取代為您在緊急存取帳戶中建立的正確 ARN。將範例中的區域端點取代為您選擇的區域。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
            "Effect":"Allow",
            "Principal":{
               "Federated":"arn:aws:iam::123456789012:saml-provider/[SAML PROVIDER NAME]"
            },
            "Action":[
               "sts:AssumeRoleWithSAML",
               "sts:TagSession"
            ],
            "Condition":{
               "StringEquals":{
                  "SAML:aud": [
                           "https://signin.aws.amazon.com/saml",
                           "https://us-west-2.signin.aws.amazon.com/saml",
                           "https://us-west-1.signin.aws.amazon.com/saml",
                           "https://us-east-2.signin.aws.amazon.com/saml"
                  ]
               }
            }
         },
         {
            "Effect":"Allow",
            "Principal":{
            "Federated":"arn:aws:iam::123456789012:saml-provider/Okta"
            },
            "Action":"sts:SetSourceIdentity"
          }
      ]
   }
   ```

------

1. 以下是連接到`EmergencyAccess_Role1_RO`角色之**許可政策**的範例陳述式。如需圖例，請參閱 下方圖表中的緊急帳戶[如何設計緊急角色、帳戶和群組映射](emergency-access-mapping-design.md)。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "sts:AssumeRole",
               "Resource": [
                   "arn:aws:iam::111122223333:role/EmergencyAccess_RO",
                   "arn:aws:iam::444455556666:role/EmergencyAccess_RO"
               ]
           }
       ]
   }
   ```

------

1. 在工作負載帳戶上，設定自訂信任政策。以下是連接到`EmergencyAccess_RO`角色之**信任政策**的範例陳述式。在此範例中，帳戶`123456789012`是緊急存取帳戶。如需圖例，請參閱 下圖表中的工作負載帳戶[如何設計緊急角色、帳戶和群組映射](emergency-access-mapping-design.md)。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement":[
         {
            "Effect":"Allow",
            "Principal":{
               "AWS":"arn:aws:iam::123456789012:root"
            },
            "Action":"sts:AssumeRole"
         }
      ]
   }
   ```

------
**注意**  
大多數 IdPs可讓您將應用程式整合保持停用狀態，直到需要為止。我們建議您在 IdP 中停用直接 IAM 聯合應用程式，直到需要緊急存取為止。

# 使用 設定一次直接 IAM 聯合應用程式 ADFS
<a name="emergency-access-one-time-setup-direct-IAM-federation-application-in-adfs"></a>

本指南說明使用 設定直接 IAM 聯合的一次性設定程序ADFS，以便在 IAM Identity Center 無法使用 AWS 帳戶 時啟用 的緊急存取。

## 先決條件
<a name="emergency-access-adfs-prerequisites"></a>

如果您打算ADFS使用 AWS Managed Microsoft AD 設定 ，我們建議您先[設定多區域複寫](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_configure_multi_region_replication.html)，並在其他區域中繼續進行以下步驟，而不是在主要區域中設定恢復能力。

## 規劃您的 Active Directory 群組命名慣例
<a name="emergency-access-adfs-plan-naming"></a>

使用特定命名模式建立 AD 群組，以便在群組名稱和 IAM AWS 角色之間自動比對。

**群組命名格式**： `AWS-<AccountNumber>-<RoleName>`

如需圖例，請參閱 下方圖表中的緊急帳戶[如何設計緊急角色、帳戶和群組映射](emergency-access-mapping-design.md)。將使用者指派給此群組時，會授予他們帳戶 中`EmergencyAccess_Role1_RO`角色的存取權`123456789012`。如果使用者與多個群組相關聯，他們會看到 的可用角色清單 AWS 帳戶 ，並且可以選擇擔任哪個角色。

## AWS 組態
<a name="emergency-access-adfs-aws-configuration"></a>

完整的設定包括緊急存取帳戶和工作負載帳戶中的組態。如需整體設定的說明，請參閱 [如何設計緊急角色、帳戶和群組映射](emergency-access-mapping-design.md)。

1. [建立 SAML 身分提供者](#emergency-access-adfs-create-saml-provider)

1. [建立緊急存取角色](#emergency-access-adfs-create-roles)

1. [設定工作負載帳戶角色](#emergency-access-adfs-configure-workload-accounts)

### 建立 SAML 身分提供者
<a name="emergency-access-adfs-create-saml-provider"></a>

在緊急存取帳戶中，遵循在 IAM 中建立 SAML 身分提供者中的步驟[，在 IAM 中建立 SAML 身分提供者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html)。從ADFS伺服器下載必要的中繼資料：

`https://<yourADFSserverFQDN>/FederationMetadata/2007-06/FederationMetadata.xml`

### 建立緊急存取角色
<a name="emergency-access-adfs-create-roles"></a>

使用 SAML 2.0 Federation 做為信任的實體類型，在[緊急帳戶中建立緊急存取角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)。選取您在上一個步驟中建立的 SAML 2.0 提供者。

**考量：**
+ **包含您操作的所有區域** — 選取您擁有作用中工作負載的每個區域，以確保聯合在區域中斷期間保持可用。
+ **設定至少一個額外的區域端點，即使您在單一區域中操作** - 例如，如果您僅在 中操作 `us-east-1`，請將 新增`us-west-2`為次要端點。您可以將 IdP 容錯移轉至 `us-west-2` SAML 登入端點，即使沒有 中的任何工作負載，仍然可以存取您的 `us-east-1` 資源`us-west-2`。
+ **同時啟用非區域端點和區域端點** — 雖然非區域端點 (`https://signin.aws.amazon.com/saml`) 高度可用，但它託管在單一 中 AWS 區域，`us-east-1`而區域端點 (`https://<region>.signin.aws.amazon.com/saml`) 透過減少對單一全域端點的相依性來改善彈性。

**設定信任政策**

如需具有多個登入區域端點的範例信任政策[在 中一次性設定直接 IAM 聯合應用程式 Okta](emergency-access-one-time-setup-direct-IAM-federation-application-in-idp.md)，請參閱 。將範例區域端點和 SAML 提供者 ARNs 取代為您。

**設定許可政策**

如需連接到緊急存取角色[在 中一次性設定直接 IAM 聯合應用程式 Okta](emergency-access-one-time-setup-direct-IAM-federation-application-in-idp.md)的許可政策範例，請參閱 。

### 設定工作負載帳戶角色
<a name="emergency-access-adfs-configure-workload-accounts"></a>

對於工作負載帳戶角色，請設定自訂信任政策，允許緊急存取帳戶中的緊急存取角色擔任這些角色。如需信任政策[在 中一次性設定直接 IAM 聯合應用程式 Okta](emergency-access-one-time-setup-direct-IAM-federation-application-in-idp.md)範例，其中 帳戶`123456789012`是緊急存取帳戶。

## Active Directory 組態
<a name="emergency-access-adfs-ad-configuration"></a>

下列步驟說明如何設定 Active Directory 和 ADFS 以進行緊急存取。

1. [建立群組](#emergency-access-adfs-create-groups)

1. [建立依賴方](#emergency-access-adfs-create-relying-party)

1. [建立宣告規則](#emergency-access-adfs-create-claim-rules)

### 建立群組
<a name="emergency-access-adfs-create-groups"></a>

根據先前所述的命名慣例，在 Active Directory 中建立緊急群組 （例如 `AWS-123456789012-EmergencyAccess_Role1_RO`)。透過您現有的佈建機制，將使用者指派給這些群組。

### 建立依賴方
<a name="emergency-access-adfs-create-relying-party"></a>

ADFS 聯合需要依賴方組態。依賴方為 AWS Security Token Service (AWS STS)，其會將身分驗證以身分提供者ADFS身分外包給 。

1. 在 ADFS 管理主控台中，使用動作功能表，然後選取**新增依賴方信任**。在新增依賴方時，選取**宣告感知**。

1. 對於聯合中繼資料，輸入來自 IAM 主控台上身分提供者中繼資料資訊的中繼資料 URL。例如：

   `https://signin.aws.amazon.com/static/saml/SAMLSPXXXXXX/saml-metadata.xml`

1. 設定依賴方的顯示名稱 （例如**AWS 帳戶存取**)，然後選擇**下一步**。

1. 選取您要讓 存取的人員 AWS。您可以選取特定群組並定義 MFA 等需求。

1. 選擇完成頁面上的**關閉**以完成新增依賴方信任精靈。 現在 AWS 已設定為依賴方。

### 建立宣告規則
<a name="emergency-access-adfs-create-claim-rules"></a>

ADFS 使用宣告規則語言，在宣告提供者和依賴方之間發出和轉換宣告。您需要建立四個宣告規則：NameId、、RoleSessionName取得 AD 群組和角色以供 AWS 存取。

在依賴方上按一下滑鼠右鍵，然後選擇**編輯宣告發行政策**。選擇**新增規則**以新增規則。

**1NameId**. 

1. 選取**轉換傳入宣告**，然後選擇**下一步**。

1. 請使用下列設定：
   + 宣告規則名稱： `NameId`
   + 傳入宣告類型： `Windows Account Name`
   + 傳出宣告類型： `Name ID`
   + 傳出名稱 ID 格式： `Persistent Identifier`
   + 傳遞所有宣告值：已檢查

1. 選擇**確定**。

**2. RoleSessionName** 

1. 選擇 **Add Rule** (新增規則)。

1. 在宣告規則範本清單中，選取**傳送 LDAP 屬性做為宣告**。

1. 請使用下列設定：
   + 宣告規則名稱： `RoleSessionName`
   + 屬性存放區： `Active Directory`
   + LDAP 屬性： `E-Mail-Addresses`
   + 傳出宣告類型： `https://aws.amazon.com/SAML/Attributes/RoleSessionName`

1. 選擇**確定**。

**3. 取得 AD 群組**

1. 選擇 **Add Rule** (新增規則)。

1. 在宣告規則範本清單中，選取**使用自訂規則傳送宣告**，然後選擇**下一步**。

1. 在宣告規則名稱中輸入 `Get AD Groups`，然後在自訂規則中輸入以下內容：

   ```
   c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
   => add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value);
   ```

   此自訂規則使用宣告規則語言中的指令碼，擷取已驗證使用者所屬的所有群組，並將其放入名為 的暫時宣告中`http://temp/variable`。
**注意**  
確保沒有結尾空格，以避免非預期的結果。

**4. 角色屬性**

1. 選擇 **Add Rule** (新增規則)。

1. 在宣告規則範本清單中，選取**使用自訂規則傳送宣告**，然後選擇**下一步**。

1. 對於宣告規則名稱，輸入 `Roles`，然後在自訂規則中，輸入以下內容：

   ```
   c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-([\d]{12})"]
   => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-([\d]{12})-", "arn:aws:iam::$1:saml-provider/<ADFS>,arn:aws:iam::$1:role/"));
   ```

   此自訂規則使用規則表達式，將表單的每個群組成員資格轉換為 AWS 預期的 `AWS-<Account Number>-<Role Name>` IAM 角色 ARN 和 IAM 聯合提供者 ARN 表單。
**注意**  
在上述規則語言範例中， `ADFS`代表在身分提供者設定中提供給 SAML AWS 身分提供者的邏輯名稱。根據您在身分提供者的 IAM 主控台中選擇的邏輯名稱進行變更。

## 測試組態
<a name="emergency-access-adfs-test-configuration"></a>

透過在 驗證 來測試解決方案是否有效`https://<yourADFSserverFQDN>/adfs/ls/IdpInitiatedSignOn.aspx`。從網站的下拉式清單中選取您建立的依賴方名稱。

## 在 中更新預設 SAML 聲明端點 ADFS
<a name="emergency-access-adfs-update-saml-endpoint"></a>

**重要**  
在 中設定依賴方信任時ADFS，SAML 聲明端點預設為 `https://signin.aws.amazon.com/`，其不是全域端點且位於 中`us-east-1`。建議您將預設端點修改為與 IAM Identity Center 設定彈性不同的區域端點。例如，如果您的 IAM Identity Center 部署在 中，`us-east-1`而且您也在 中操作`us-west-2`，請將預設 SAML 聲明取用者端點變更為 `https://us-west-2.signin.aws.amazon.com/saml`。

1. 選擇依賴方信任的**屬性**，然後前往**監控**索引標籤。清除核取方塊**自動更新依賴方**。

1. 前往**端點**索引標籤，選取您偏好的登入端點，然後選擇**編輯**。

1. 選取核取方塊 **將信任的 URL 設定為預設值**。選擇**確定**並**套用**設定以生效。

**注意**  
大多數 IdPs可讓您將應用程式整合保持停用狀態，直到需要為止。我們建議您在 IdP 中停用直接 IAM 聯合應用程式，直到需要緊急存取為止。