Paul Granduer Lee /클라우드 서비스

AWS Console 접근 IP 제한 방법

AWS를 운영하면서 가장 중요한 것중 하나가 보안이다.

따라서 VPC 부터 서버까지 모든 영역에 보안적 요소가 빠지지 않는 부분이 없다.

하지만 정작 해당 서비스를 컨트롤 할 수 있는 AWS 콘솔은 기본적으로 전구간에서 접속이 가능하다.

하여, AWS 콘솔도 접근을 해야 하는 대역으로만 압축을 해야 한다.

aws 공식 사이트에 가면 

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

 

AWS: 소스 IP를 바탕으로 AWS에 대한 액세스 거부 - AWS Identity and Access Management

AWS: 소스 IP를 바탕으로 AWS에 대한 액세스 거부 이 예제에서는 다음과 같은 정책을 생성할 수 있는 방법을 보여 줍니다.에서는 지정된 IP 범위를 벗어나는 IP에서 요청이 오는 경우 계정의 모든 AWS 작업에 대한 액세스를 거부합니다. 이 정책은 회사의 IP 주소가 지정된 범위 내에 있는 경우에 유용합니다.이 정책은 콘솔에서 이 작업을 완료하는 데 필요한 권한도 부여합니다. 이 정책을 사용하려면 정책 예제의 빨간색 기울임꼴 텍스트를 본인의 정보로

docs.aws.amazon.com

소스 IP를 바탕으로 aws 콘솔 엑세스를 거부하는 방법에 대해 기술되어 있으나...

이대로 하면 작고큰? 문제가 발생한다.

필자의 경우 vpc flow로그를 볼수 없다던가 kms 관련 오류가 발생했고 아래와 같이 몇가지를 추가했다.

아마 사용중에 더 문제가 생길수는 있으나 허용 IP외에 aws 콘솔에서 다른 서비스를 사용하지 못하는것을 확인했다.

 

{
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Deny",
        "NotAction": [
            "kms:Encrypt",
            "kms:Decrypt",
            "kms:ReEncrypt",
            "kms:GenerateDataKey",
            "kms:GenerateDataKeyWithoutPlaintext",
            "kms:DescribeKey",
            "iam:PassRole",
            "logs:CreateLogGroup",
            "logs:CreateLogStream",
            "logs:PutLogEvents",
            "logs:DescribeLogGroups",
            "logs:DescribeLogStreams",
            "ec2:DeleteFlowLogs",
            "ec2:CreateFlowLogs",
            "ec2:DescribeFlowLogs"
        ],
        "Resource": "*",
        "Condition": {
            "NotIpAddress": {
                "aws:SourceIp": [
                    "<IP대역>"
                ]
            }
        }
    }
}