Amazon을 사용하여 모든 AWS 계정에 대한 IAM 자격 증명 보고서 시각화 QuickSight - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon을 사용하여 모든 AWS 계정에 대한 IAM 자격 증명 보고서 시각화 QuickSight

작성자: Parag Nagwekar(AWS) 및 Arun Chandapillai(AWS)

코드 리포지토리: IAM 자격 증명 보고서에 대한 조직 차원의 가시성 확보

환경: 프로덕션

기술: 분석, 자문, 관리 및 거버넌스, 보안, ID, 규정 준수

워크로드: 기타 모든 워크로드

AWS 서비스: Amazon Athena , AWS CloudFormation, Amazon EventBridge, AWS Identity and Access Management, Amazon QuickSight

요약

경고 : IAM 사용자에게는 보안 위험이 있는 장기 보안 인증 정보가 있습니다. 이 위험을 줄이려면 이러한 사용자에게 작업을 수행하는 데 필요한 권한만 제공하고 더 이상 필요하지 않을 경우 이러한 사용자를 제거하는 것이 좋습니다.

AWS Identity and Access Management(IAM) 자격 증명 보고서를 사용하면 조직의 보안, 감사 및 규정 준수 요구 사항을 충족하는 데 도움이 됩니다. 자격 증명 보고서는 AWS 계정의 모든 사용자 목록을 제공하고 암호, 액세스 키 및 다중 인증(MFA) 디바이스와 같은 자격 증명의 상태를 표시합니다. AWS Organizations에서 관리하는 여러 AWS 계정에 대해 자격 증명 보고서를 사용할 수 있습니다.

이 패턴에는 Amazon QuickSight 대시보드를 사용하여 조직의 모든 AWS 계정에 대한 IAM 자격 증명 보고서를 생성하고 공유하는 데 도움이 되는 단계와 코드가 포함되어 있습니다. 대시보드를 조직의 이해 관계자와 공유할 수 있습니다. 보고서는 조직이 다음과 같은 목표 비즈니스 성과를 달성하는 데 도움이 될 수 있습니다.

  • IAM 사용자와 관련된 보안 인시던트 식별

  • IAM 사용자의 Single Sign-On(SSO) 인증으로의 실시간 마이그레이션 추적

  • IAM 사용자가 액세스하는 AWS 리전 추적

  • 규정 준수 유지

  • 다른 이해관계자와 정보 공유

사전 조건 및 제한 사항

사전 조건 

아키텍처

기술 스택

  • Amazon Athena

  • Amazon EventBridge

  • Amazon QuickSight

  • Amazon Simple Storage Service(S3)

  • AWS Glue

  • AWS 자격 증명 및 액세스 관리(IAM)

  • AWS Lambda

  • AWS 조직

대상 아키텍처 

다음 다이어그램은 여러 AWS 계정에서 IAM 자격 증명 보고서 데이터를 캡처하는 워크플로를 설정하기 위한 아키텍처를 보여줍니다.

다음 스크린샷은 아키텍처 다이어그램을 보여줍니다.
  1. EventBridge 는 Lambda 함수를 매일 호출합니다.

  2. Lambda 함수는 조직 전체의 모든 AWS 계정에서 IAM 역할을 맡습니다. 그런 다음 함수는 IAM 자격 증명 보고서를 생성하고 보고서 데이터를 중앙 집중식 S3 버킷에 저장합니다. S3 버킷에서 암호화를 활성화하고 퍼블릭 액세스를 비활성화해야 합니다.

  3. Glue AWS 크롤러는 매일 S3 버킷을 크롤링하고 그에 따라 Athena 테이블을 업데이트합니다.

  4. QuickSight 는 자격 증명 보고서에서 데이터를 가져오고 분석하며 이해관계자가 시각화하고 공유할 수 있는 대시보드를 구축합니다.

도구

AWS 서비스

  • Amazon Athena는 표준 를 사용하여 Amazon S3의 데이터를 쉽게 분석할 수 있는 대화형 쿼리 서비스입니다SQL.

  • Amazon EventBridge은 애플리케이션을 다양한 소스의 실시간 데이터와 연결하는 데 도움이 되는 서버리스 이벤트 버스 서비스입니다. 예를 들어 Lambda 함수, API 대상HTTP을 사용하는 호출 엔드포인트 또는 다른 AWS 계정의 이벤트 버스 등이 있습니다.

  • Amazon QuickSight은 단일 대시보드에서 데이터를 시각화, 분석 및 보고하는 데 도움이 되는 클라우드 규모의 비즈니스 인텔리전스(BI) 서비스입니다.

  • AWS Identity and Access Management(IAM)는 AWS 리소스에 대한 액세스를 인증하고 사용할 수 있는 권한을 부여받은 사용자를 제어하여 리소스에 대한 액세스를 안전하게 관리하는 데 도움이 됩니다.

  • AWS Lambda는 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행하는 데 도움이 되는 컴퓨팅 서비스입니다. 필요할 때만 코드를 실행하며 자동으로 확장이 가능하므로 사용한 컴퓨팅 시간만큼만 비용을 지불합니다.

코드

이 패턴의 코드는 리포지토리에서 사용할 수 있습니다 GitHub getiamcredsreport-allaccounts-org. 이 리포지토리의 코드를 사용하여 Organizations의 AWS 계정 간에 IAM 보안 인증 보고서를 생성하고 중앙 위치에 저장할 수 있습니다.

에픽

작업설명필요한 기술

Amazon QuickSight Enterprise 에디션을 설정합니다.

  1. AWS 계정에서 Amazon QuickSight Enterprise 에디션을 활성화합니다. 자세한 내용은 QuickSight 설명서의 Amazon 내에서 사용자 액세스 관리를 QuickSight 참조하세요.

  2. 대시보드 권한을 부여하려면 QuickSight 사용자의 Amazon 리소스 이름(ARN)을 가져옵니다.

AWS 관리자, AWS DevOps, 클라우드 관리자, 클라우드 아키텍트

Amazon QuickSight 을 Amazon S3 및 Athena와 통합합니다.

AWS CloudFormation 스택QuickSight 을 배포하기 전에 Amazon S3 및 Athena를 사용할 수 있는 권한을 부여해야 합니다.

AWS 관리자, AWS DevOps, 클라우드 관리자, 클라우드 아키텍트
작업설명필요한 기술

GitHub 리포지토리를 복제합니다.

  1. 다음 명령을 실행하여 리포지토리를 GitHub getiamcredsreport-allaccounts-org 로컬 시스템에 복제합니다. git clone https://github.com/aws-samples/getiamcredsreport-allaccounts-org

AWS 관리자

인프라를 배포합니다.

  1. AWS 관리 콘솔에 로그인하고 CloudFormation 콘솔 을 엽니다.

  2. 탐색 창에서 스택 생성을 선택한 다음 새 리소스 사용 (표준)을 선택합니다.

  3. 리소스 식별 페이지에서 다음을 선택합니다.

  4. 템플릿 지정 페이지의 템플릿 소스에서 템플릿 파일 업로드를 선택합니다.

  5. 파일 선택을 선택하고 복제된 GitHub 리포지토리에서 Cloudformation-createcredrepo.yaml 파일을 선택한 다음 다음 다음을 선택합니다.

  6. 파라미터 에서 IAM 역할IAMRoleName로 업데이트 합니다. 이는 Lambda가 조직의 모든 계정에서 수임할 IAM 역할이어야 합니다. 이 역할은 보안 인증 보고서를 생성합니다. 참고: 스택 생성의 이 단계에서 역할이 모든 계정에 존재할 필요는 없습니다.

  7. 파라미터에서 Lambda가 모든 계정의 자격 증명을 저장할 수 있는 S3 버킷의 이름으로 S3BucketName을 업데이트합니다.

  8. 스택 이름에 스택 이름을 입력합니다.

  9. 제출을 선택합니다.

  10. Lambda 함수의 역할 이름을 기록합니다.

AWS 관리자

IAM 권한 정책을 생성합니다.

다음 권한을 사용하여 조직 전체의 모든 AWS 계정에 대한 IAM 정책을 생성합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GenerateCredentialReport", "iam:GetCredentialReport" ], "Resource": "*" } ] }
AWS DevOps, 클라우드 관리자, 클라우드 아키텍트, 데이터 엔지니어

신뢰 정책을 사용하여 IAM 역할을 생성합니다.

  1. AWS 계정에 대한 IAM 역할을 생성하고 이전 단계에서 생성한 권한 정책을 연결합니다.

  2. 역할에 다음 신뢰 정책을 연결합니다IAM.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS":[ "arn:aws:iam::<MasterAccountID>:role/<LambdaRole>" ] }, "Action":"sts:AssumeRole" } ] }

중요 : 이전에 기록한 Lambda 역할ARN의 arn:aws:iam::<MasterAccountID>:role/<LambdaRole>로 를 바꿉니다.

참고 : 조직은 일반적으로 자동화를 사용하여 AWS 계정에 대한 IAM 역할을 생성합니다. 가능한 경우 이 자동화를 사용하는 것이 좋습니다. 또는 코드 리포지토리의 CreateRoleforOrg.py 스크립트를 사용할 수도 있습니다. 스크립트에는 기존 관리 역할 또는 모든 AWS 계정에서 IAM 정책 및 IAM 역할을 생성할 수 있는 권한이 있는 다른 역할이 필요합니다.

클라우드 관리자, 클라우드 아키텍트, AWS 관리자

데이터를 시각화 QuickSight 하도록 Amazon을 구성합니다.

AWS DevOps, 클라우드 관리자, 클라우드 아키텍트, 데이터 엔지니어

추가 정보

추가 고려 사항

다음을 고려하세요.

  • CloudFormation 를 사용하여 인프라를 배포한 후 Lambda 및 AWS Glue가 일정에 따라 실행될 때까지 Amazon S3에서 생성되고 Athena에서 분석되는 보고서를 가져올 때까지 기다릴 수 있습니다. 또는 Lambda를 수동으로 실행하여 Amazon S3에서 보고서를 가져온 다음 Glue AWS 크롤러를 실행하여 데이터에서 생성된 Athena 테이블을 가져올 수 있습니다.

  • QuickSight 는 비즈니스 요구 사항에 따라 데이터를 분석하고 시각화하는 강력한 도구입니다. 의 파라미터를 사용하여 선택한 데이터 필드를 기반으로 위젯 데이터를 QuickSight 제어할 수 있습니다. 또한 QuickSight 분석을 사용하여 데이터 세트에서 파라미터(예: 계정, 날짜 및 user 각각 partition_0, partition_1및 와 같은 사용자 필드)를 생성하여 계정, 날짜 및 사용자의 파라미터에 대한 제어를 추가할 수 있습니다.

  • 자체 QuickSight 대시보드를 구축하려면 QuickSight Workshop Studio 웹 사이트의 AWS 워크숍을 참조하세요.

  • 샘플 QuickSight 대시보드를 보려면 코드 리포지토리를 GitHub getiamcredsreport-allaccounts-org 참조하세요.

목표 비즈니스 성과

이 패턴을 사용하여 다음과 같은 목표 비즈니스 성과를 달성할 수 있습니다.

  • IAM 사용자와 관련된 보안 인시던트 식별 - 단일 창을 사용하여 조직의 모든 AWS 계정에서 모든 사용자를 조사합니다. IAM 사용자가 가장 최근에 액세스한 개별 AWS 리전의 추세와 사용자가 사용한 서비스를 추적할 수 있습니다.

  • IAM 사용자의 SSO 인증으로의 실시간 마이그레이션 추적 - 를 사용하여 SSO사용자는 단일 보안 인증 정보로 한 번 로그인하고 여러 AWS 계정 및 애플리케이션에 액세스할 수 있습니다. IAM 사용자를 로 마이그레이션하려는 경우 SSO이 패턴은 모든 AWS 계정에서 모든 IAM 사용자 보안 인증 정보 사용(예: AWS 관리 콘솔에 대한 액세스 또는 액세스 키 사용)을 전환SSO하고 추적하는 데 도움이 될 수 있습니다.

  • IAM 사용자가 액세스하는 AWS 리전 추적 - 데이터 주권 및 비용 제어와 같은 다양한 목적으로 리전에 대한 IAM 사용자 액세스를 제어할 수 있습니다. 모든 IAM 사용자의 리전 사용을 추적할 수도 있습니다.

  • 규정 준수 유지 - 최소 권한 원칙에 따라 특정 작업을 수행하는 데 필요한 특정 IAM 권한만 부여할 수 있습니다. 또한 AWS 서비스, AWS 관리 콘솔 및 장기 보안 인증 정보 사용량에 대한 액세스를 추적할 수 있습니다.

  • 다른 이해관계자와 정보 공유 - 자격 IAM 증명 보고서 또는 AWS 계정에 대한 액세스 권한을 부여하지 않고도 큐레이션된 대시보드를 다른 이해관계자와 공유할 수 있습니다.