

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

# 編輯身分提供者組態
<a name="configuring-servers-edit-custom-idp"></a>

您可以將伺服器的身分提供者類型從任何類型變更為任何其他類型。可用的身分提供者類型為：
+ **服務受管** – 將使用者登入資料存放在服務內
+ **AWS Directory Service** – 使用 AWS Managed Microsoft AD 或 AWS Directory Service for Entra ID Domain Services
+ **自訂** – 使用 Lambda 函數或 Amazon API Gateway 與您現有的身分提供者整合

變更身分提供者類型時，您需要根據正在進行的轉換提供特定資訊。下列各節說明每種變更類型的必要資訊。

**重要**  
變更身分提供者時的考量事項：  
**使用者遷移** – 變更身分提供者類型時，不會自動遷移現有的使用者組態。您需要在新的身分提供者系統中設定使用者。
**測試** – 在生產環境中進行變更之前，請徹底測試新的身分提供者組態。
**許可** – 在進行變更之前，請確定新的身分提供者已設定必要的 IAM 許可和角色。

## 變更為服務受管身分提供者
<a name="change-to-service-managed"></a>

從任何其他身分提供者類型變更為服務受管時，您需要：
+ 選取做為身分提供者類型**受管的服務** 
+ 在變更完成後直接在 中建立新使用者，因為不會傳輸來自其他身分提供者 AWS Transfer Family 的現有使用者組態

範例：如果您要從自訂身分提供者變更為服務受管，則需要重新建立服務中的所有 AWS Transfer Family 使用者帳戶及其相關聯的許可。

## 變更為 AWS Directory Service
<a name="change-to-directory-service"></a>

從任何其他身分提供者類型變更為 AWS Directory Service 時，您需要提供：
+ **目錄** – 選取現有的 AWS Managed Microsoft AD 或 AWS Directory Service for Entra ID Domain Services 目錄
+ **存取** – 選擇是否限制對特定群組的存取，或允許目錄中所有使用者存取
+ **存取角色** – 允許 存取目錄的 AWS Transfer Family IAM 角色

範例：如果您要從服務受管變更為 AWS Directory Service，您可以選擇現有的`d-1234567890`目錄，選擇限制對 `TransferUsers`群組的存取，並指定 `TransferDirectoryAccessRole` IAM 角色。

## 變更為自訂身分提供者
<a name="change-to-custom-idp"></a>

從任何其他身分提供者類型變更為自訂身分提供者時，您需要在 Lambda 函數或 Amazon API Gateway 之間進行選擇，並提供必要的組態：

### 使用 Lambda 函數
<a name="change-to-lambda-idp"></a>

對於 Lambda 函數整合，請提供：
+ **函數** – 選取處理身分驗證的現有 Lambda 函數
+ **身分驗證方法** （適用於 SFTP 通訊協定） – 選擇密碼、公有金鑰或兩者

範例：如果您要從 AWS Directory Service 變更為自訂 Lambda 身分提供者，您可以選擇您的`TransferCustomAuth`函數，然後選擇**密碼**作為身分驗證方法。

![對於 Lambda 身分提供者，您可以變更基礎 Lambda 函數。](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/images/edit-server-idp-lambda.png)


### 使用 Amazon API Gateway
<a name="change-to-api-gateway-idp"></a>

對於 Amazon API Gateway 整合，請提供：
+ **API Gateway URL** – 叫用 API Gateway 端點的 URL
+ **叫用角色** – 允許 AWS Transfer Family 叫用 API Gateway 的 IAM 角色
+ **身分驗證方法** （適用於 SFTP 通訊協定） – 選擇密碼、公有金鑰或兩者

範例：如果您要從服務受管變更為 API Gateway，您會提供 URL `https://abcdef123.execute-api.us-east-1.amazonaws.com/prod`、指定 `TransferApiGatewayInvocationRole` IAM 角色，然後選擇**公有金鑰**做為身分驗證方法。

![對於 API Gateway 身分提供者，您可以更新閘道 URL 或叫用角色，或兩者。](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/images/edit-server-idp-apigateway.png)


### 從 Amazon API Gateway 變更為 Lambda 函數
<a name="change-api-gateway-to-lambda"></a>

常見的轉換是從 Amazon API Gateway 變更為 Lambda 函數，以進行自訂身分提供者整合。此變更可讓您簡化架構，同時維護相同的身分驗證邏輯。

此轉換的主要考量事項：
+ **相同的函數，不同的許可** – 您可以對 API Gateway 和直接 Lambda 整合使用相同的 Lambda 函數，但必須更新資源政策。
+ **資源政策要求** – 變更為直接 Lambda 整合時，除了 之外，函數的資源政策還必須授予叫用函數的`transfer.amazonaws.com`許可`apigateway.amazonaws.com`。

**若要進行此變更**

1. 更新 Lambda 函數的資源政策，`transfer.amazonaws.com`以允許 叫用函數。

1. 在 AWS Transfer Family 主控台中，將身分提供者從 API Gateway 變更為 Lambda 函數。

1. 選取您現有的 Lambda 函數。

1. 測試組態以確保身分驗證正常運作。

直接 Lambda 整合的資源政策範例：

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Principal": {
         "Service": [
            "transfer.amazonaws.com",
            "apigateway.amazonaws.com"
         ]
      },
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:us-east-1:123456789012:function:{{function-name}}"
   }]
}
```

## 身分提供者轉換期間的使用者保留
<a name="user-preservation-during-transitions"></a>

在身分提供者類型之間變更時，會在特定案例中保留現有的使用者組態，以便在發生問題時啟用有效的轉返：
+ **服務受管至自訂身分提供者和返回** – 如果您從服務受管變更為自訂身分提供者，然後返回服務受管，則所有使用者都會保留在其上次已知的組態中。
+ **AWS Directory Service 變更為自訂身分提供者和返回** – 如果您從 AWS Directory Service 變更為自訂身分提供者，然後再變更為 AWS Directory Service，委派存取群組的所有定義都會保留在其上次已知的組態中。

此保留行為可讓您安全地測試自訂身分提供者組態，並復原至先前的設定，而不會遺失使用者存取組態。

## 變更身分提供者時的重要考量
<a name="identity-provider-considerations"></a>
+ **使用者遷移** – 變更身分提供者類型時，不會自動遷移現有的使用者組態。您需要在新的身分提供者系統中設定使用者。
+ **測試** – 在生產環境中進行變更之前，請徹底測試新的身分提供者組態。
+ **許可** – 在進行變更之前，請確定新的身分提供者已設定必要的 IAM 許可和角色。