本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
IPv6 支援自訂身分提供者
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 地址。
範例 在自訂身分提供者中同時處理 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 整合您的身分提供者。