AWS IAM Access Analyzer

프랭크 IT·2024년 8월 9일

AWS IAM Access Analyzer는 AWS 리소스에 대한 액세스 권한을 분석하여 외부 엔터티(다른 AWS 계정, IAM 사용자, 역할, 또는 인터넷)에 의해 의도치 않게 공유되거나 잘못된 권한 설정이 이루어졌는지 확인할 수 있는 도구입니다. 이를 통해 보안 및 컴플라이언스를 강화할 수 있습니다.

IAM Access Analyzer 사용 방법

1. Access Analyzer 활성화

  • AWS Management Console, AWS CLI 또는 AWS SDK를 사용하여 IAM Access Analyzer를 활성화할 수 있습니다.
  • 활성화하면 특정 리전에 대해 분석기를 생성하고, 해당 리전의 리소스에 대한 액세스 권한을 분석합니다.
AWS Management Console에서 Access Analyzer 활성화 예제:
  1. AWS Management Console에 로그인합니다.
  2. IAM 콘솔로 이동합니다.
  3. 왼쪽 메뉴에서 Access Analyzer를 선택합니다.
  4. 분석기 생성(Create analyzer)를 클릭합니다.
  5. 분석기에 사용할 이름을 입력하고, 분석이 수행될 리전을 선택합니다.
  6. 분석기 생성(Create analyzer)를 클릭하여 설정을 완료합니다.

2. Access Analyzer 결과 검토

  • Access Analyzer는 외부 액세스 권한이 있는 리소스를 식별하고, 이를 결과로 반환합니다. 예를 들어, S3 버킷이 퍼블릭으로 설정되었거나 다른 AWS 계정에 공유되었는지 확인할 수 있습니다.
  • 결과는 허용 정책, 리소스 유형, 리소스 이름 등을 포함하여 표시됩니다.
결과 예시:

예를 들어, 다음과 같은 결과가 나타날 수 있습니다:

  • Resource: arn:aws:s3:::example-bucket

  • Finding: Public

  • Policy: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::example-bucket/*" } ] }

  • Status: Active

    이 결과는 example-bucket이라는 S3 버킷이 퍼블릭하게 설정되어 있으며, 모든 사용자(Principal: "*")가 해당 버킷의 객체를 읽을 수 있음을 의미합니다.

3. 액세스 문제 해결

  • Access Analyzer에서 식별된 잠재적 보안 문제를 해결하기 위해 정책을 수정하거나, 액세스를 제한하도록 설정을 변경할 수 있습니다.
  • 예를 들어, 위의 S3 버킷이 의도치 않게 퍼블릭하게 설정된 경우, 버킷 정책을 수정하여 액세스를 제한할 수 있습니다.
S3 버킷 정책 수정 예제:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/JohnDoe"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::example-bucket/*"
        }
    ]
}

이 정책은 특정 IAM 사용자(arn:aws:iam::123456789012:user/JohnDoe)만 버킷의 객체에 접근할 수 있도록 제한합니다.

실제 사용 예제

예제: S3 버킷에 대한 퍼블릭 액세스 검사

  1. Access Analyzer 활성화:

    • IAM 콘솔에서 분석기를 생성합니다.
    • 분석기를 생성하면 Access Analyzer는 S3 버킷, IAM 역할, KMS 키 등의 리소스를 자동으로 스캔하여 외부 액세스가 허용된 리소스를 식별합니다.
  2. 분석 결과 확인:

    • S3 버킷이 퍼블릭 액세스 권한을 가지는지 여부를 확인합니다. Access Analyzer는 Public 또는 Shared with another AWS account와 같은 결과를 반환할 수 있습니다.
  3. 정책 수정:

    • 만약 특정 S3 버킷이 퍼블릭으로 설정되어 있다고 표시되면, 이를 수정하여 액세스를 제한합니다.
    • IAM 콘솔에서 해당 버킷의 정책을 열고, 필요에 따라 정책을 수정하거나 퍼블릭 액세스를 비활성화합니다.
  4. 변경 사항 확인:

    • 정책을 수정한 후, Access Analyzer를 다시 실행하여 문제가 해결되었는지 확인합니다.

요약

AWS IAM Access Analyzer는 AWS 리소스의 외부 액세스를 분석하여 보안 위험을 식별하는 강력한 도구입니다. 이를 통해 사용자 또는 조직은 리소스가 의도하지 않은 방식으로 외부와 공유되거나 접근 가능한지를 확인하고, 필요한 경우 적절한 보안 조치를 취할 수 있습니다. Access Analyzer는 특히 AWS S3 버킷, IAM 역할, KMS 키와 같은 중요한 리소스에 대한 액세스 권한을 검토하고 관리하는 데 유용합니다.

profile
AWS, Vue, Java, flutter, Mongodb, Python, Git , EKS, Docker, 독서, 영어, 에어로빅, 자전거, 농구, 바둑, 풋살, 복싱, Guitar, 글쓰기, 랭체인

0개의 댓글