IAM 정책을 사용하여 API 액세스 제어
IAM 정책을 IPv6로 업그레이드
AWS CloudHSM 고객은 IAM 정책을 사용하여 AWS CloudHSM API에 대한 액세스를 제어하고 구성된 범위를 벗어난 IP 주소가 AWS CloudHSM API에 액세스할 수 없도록 합니다.
AWS CloudHSM API가 호스팅되는 cloudhsmv2.region
.api.aws 듀얼 스택 엔드포인트는 IPv4 외에도 IPv6를 지원합니다.
IPv4와 IPv6를 모두 지원해야 하는 고객은 IPv6 주소를 처리하기 위해 IP 주소 필터링 정책을 업데이트해야 하며, 그렇지 않으면 IPv6를 통해 AWS CloudHSM에 연결하는 기능에 영향을 미칩니다.
누가 업그레이드해야 하나요?
aws:sourceIp가 포함된 정책이 있는 이중 주소 지정을 사용하는 고객은 이 업그레이드의 영향을 받습니다. 이중 주소 지정이란 네트워크에서 IPv4와 IPv6를 모두 지원한다는 의미입니다.
이중 주소 지정을 사용하는 경우 현재 IPv4 형식 주소로 구성된 IAM 정책을 업데이트하여 IPv6 형식 주소를 포함해야 합니다.
액세스 문제에 대한 도움이 필요하면 AWS Support
참고
다음 고객은 이번 업그레이드의 영향을 받지 않습니다.
-
IPv4 네트워크만 사용하는 고객.
IPv6란?
IPv6는 결국에는 IPv4를 대체하기 위해 개발된 차세대 IP 표준입니다. 이전 버전인 IPv4는 32비트 주소 지정 체계를 사용하여 43억 개의 디바이스를 지원합니다. IPv6는 128비트 주소 지정 체계를 사용하여 약 340조(또는 2의 128승) 개의 디바이스를 지원합니다.
자세한 내용은 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 주소 범위를 포함하도록 업데이트해야 합니다.
예를 들어 아래 정책은 허용되는 IPv4 주소 범위 192.0.2.0.*
및 203.0.113.0.*
을 Condition
요소에서 식별합니다.
# 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" } } } }
이 정책을 업데이트하려면 IPv6 주소 범위 2001:DB8:1234:5678::/64
및 2001:cdba:3257:8593::/64
를 포함하도록 Condition
요소를 변경합니다.
참고
기존 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 전용입니다. 다음 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