어쩌다 IT
article thumbnail

https://jwlish.tistory.com/entry/SAA-C03-IAM-Identity-and-Access-Management-%EA%B3%A0%EA%B8%89

 

[SAA-C03] IAM (Identity and Access Management) - 고급

AWS Organizations 글로벌 서비스 다수의 AWS 계정을 동시에 관리할 수 있게 해주는 서비스 조직을 생성하면 조직의 메인 계정이 관리 계정이 되고 조직에 가입한 계정이나 생성한 계정은 멤버 계정이

jwlish.tistory.com

더보기

AWS Organizations

  • 글로벌 서비스
  • 다수의 AWS 계정을 동시에 관리할 수 있게 해주는 서비스
  • 조직을 생성하면 조직의 메인 계정이 관리 계정이 되고 조직에 가입한 계정이나 생성한 계정은 멤버 계정이 됨
  • 멤버 계정은 한 조직에만 소속됨
  • 조직 내 모든 계정의 비용을 통합 결제 가능
  • 관리 계정에 하나의 지불 방법만 설정해 두면 조직 전체의 비용을 지불 가능
  • AWS Organizations를 사용하면 조직 내 모든 계정에 대해 집계된 사용량에 기반한 비용 할인을 받을 수 있음
  • 계정 간에 예약 인스턴스와 Savings Plans 할인이 공유
  • 계정 생성을 자동화할 수 있는 API가 있어서 계정을 쉽게 생성 가능
 

클라우드 관리 - AWS Organizations - Amazon Web Services

백서, 블로그 및 기타 리소스에 액세스하세요.

aws.amazon.com

  • AWS Organizations 장점
    • 다수의 계정을 가지므로 다수의 VPC를 가진 단일 계정에 비해 보안이 뛰어남
    • 결제 목적의 태그 기준을 적용할 수 있음
    • 모든 계정에 대해 CloudTrail을 활성화해서 모든 로그를 중앙 S3 계정으로 전송 가능
    • CloudWatch Logs를 중앙 로깅 계정으로 전송 가능
    • 자동으로 관리 목적의 계정 간 역할을 수립할 수 있어 관리 계정에서 모든 멤버 계정을 관리 가능
    • 보안 측면에서 서비스 제어 정책(Service Control Policies, SCP)을 정의 가능
  • 서비스 제어 정책 (SCP)
    • 특정 OU 또는 계정에 적용되는 IAM 정책으로 해당 사용자와 역할 모두가 계정 내에서 할 수 있는 일을 제한
    • SCP는 모든 대상에 적용되지만 영구적인 관리자 권한을 갖는 관리 계정에는 적용되지 않음
    • SCP는 기본적으로 아무것도 허용하지 않고 구체적인 허용 항목을 설정해야 작동

IAM 고급

 

IAM Conditions

  • IAM Conditions은 IAM 내부의 정책에 적용되며 사용자 정책일 수도 있고, 리소스 정책일 수도 있음

  • API 호출이 생성되는 클라이언트 IP를 제한하는 데 사용되는 aws:SourceIp
  • NotIPAddress의 SourceIp 범위 내에 포함되지 않는 IP 주소는 거부하는 정책
  • 회사 네트워크에서만 AWS를 사용하도록 제한하여 사내에서만 액세스 할 수 있게 설정하는 데 활용

  • API 호출을 하는 리전을 제한하는 aws:RequestedRegion
  • 예시에서는 eu-central-1, eu-west-1에서 EC2, RDS, DynamoDB 호출을 제한
  • 특정 리전에서 특정 서비스에 대한 액세스를 허용하거나 거부할 수 있음

  • 태그로 제한하는 방법
  • 예시에서는 EC2의 ResourceTag/Project 태그가 DataAnalytics, PrincipalTag/Department 태그가 Data 일 때 허용
 

IAM JSON 정책 요소: Condition - AWS Identity and Access Management

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com


IAM 역할 vs 리소스 기반 정책

  • 사용자, 애플리케이션, 서비스에 대한 역할을 맡으면 기존의 권한을 포기하고 해당 역할에 할당된 권한만을 상속
  • 리소스 기반 정책을 사용하면 본인이 역할을 맡지 않으므로 권한을 포기할 필요가 없음
  • 예시 - 계정 A 사용자에서 DynamoDB 테이블을 스캔 후 타 계정의 S3 버킷에 넣을 경우에는 리소스 기반 정책을 사용
  • 리소스 기반 정책을 지원하는 AWS 서비스와 리소스는 점점 늘어나고 있음
  • Kinesis Data Stream, Systems Manager Run Command, ECS 작업 등은 IAM 역할을 사용
  • AWS Lambda, SNS, SQS, CloudWatch Logs, API Gateway 등은 리소스 기반 정책을 사용

IAM Permission Boundaries

  • 권한 경계(Permission Boundaries)는 사용자와 역할만 지원하고 그룹은 지원하지 않음
  • IAM 개체의 최대 권한을 정의하는 고급 기능
  • IAM 권한 경계와 IAM 정책을 통한 권한을 연결하면 아무 권한도 생기지 않음
  • IAM 정책은 IAM 권한 경계 밖에 있기 때문에 사용자가 다른 IAM 사용자를 생성할 수 없음
  • IAM 권한 경계는 AWS Organizations SCP와 함께 사용될 수 있음
  • 활용 사례
    • 관리자가 아닌 사용자에 책임을 위임하기 위해 권한 경계 내에서 새 IAM 사용자를 생성할 때
    • 권한을 스스로 부여하고 관리하는데 특권 남용하는 것을 막기 위해 스스로를 관리자로 만들지 못하게 할 때
    • 계정에 SCP를 적용해서 계정의 모든 사용자를 제한하지 않고 AWS Organizations의 특정 사용자만 제한할 때

IAM 정책 평가 로직


Amazon Cognito

  • Amazon Cognito는 사용자(AWS 외부)에게 웹 및 모바일 앱과 상호 작용할 수 있는 자격 증명을 부여
  • Cognito 사용자 풀
    • 앱 사용자에게 가입 기능을 제공
    • API Gateway나 Application Load Balancer와 원활히 통합
  • Cognito 자격 증명 풀
    • 앱에 등록된 사용자에게 임시 AWS 자격 증명을 제공해서 일부 AWS 리소스에 직접 액세스 가능하게 해 줌
    • Cognito 사용자 풀과 원활히 통합
  • 수백 명의 사용자, 모바일 사용자, SAML을 통한 인증 등의 키워드가 나오면 Amazon Cognito를 떠올릴 것
  • 세분화된 액세스 제어를 위해 DynamoDB에서 행 수준 보안을 활성화할 수 있음
 

Cognito | 계정 동기화 | Amazon Web Services

퍼블릭 애플리케이션에서 기본 제공되는 네트워크 보호 기능을 활용하세요.

aws.amazon.com


Amazon Cognito User Pools (CUP)

  • 웹 및 모바일 앱을 대상으로 하는 서버리스 사용자 데이터베이스
  • 사용자 이름 또는 이메일, 비밀번호의 조합으로 간단한 로그인 절차 정의
  • 비밀번호 재설정, 이메일 및 휴대폰 인증 기능
  • Multi Factor Authentication(MFA) 인증 기능
  • Facebook, Google 등과 통합할 수 있어 소셜 로그인 가능
  • API Gateway나 Application Load Balancer와 통합

Amazon Cognito Identity Pools (Federated Identities)

  • 임시 AWS 자격 증명을 사용해 AWS 계정에 직접 액세스
  • 사용자는 Cognito 사용자 풀 내의 사용자가 될 수도 있고 타사 로그인이 될 수도 있음
  • 직접 또는 API Gateway를 통해 서비스에 액세스 가능
  • 자격 증명에 적용되는 IAM 정책은 Cognito 자격 증명 풀 서비스에 사전 정의되어 있음
  • user_id를 기반으로 사용자 정의하여 세분화된 제어 가능
  • 기본 IAM 역할을 정의할 수도 있고, 게스트 사용자나 특정 역할이 없는 사용자는 기본 IAM 역할을 상속

AWS IAM Identity Center

  • AWS Single Sign-On 서비스의 후속 서비스로 이름만 변경된 동일한 서비스
  • 한 번만 로그인하면 되니까 Single Sign-On이라 함
    • AWS 조직의 AWS 계정
    • 비즈니스 클라우드 애플리케이션 (Salesforce, Box, Microsoft 365, ...)
    • SAML 2.0 통합이 가능한 애플리케이션
    • EC2 Windows 인스턴스
  • Identity 공급자는 IAM 자격 증명 센터에 내장된 ID 저장소나 서드 파티 ID 공급자(OneLogin, Okta 등)에 연결 가능
  • 여러 개의 AWS 계정을 가지고 있다면 AWS IAM Identity Center 서비스를 사용하는 것이 좋음
 

AWS IAM Identity Center(AWS SSO의 후속 서비스)

 

aws.amazon.com

 

AWS IAM Identity Center - 세분화된 권한 및 할당

  • 다중 계정 권한
    • 조직에서 여러 계정에 대한 액세스를 관리할 수 있음
    • 권한 셋을 사용하여 사용자를 그룹에 할당하는 하나 이상의 IAM 정책을 정의
  • 애플리케이션 할당
    • 어떤 사용자 또는 그룹이 어떤 애플리케이션에 액세스 할 수 있는지 정의
    • 필요한 URL, 인증서, 메타데이터 제공
  • 속성 기반 액세스 제어 (Attribute Based Access Control, ABAC)
    • IAM 자격 증명 센터 스토어에 저장된 사용자 속성을 기반으로 세분화된 권한을 갖게 됨
    • 태그를 사용하여 비용 센터에 할당하거나 직함 등을 줘서 특정 리전에만 액세스 가능

AWS Directory Service

 

Microsoft Active Directory (AD)

  • AD 도메인 서비스를 사용하는 모든 Windows 서버에 사용되는 소프트웨어
  • 객체 데이터베이스이며 사용자 계정, 컴퓨터, 프린터, 파일 공유, 보안 그룹이 객체가 될 수 있음
  • 중앙 집중식 보안 관리로 계정 생성, 권한 할당 등의 작업이 가능
  • 모든 객체는 트리(tree)로 구성되고, 트리의 그룹을 포레스트(forest)라고 함

AWS Directory Service

  • AWS Managed Microsoft AD
    • AWS에 자체 AD를 생성하고 로컬에서 관리할 수 있으며 MFA을 지원
    • 독립 실행형 AD로 온프레미스 AD와 상호 신뢰 관계를 구축
  • AD Connector
    • 디렉토리 게이트웨이(프록시)로 온프레미스 AD에 리다이렉트하며 MFA을 지원
    • 사용자는 온프레미스 AD에서만 관리
  • Simple AD
    • AWS의 AD 호환 관리형 디렉토리
    • Microsoft 디렉토리를 사용하지 않으며 온프레미스 AD와도 결합되지 않음
    • 온프레미스 AD가 없으나 AWS 클라우드에 AD가 필요한 경우 사용하는 서비스
  • AWS 클라우드에서 사용자를 관리하고 MFA를 사용해야 할 경우에는 AWS Managed Microsoft AD
  • 온프레미스에서 사용자를 프록시 한다면 AD Connector
  • 온프레미스가 없을 때는 Simple AD
 

Microsoft Active Directory - AWS Directory Service - Amazon Web Services

운영, 가용성, 유지 보수, 온프레미스 워크로드 관리를 간소화할 수 있습니다.

aws.amazon.com

 

AWS Directory Service란 무엇입니까? - AWS Directory Service

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com


AWS Control Tower

  • 모범 사례를 기반으로 안전하고 규정을 준수하는 다중 계정 AWS 환경을 손쉽게 설정 및 관리할 수 있는 서비스
  • 다중 계정 생성을 위해 AWS Control Tower는 AWS Organization 서비스를 사용해 계정을 자동 생성
  • AWS Control Tower의 장점
    • 클릭 몇 번으로 환경을 자동으로 설정할 수 있고 원하는 모든 것을 미리 구성이 가능
    • 가드레일을 사용해 자동으로 지속적인 정책 관리를 할 수 있음
    • 정책 위반을 감지하고 자동으로 교정할 수 있음
    • 대화형 대시 보드를 통해 모든 계정의 전반적인 규정 준수를 모니터링
  • AWS Control Tower - 가드레일
    • 가드레일을 사용하면 AWS Control Tower 환경 내의 모든 계정에 대한 거버넌스를 얻을 수 있음
    • 예방(Preventive) 가드레일 - AWS Organization 서비스의 SCP를 사용해 모든 계정에 적용
    • 탐지(Detective) 가드레일 - AWS Config 서비스를 사용하여 규정을 준수하지 않는 것을 탐지
 

클라우드 보안 거버넌스 - AWS Control Tower - AWS

AWS Control Tower는 무료로 사용할 수 있습니다. 사용된 AWS 서비스에 대한 요금만 지불하면 됩니다.

aws.amazon.com

 

profile

어쩌다 IT

@Jinoo.K

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!