本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 IAM 政策控制 API 存取
將 IAM 政策升級至 IPv6
AWS CloudHSM 客戶使用 IAM 政策來控制對 AWS CloudHSM APIs存取,並防止設定範圍以外的任何 IP 地址能夠存取 AWS CloudHSM APIs。
cloudhsmv2.<region>.api.aws 託管 AWS CloudHSM APIs雙堆疊端點支援 IPv6 和 IPv4。
需要同時支援 IPv4 和 IPv6 的客戶必須更新其 IP 地址篩選政策來處理 IPv6 地址,否則會影響其 AWS CloudHSM 透過 IPv6 連線至 的能力。
誰應該升級?
使用雙定址搭配包含 aws:sourceIp 的政策的客戶會受到此升級的影響。雙定址表示網路同時支援 IPv4 和 IPv6。
如果您使用的是雙定址,則必須更新目前使用 IPv4 格式地址設定的 IAM 政策,以包含 IPv6 格式地址。
如需協助解決存取問題,請聯絡 支援
注意
下列客戶不受此升級影響:
-
僅位於 IPv4 網路的客戶。
什麼是 IPv6?
IPv6 是新一代 IP 標準,旨在最終取代 IPv4。舊版 IPv4 使用 32 位元定址機制來支援 43 億部裝置。IPv6 會改用 128 位元定址,以支援約 340 兆億億 (或第 128 個電源為 2) 個裝置。
如需詳細資訊,請參閱 VPC IPv6 網頁
2001:cdba:0000:0000:0000:0000:3257:9652 2001:cdba:0:0:0:0:3257:9652 2001:cdba::3257:965
更新 IPv6 的 IAM 政策
IAM 政策目前用於使用aws:SourceIp篩選條件設定允許的 IP 地址範圍。
雙定址支援 IPv4 和 IPv6 流量。如果您的網路使用雙定址,您必須更新用於 IP 地址篩選的任何 IAM 政策,以包含 IPv6 地址範圍。
例如,以下政策會識別 Condition元素203.0.113.0.*中允許的 IPv4 地址範圍192.0.2.0.*和 。
# https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-ip.html { "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "NotIpAddress": { "*aws:SourceIp*": [ "*192.0.2.0/24*", "*203.0.113.0/24*" ] }, "Bool": { "aws:ViaAWSService": "false" } } } }
若要更新此政策,請將 Condition元素變更為包含 IPv6 地址範圍2001:DB8:1234:5678::/64和 2001:cdba:3257:8593::/64。
注意
請勿移除現有的 IPv4 地址,因為需要它們才能回溯相容。
"Condition": { "NotIpAddress": { "*aws:SourceIp*": [ "*192.0.2.0/24*", <<DO NOT REMOVE existing IPv4 address>> "*203.0.113.0/24*", <<DO NOT REMOVE existing IPv4 address>> "*2001:DB8:1234:5678::/64*", <<New IPv6 IP address>> "*2001:cdba:3257:8593::/64*" <<New IPv6 IP address>> ] }, "Bool": { "aws:ViaAWSService": "false" } }
確認您的用戶端支援 IPv6
建議使用 cloudhsmv2.{region}.api.aws 端點的客戶驗證他們是否可以連線到它。下列步驟說明如何執行驗證。
此範例使用 Linux 和 curl 8.6.0 版,並使用位於 api.aws 端點且已啟用 IPv6 的端點AWS CloudHSM 的服務端點。
注意
將 切換 AWS 區域 到用戶端所在的相同區域。在此範例中,我們使用美國東部 (維吉尼亞北部) – us-east-1 端點。
-
使用以下
dig命令判斷端點是否以 IPv6 地址解析。dig +short AAAA cloudhsmv2.us-east-1.api.aws 2600:1f18:e2f:4e05:1a8a:948e:7c08:c1c3 -
使用以下
curl命令判斷用戶端網路是否可以進行 IPv6 連線。404 回應代碼表示連線成功,而 0 回應代碼表示連線失敗。curl --ipv6 -o /dev/null --silent -w "\nremote ip: %{remote_ip}\nresponse code: %{response_code}\n" https://cloudhsmv2.us-east-1.api.aws remote ip: 2600:1f18:e2f:4e05:1a8a:948e:7c08:c1c3 response code: 404
如果已識別遠端 IP,且回應代碼不是 0,則已成功使用 IPv6 與端點建立網路連線。遠端 IP 應該是 IPv6 地址,因為作業系統應該選取對用戶端有效的通訊協定。如果遠端 IP 不是 IPv6 地址,請使用下列命令curl強制 使用 IPv4。
curl --ipv4 -o /dev/null --silent -w "\nremote ip: %{remote_ip}\nresponse code: %{response_code}\n" https://cloudhsmv2.us-east-1.api.aws remote ip: 3.123.154.250 response code: 404
如果遠端 IP 為空白或回應碼為 0,則用戶端網路或端點的網路路徑為IPv4-only。您可以使用下列curl命令來驗證此組態。
curl -o /dev/null --silent -w "\nremote ip: %{remote_ip}\nresponse code: %{response_code}\n" https://cloudhsmv2.us-east-1.api.aws remote ip: 3.123.154.250 response code: 404