

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

# IPv6 支援自訂身分提供者
<a name="custom-idp-ipv6"></a>

AWS Transfer Family 自訂身分提供者完全支援 IPv6 連線。實作自訂身分提供者時，您的 Lambda 函數可以接收和處理來自 IPv4 和 IPv6 用戶端的身分驗證請求，而不需要任何額外的組態。Lambda 函數會在請求的 `sourceIp` 欄位中接收用戶端的 IP 地址，可以是 IPv4 地址 （例如 `203.0.113.42`) 或 IPv6 地址 （例如 `2001:db8:85a3:8d3:1319:8a2e:370:7348`)。您的自訂身分提供者實作應適當處理這兩種地址格式。

**重要**  
如果您的自訂身分提供者執行以 IP 為基礎的驗證或記錄，請確保您的實作正確處理 IPv6 地址格式。IPv6 地址比 IPv4 地址長，並使用不同的表示法格式。

**注意**  
在自訂身分提供者中處理 IPv6 地址時，請確定您使用的是適當的 IPv6 地址剖析函數，而不是簡單的字串比較。IPv6 地址可以以各種正式格式表示 （例如 `fd00:b600::ec2`或 `fd00:b600:0:0:0:0:0:ec2`)。在實作語言中使用適當的 IPv6 地址程式庫或函數，以正確驗證和比較 IPv6 地址。

**Example 在自訂身分提供者中同時處理 IPv4 和 IPv6 地址**  

```
def lambda_handler(event, context):
    # Extract the source IP address from the request
    source_ip = event.get('sourceIp', '')
    
    # Log the client IP address (works for both IPv4 and IPv6)
    print(f"Authentication request from: {source_ip}")
    
    # Example of IP-based validation that works with both IPv4 and IPv6
    if is_ip_allowed(source_ip):
        # Continue with authentication
        # ...
    else:
        # Reject the authentication request
        return {
            "Role": "",
            "HomeDirectory": "",
            "Status": "DENIED"
        }
```

如需實作自訂身分提供者的詳細資訊，請參閱 [使用 AWS Lambda 整合您的身分提供者](custom-lambda-idp.md)。