Post

[AWS][계정 분산 관리] 5. Switch Role 활용: 통합 콘솔 관리(完)

AWS|계정 분산 관리|Switch Role|통합 콘솔 관리

[AWS][계정 분산 관리] 5. Switch Role 활용: 통합 콘솔 관리(完)

1. Switch Role

  • 통합 관리 계정에서 IAM 사용자를 생성하고, 교차 계정 간 Switch Role을 통해 AWS 콘솔에 접근하도록 합니다. 이를 통해 얻을 수 있는 이점은 아래와 같습니다.
    (참고: AWS 공식 문서 - 사용자에게 역할을 전환할 권한 부여)

    1. 보안 강화
      IAM 그룹 또는 사용자에게 필요한 최소 권한만 부여하고 정책을 설정할 수 있어, 역할 기반 보안 관리가 가능합니다.

    2. 운영 효율성 증대
      통합 관리 계정의 IAM 사용자만으로 각 프로젝트 계정에 접근할 수 있어 작업 속도가 빨라지고 관리 복잡성이 감소합니다.
      AWS 콘솔에서 간단히 역할 전환을 선택할 수 있어 다중 계정 환경에서도 직관적인 작업이 가능합니다.

    3. 관리 비용 절감
      각 계정에서 별도로 IAM 사용자를 설정하고 관리할 필요가 없어 시간과 비용을 절약할 수 있습니다.
      또한, 하나의 계정에서 다른 계정의 리소스에 액세스할 수 있으므로 중복된 인프라 구축을 피할 수 있습니다.

AWS Organizations 기능을 이용하면 비용을 통합해 관리할 수 있습니다. (참고: AWS 공식 문서 - AWS Organizations란 무엇인가요?)

  • 이 글에서는 모든 권한을 가진 구성원에게 IAM 사용자 계정을 부여한다는 가정하에 작성되었습니다.
  • IAM 사용자 계정은 프로젝트의 ManagerRole만으로 역할 전환을 할 수 있도록 설계했습니다. 구조는 아래와 같습니다.
    Desktop View

2. 구성 방법

사전 조건:

  • 통합 관리 계정에 IAM 사용자 계정이 최소 하나 이상 필요합니다.

1. 프로젝트 계정에 ManagerRole 생성

  1. 프로젝트 AWS 계정 콘솔의 IAM 메뉴로 접근합니다.
    액세스 관리 → 역할 → 역할 생성을 선택합니다.
  2. 신뢰할 수 있는 엔터티 유형 단계에서 사용자 지정 신뢰 정책을 선택하고 아래와 같이 입력합니다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::<통합 관리 계정의 ID>:root"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    
  3. 권한 추가 단계에서 AdministratorAccess를 선택하고, 마지막 단계에서 이름을 ManagerRole로 설정하여 생성합니다.

모든 권한을 부여한 예제입니다. 팀 또는 부서에 따라 필요한 권한만 부여하도록 설계하는 것이 권장됩니다.


2. 통합 관리 계정에 ManagerRolePolicy 생성

  1. 통합 관리 AWS 계정 콘솔의 IAM 메뉴로 접근합니다.
    액세스 관리 → 정책 → 정책 생성을 선택합니다.
  2. 권한 지정 단계에서 JSON 편집을 선택하고 아래 내용을 입력합니다.
    (ManagerRole 외의 역할 사용을 제한합니다.)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": "sts:AssumeRole",
          "NotResource": "arn:aws:iam::<프로젝트 계정의 ID>:role/ManagerRole"
        }
      ]
    }
    
  3. 마지막 단계에서 정책 이름을 ManagerRolePolicy로 설정한 후 저장합니다.

NotResource는 리스트 형식으로 여러 계정을 관리할 수 있습니다.


3. 통합 관리 계정에 managers 그룹 생성 및 IAM 사용자 추가

  1. 통합 관리 AWS 계정 콘솔의 IAM 메뉴로 접근합니다.
    액세스 관리 → 사용자 그룹 → 그룹 생성을 선택합니다.
  2. 그룹 이름을 managers로 설정하고, ManagerRole을 이용해 Switch Role을 할 사용자를 그룹에 추가합니다.
  3. 권한 정책 연결 단계에서 위에서 생성한 ManagerRolePolicy를 추가하고 그룹을 생성합니다.

팀 또는 부서별로 그룹을 구성하면 관리가 더 용이해집니다.


4. Switch Role을 통해 프로젝트 계정의 콘솔에 접근

  1. IAM 사용자 계정으로 로그인 후 Switch Role 기능에 접근합니다.
    Desktop View
  2. 프로젝트 계정의 ID와 ManagerRole을 입력한 뒤, 역할을 전환합니다.
    전환 후 프로젝트 계정의 콘솔에 정상적으로 접근이 가능한지 확인합니다.
    Desktop View

3. 주요 요약

  • Switch Role 활용: 통합 관리 계정의 IAM 사용자 계정을 생성해 교차 계정 간 접근을 효율적으로 관리.

4. AWS 계정 분산 관리 전략 정리

이번 시리즈에서는 VPC Peering, Bastion Host Server, NAT Server, Switch Role 활용으로 AWS 환경에서 멀티 계정 및 네트워크 관리 전략 중심의 구성 방법과 접근 방식을 살펴보았습니다.

이번 시리즈에서 다룬 전략들이 여러분의 AWS 인프라 관리에 실질적인 도움이 되길 바랍니다.

끝까지 읽어 주셔서 감사합니다!


이전 글: [AWS][계정 분산 관리] 4. NAT Server & Port Forwarding: NAT Server를 사용해 프로젝트별 Private Subnet 접근

This post is licensed under CC BY 4.0 by the author.