IPv6 支持自定义身份提供商 - AWS Transfer Family

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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::ec2fd00: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 用于整合您的身份提供商