Upgrading IAM policies to IPv6
AWS Marketplace customers use IAM policies to set an allowed range of IP addresses and prevent any IP addresses outside the configured range from being able to access AWS Marketplace resources.
The AWS Marketplace website domain is being upgraded to the IPv6 protocol.
IP address filtering policies that are not updated to handle IPv6 addresses might result in clients losing access to the resources on AWS Marketplace website.
Customers impacted by upgrade from IPv4 to IPv6
Customers who are using dual addressing are impacted by this upgrade. Dual addressing means that the network supports both IPv4 and IPv6.
If you are using dual addressing, you must update your IAM policies that are currently configured with IPv4 format addresses to include IPv6 format addresses.
For help with access issues, contact AWS Support
Note
The following customers are not impacted by this upgrade:
-
Customers who are on only IPv4 networks.
-
Customers who are on only IPv6 networks.
What is IPv6?
IPv6 is the next generation IP standard intended to eventually replace IPv4. The previous version, IPv4, uses a 32-bit addressing scheme to support 4.3 billion devices. IPv6 instead uses 128-bit addressing to support approximately 340 trillion trillion trillion (or 2 to the 128th power) devices.
2001:cdba:0000:0000:0000:0000:3257:9652 2001:cdba:0:0:0:0:3257:9652 2001:cdba::3257:965
Updating an IAM policy for IPv6
IAM policies are currently used to set an allowed range of IP addresses using the
aws:SourceIp
filter.
Dual addressing supports both IPv4 and IPV6 traffic. If your network uses dual addressing, you must ensure that any IAM polices that are used for IP address filtering are updated to include IPv6 address ranges.
For example, this IAM identity-based policy identifies allowed IPv4 address CIDR ranges 192.0.2.0/24 and 203.0.113.0/24 in the Condition element.
{ "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" } } } }
For more information about the IAM identity-based policy example, see AWS: Denies access to AWS based on the source IP in the AWS Identity and Access Management User Guide.
To update this policy, the policy's Condition
element is updated to include
IPv6 address ranges 2001:DB8:1234:5678::/64
and
2001:cdba:3257:8593::/64
.
Note
DO NOT REMOVE the existing IPv4 addresses because they are needed for backward compatibility.
"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" } }
For more information about managing access permissions with IAM, see Managed policies and inline policies in the AWS Identity and Access Management User Guide.
Testing network after update from IPv4 to IPv6
After you update your IAM policies to the IPv6 format, you can test whether your network is accessing the IPv6 endpoint and the AWS Marketplace website functionality.
Topics
Testing network with Linux/Unix or Mac OS X
If you are using Linux/Unix or Mac OS X, you can test whether your network is accessing the IPv6 endpoint by using the following curl command.
curl -v -s -o /dev/null http://ipv6.ec2-reachability.amazonaws.com/
For example, if you are connected over IPv6, the connected IP address displays the following information.
* About to connect() to aws.amazon.com port 443 (#0) * Trying IPv6 address... connected * Connected to aws.amazon.com (IPv6 address) port 443 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.18.1 (x86_64-unknown-linux-gnu) libcurl/7.18.1 OpenSSL/1.0.1t zlib/1.2.3 > Host: aws.amazon.com
Testing network with Windows 7 or Windows 10
If you are using Windows 7 or Windows 10, you can test whether your network can access a
dual-stack endpoint over IPv6 or IPv4. Use the ping
command as shown in the
following example.
ping aws.amazon.com
This command returns IPv6 addresses if you are accessing an endpoint over IPv6.
Testing the AWS Marketplace website
Testing the AWS Marketplace website functionality after the update depends primarily on how your policy is written and what it is used for. In general, you should verify that the functionality specified in the policy works as intended.
The following scenarios can help you get started with testing the AWS Marketplace website functionality.
As a buyer on the AWS Marketplace website, test whether you can do the following tasks:
-
Subscribe to an AWS Marketplace product.
-
Configure an AWS Marketplace product.
-
Launch or fulfill an AWS Marketplace product.
As a seller on the AWS Marketplace website, test whether you can do the following tasks:
-
Manage your existing AWS Marketplace products.
-
Create an AWS Marketplace product.