[AWS] AWS 소스 IP를 바탕으로 AWS에 대한 액세스 거부

수정일 화, 6월 20, 2023 시간: 2:46 PM

Question 


개인정보 점검 준비 중에 관리자 접근 권한(access key)를 IP로 제한해야 한다는 요건이 확인되었습니다.

Access Key 또는 IAM user에 대하여 IP를 제한할 수 있는 방안이 있을까요?




Answer


아래 예제에서는 지정된 IP 범위를 벗어나는 보안 주체에서 요청이 오는 경우, 계정의 모든 AWS 작업에 대한 액세스를 거부합니다.

이 정책은 프로그래밍 방식(CLI) 및 콘솔 액세스에 대한 권한을 정의합니다.


아래 예제는 소스 IP "192.0.2.0/24""203.0.113.0/24"를 제외한 모든 IP를 Deny하는 정책입니다.

즉, 해당 IP만 AWS 작업을 허용하는 정책입니다.


소스 IP 부분을 사용자 환경에 맞게 변경하시어 사용하시면 됩니다. 



{

    "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"}

        }

    }

}


해당 정책에 대한 부연설명을 드립니다.


이 정책은 "Deny" 효과를 사용하는 하나의 문장을 포함하고 있으며, 이는 명시적으로 접근을 거부함을 의미합니다. 

이는 특정 조건 하에서 모든 작업(`"Action": "*"`)에 대해 모든 리소스(`"Resource": "*"`)에 적용됩니다.


Condition 요소는 정책이 효력을 발휘하는 조건을 지정하는 정책의 부분입니다. 여기에는 두 가지 조건이 있습니다:


1. "NotIpAddress": 이 조건은 요청의 원본 IP가 지정된 "192.0.2.0/24" 또는 "203.0.113.0/24" IP 주소 범위 중 어느 것도 아닐 경우에 일치합니다. 이렇게 하면 이 IP 범위 외부에서의 접근을 제한합니다.


2. "Bool": {"aws:ViaAWSService": "false"}`: 이 조건은 요청이 AWS 서비스를 통하지 않은 경우에 일치합니다.


따라서, 이 정책의 문장은 요청이 지정된 범위 외부의 IP 주소에서 오고, 요청이 AWS 서비스를 통하지 않은 경우, 모든 리소스에 대한 모든 작업에 대한 접근을 명시적으로 거부합니다.


더 간단한 용어로 말하면, 이 정책은 "특정 IP 범위에서 들어오고 AWS 서비스를 통한 요청이 아니라면, 모든 것을 거부하라"는 내용입니다.


명시적인 거부는 모든 허용을 무시하기 때문에, 이 정책의 지정된 조건이 충족된 경우 다른 정책이 접근 권한을 부여하더라도 이 정책은 접근을 거부할 것입니다.



참조 링크:

[1] AWS: 소스 IP를 바탕으로 AWS에 대한 액세스 거부 -

https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/reference_policies_examples_aws_deny-ip.html







위 내용 관련하여 궁금증이 해결되지 않으셨거나, 

추가 문의 사항이 있으시면 저희 고객 지원 포털에 문의 남겨주시기 바랍니다.




아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.