[AWS] EC2에서 IAM 역할 사용하기
얼마전 EC2로 생성한 서버에서 aws s3 cli를 통해 내 계정의 s3로 접근을 하려고 했지만,
내가 사용하는 iam 유저에 s3 full account 권한이 있음에도 권한 오류로 접근이 되지 않았다.
이유를 알아보니 내 계정에 mfa가 걸려있기에, admin 권한이 있음에도 불구하고 mfa 임시 토근을 발급을 받아야
접근이 가능했다.
해당 임시토큰은 몇시간만 유지되며, 서버를 새로 띄울때마다 발급을 받는 것이 번거로워, 해당 프로파일을 사용하는 대신
EC2에 IAM 역할을 연결하여 사용하는 방법을 사용했다.
이번 포스팅에선, EC2에 IAM 역할을 연결하여 사용하는 방법에 대해 알아보고자 한다.
IAM 역할 생성하기
1. EC2에 부여할 IAM 역할을 생성하기 위해 IAM 콘솔에서 역할 --> 역할 생성을 클릭한다.
2. 신뢰할 수 있는 엔터티 유형에서 AWS 서비스를 선택하고, 사용 사례엔 EC2를 선택한다.
3. 다음에 권한 정책을 추가한다. 나는 예시로 S3 Full Access 권한을 추가했지만, 보안 정책에 맞는 적절한 권한을 추가한다. (정책을 생성 후 연결하는 것을 권장)
4. 이름과 설명을 추가 후 생성한다. 필요 시 정책을 편집하여 저장할 수 있다.
과정이 끝나면 역할이 생성 완료된다. 이제 EC2에 연결해보자.
EC2에 IAM Role 직접 연결하기
1. EC2 콘솔로 이동하여 IAM 역할을 부여하기 원하는 EC2을 선택한다.
2. 작업 -> 보안 -> IAM 역할 수정을 클릭한다.
3. 아까 생성한 역할을 연결해준다.
4. 서버에서 s3에 접근이 가능한지 확인해본다. 이 때, `~/.aws/credential` 경로에 default로 설정해둔 access key가 있으면 profile 이름을 변경하거나 제거해야한다.
+) IAM 역할을 프로파일로 정의하여 사용하기
현재 서버가 어떤 역할을 사용하고 있는지는 이전에 포스팅을 한 적이 있었다.
[AWS] profile 확인
[AWS] profile 확인 AWS 자격 증명을 구성할 때, role이나 access key같은 방법 등을 사용해서 자격 증명을 구성하게 되는데, 구성한 자격 증명은 .aws/credentials에서 프로필을 지정 후 --profile=프로필명으로
heywantodo.tistory.com
아래 문서를 보면 역할에 대한 프로파일을 정의하여 IAM 역할을 사용하는 방법에 대해 알 수 있다.
AWS CLI에서 IAM 역할 사용 - AWS Command Line Interface
IAM 역할을 사용하는 프로파일을 지정하면 AWS CLI가 적절한 호출을 수행하여 임시 자격 증명을 검색합니다. 이러한 자격 증명은 ~/.aws/cli/cache에 저장됩니다. 동일한 프로파일을 지정하는 후속 AWS C
docs.aws.amazon.com
이미 profile로 정의된 유저의 자격증명을 사용하여 역할을 수임하거나, EC2 인스턴스 프로파일에 연결된 IAM 역할을 사용하는 등의 방법에 대해 자세히 설명하고 있으니 참고하여 상황에 맞게 사용을 하면 될 것 같다.
'💻 CSP > AWS' 카테고리의 다른 글
[AWS] AWS에서 풀 스택 개발하기 (AWS Amplify) (0) | 2025.02.27 |
---|---|
[AWS] S3 버킷의 권한 정책과 객체 소유권(Object Ownership) (0) | 2025.02.03 |
[AWS] 생성형 AI : Bedrock (0) | 2025.01.24 |
[AWS] S3 CLI로 객체 수 확인하기 (0) | 2025.01.15 |
[AWS] IAM Role for SeviceAccount (IRSA) (2) | 2024.11.15 |