특정 IP 주소로만 작업을 할 수 있도록 IAM User 설정 제한해 보기

특정 IP 주소로만 작업을 할 수 있도록 IAM User 설정을 제한해 보는 방법을 정리해 봤습니다.
2024.02.04

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 특정 IP 주소로만 작업을 할 수 있도록 IAM User 설정을 제한해 보는 방법을 정리해 봤습니다.

하고 싶은 것

IAM User를 생성하고 이 IAM User에 특정 IP 주소만을 허용하는 IAM Policy를 적용합니다.

IAM Policy를 적용하면 지정한 IP 주소 이외의 주소로 접속할 시 리소스에 대한 접근이 불가능하게 됩니다.

이미지에서는 A 사용자에 대한 IP 주소만을 허용하고, B 사용자로 접근할 시 EC2와 같은 리소스에 접근할 수 없는 것을 의미하고 있습니다.

IAM User 생성은 아래 블로그를 참고해 주세요.

IAM Policy 생성

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": [
                        "111.111.11.11/32"
                    ]
                }
            }
        }
    ]
}

IAM Policy를 생성합니다.

aws:SourceIp에는 리소스 접근을 허용할 IP 주소를 입력합니다.

결과 확인

지정한 IP 주소가 아닌 다른 IP 주소로 로그인을 해보면 리소스에 대한 접근 권한이 없는 것을 확인할 수 있습니다.

※ AdministratorAccess 권한을 할당하여도 IP 제한으로 인해 리소스에 접근할 수 없습니다.

할당한 IP 주소로 접속해 보면 리소스에 대해 접근할 수 있는 것을 확인할 수 있습니다.

IAM 사용자에게 IP 제한을 설정하여 보안을 강화하는 것은 좋은 방법입니다. 그러나 주의해야 할 점은 이것이 루트 사용자에게 적용되지 않도록하는 것입니다. 루트 사용자에게 잘못 설정하면 로그인에 문제가 발생할 수 있으므로 주의가 필요합니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 kim.jaewook@classmethod.jp 로 연락 주시면 회신 드릴 수 있도록 하겠습니다 !