Ssoon
AWS IAM Workshop - 역할 전환(Role Switch) 본문
CloudNet@가시다님이 진행하는 "AWS Hacking & Security Study" 1기 스터디입니다.
# AWS IAM Workshop 를 참조하였습니다.
✅ IAM 역할(Role)
AWS 리소스 간 및 AWS 리소스와 외부 엔터티 간의 권한을 관리하는 데 사용
- 임시 보안 자격 증명: IAM 역할을 사용하면 AWS 리소스에 대한 엑세스를 위해 임시 보안 자격 증명을 제공할 수 있습니다. 이것은 특히 EC2 인스턴스, Lambda 함수 등과 같이 애플리케이션에서 AWS 서비스에 엑세스해야 할 때 유용합니다.
- 권한 할당: IAM 역할은 AWS 리소스에 할당되는 권한을 정의합니다. 역할 정책(Policy)을 사용하여 어떤 작업이 수행될 수 있는지, 어떤 리소스에 접근할 수 있는지 제어합니다. 역할에 할당된 권한은 다른 역할 또는 사용자에게 직접적으로 부여되지 않으므로 역할을 사용하면 보안과 권한 관리를 향상시킬 수 있습니다.
- 크로스 계정 액세스: IAM 역할은 다른 AWS 계정 또는 외부 엔터티와의 상호 운용성을 지원합니다. 이를 통해 다른 AWS 계정의 사용자나 AWS 서비스가 역할을 사용하여 귀하의 리소스에 액세스할 수 있습니다.
- 신뢰 관계: 역할은 하나 이상의 신뢰 관계(Trust Relationship)를 가질 수 있습니다. 이 신뢰 관계는 어떤 엔터티(예: 다른 AWS 계정, AWS 서비스)가 역할을 언제 사용할 수 있는지를 정의합니다.
- 크로스 서비스 액세스: IAM 역할은 여러 AWS 서비스 간에 연결을 형성하는 데 사용됩니다. 예를 들어, AWS Lambda 함수에서 S3 버킷에 액세스하거나 EC2 인스턴스에서 AWS RDS 데이터베이스에 액세스할 때 IAM 역할을 사용할 수 있습니다.
✅ 역할 전환(Role Switch)
💠 RBAC(Role-Based Access Control)
- 그룹 또는 사용자에게 직접 권한을 주지 않고, 여러 권한의 논리적인 집합들을 역할(Role)로 만들고 그룹 또는 사용자에게 연결 할 수 있습니다
- 필요에 따라 역할을 부여할 수 있습니다.
💠 Role Switch 구성
Dev-Pro는 [Dev]사용자 그룹으로부터 상속받은 AmazonEC2FullAccess 권한만을 가지고 있습니다.
Dev-Pro는 개발환경 구축을 위해 builders-s3-영어이름 버킷의 리소스 기반 정책을 삭제하고자 합니다.
- 모든 권한을 가진 SuperRole을 생성
- SuperRole을 Dev-Pro에게 할당
- Dev-Pro가 모든 권한을 수행할 수 있게 해주는 Role Switch를 구성
✔ 새로운 역할 (SuperRole) 생성
- Super-Pro로 로그인
- AWS account 선택 후, AWS 계정이 본인의 Account ID인 것을 확인
✔ 권한 추가
- AdministratorAccess 선택
✔ 이름 지정, 검토 및 생성
- role 이름에 builders-role 입력하고 `create role` 을 클릭 > role 생성
✔ 생성된 Role 역활 확인
- 생성된 Role 확인
- ARN 정보 복사
✔ 위임을 위한 새로운 정책 생성
- 사용자가 새로 만든 역할(Role)을 사용하기 위해, STS 기반의 위임(Assume) 정책을 생성
- 고객관리형 정책으로 해당 계정에서만 존재
- 서비스: STS
- 작업: AssumeRole
- 리소스에서 ARN 추가 선택.
- 앞서 복사한 ARN 정보를 붙혀넣습니다..
- JSON 형식으로도 확인할 수 있습니다.
- 정책 이름을 builders-policy로 입력 후 정책 생성
✔ 사용자에 권한 추가
- Dev-Pro에서 지금 만든 권한을 추가
- Attach policies directly 직접 정책 연결 선택
- 위에서 위임을 위해 만든 정책 builders-policy 을 선택
- 정책 연결
- Dev-Pro 사용자에 연결된 정책 확인
✔ Dev-Pro로 로그인하여 Role Switch
- 위임정책이 할당된 사용자 Dev-Pro로 로그인
- 로그인 후에 우측 상단의 사용자를 선택 후 아래쪽에 역할 전환 Switch role 선택
- (그 전에 Account ID를 따로 복사)
- 계정: 현재 계정 ID (앞서 복사해둔 Account ID)
- 역할: builders-role
- 역할 전환
✔ 역할 전환 확인 및 S3 버킷 리소스 기반 정책 수정
- 우측 상단 역할이름@Account ID로 역할이 전환된 것을 확인
- 기존에 Dev-Pro에게 주어진 권한은 모두 사라지고, 현재 역할인 builders-role에 할당된 AdministratorAccess 권한만 부여
- S3로 가서 아까 생성한 버킷을 선택
- Permissions 에서 Bucket policy 을 삭제
- Dev-Pro는 [Dev]사용자 그룹에서 위임받은 AmazonEC2FullAccess권한만 있으므로, S3의 변경권한이 없습니다. -> 그러므로 S3에 대해 변경하려고 하면 권한이 없다는 경고문구가 떠야 합니다.
지금은 Dev-Pro는 AdministratorAccess정책이 적용된 builders-role을 위임받아, 모든 권한을 행사 가능
'AWS Hacking & Security Study' 카테고리의 다른 글
Security Automation for AWS WAF - 1) 환경 구성 (0) | 2023.09.11 |
---|---|
AWS IAM Workshop - EC2 인스턴스에 Role 부여 (0) | 2023.09.10 |
AWS IAM Workshop - 리소스 기반 정책(Resource-based policies) (0) | 2023.09.06 |
AWS IAM Workshop - 권한 경계(Permissions boundaries) (0) | 2023.09.06 |
AWS IAM Workshop - 자격증명 기반 정책(Identity-based policies) (0) | 2023.09.05 |
Comments