IAM (Identity and Access Management)
여러 개발자가 회사가 사용중인 AWS 서비스를 이용할 때, 당연히 모든 개발자가 모든 리소스에 대한 접근 권한을 가지면 안된다. 따라서 조직이 커짐에 따라 필요한 만큼만 AWS 리소스 접근 권한을 할당할 필요가 있다. AWS 루트(Root) 계정은 최고 관리자 계정(CTO나 회사대표)으로, 이 계정으로 IAM 계정 생성을 통해 접근 권한 제어 방법에 대해 알아보겠다. (보안을 위해 리눅스의 루트 계정과 유저 계정을 따로 두는 그것과 같다고 보면 된다.)
목표 : 루트(Root) 계정으로 IAM 계정 생성 방법 및 권한 할당
먼저 루트 계정으로 AWS 콘솔에 로그인 후, 검색창에 IAM을 검색한 후, 들어간다.
이후 좌측 액세스 관리 탭에서, [사용자] 를 선택하면 다음과 같은 화면이 나온다. 우측의 [사용자 추가] 버튼을 누른다.
1단계에서는 추가하려는 사용자 이름을 충분히 구분가능한 이름으로 지정(보통 이름이 나음)한 후, 해당 사용자가 비밀번호를 설정할 수 있도록 [암호 - AWS 관리 콘솔 액세스]를 체크한다. 자동 생성된 비밀번호는 사용자에게 알려주고 콘솔 로그인 후에 바꾸라고 하자.
2단계에서는 해당 사용자의 권한을 어디까지 지정할 지 정하는 단계이다.
[그룹에 사용자 추가] : 기존에 설정한 그룹(그룹은 각종 권한이 할당되어있다. 일종의 권한 묶음)에 사용자를 배정
[기존 사용자에서 권한 복사] : 특정 사용자가 가진 권한을 그대로 부여. ex ) 퇴사자의 직무를 이어받는 사용자
[기존 정책 직접 연결] : 직접 여러 권한 정책을 골라서 부여한다.
여기서는 여러 권한 정책을 직접 선택하여 부여해보도록 하겠다.
몇 개의 권한 정책을 살펴보면 (검색란에 검색하면 나온다)
AdministratorAccess : 관리자 권한을 부여 (대부분의 서비스에 접근할 수 있다. '대부분'이지 전부는 아니다)
AWSBillingReadOnlyAccess : 비용 조회에 대한 읽기 권한을 부여
AmazonEC2FullAccess : 모든 EC2 리소스에 대한 접근 권한 부여
만약 특정 정책을 생성하고 싶다면, [정책 생성] 버튼으로 JSON 기반으로 정책(커스텀 정책)을 만들 수 있다.
이 정책은 비용에 관한 읽기 권한을 주는 정책인데, 기존 정책에도 'Billing'이라는 정책이 있지만 오류인지 버그인지 사용자한테 부여해도, 잘 적용이 안되는 문제가 있다. 그때 위 코드로 커스텀 정책을 생성해서 사용하면 해결된다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"aws-portal:ViewPaymentMethods",
"aws-portal:ViewAccount",
"aws-portal:ViewBilling",
"aws-portal:ViewUsage"
],
"Resource": "*"
}
]
}
2단계에서 부여할 권한들을 모두 선택한 후,
3단계에서는 태그를 추가할 수 있다. 선택사항이지만, 누가 만들었는지 정도 적어두면 좋다.
4단계에서는 지금까지 진행한 상황에 대한 검토이다.
여기서 IAMUserChangePassword 정책이 있는 것을 볼 수있는데, 이는 1단계에서 비밀번호 자동생성한 경우, 사용자가 바꿀 수 있는 권한을 주는 것이다. (어찌보면 당연히 있어야하는 것)
5단계에서는 이제 사용자에게 알려줘야할 정보들을 볼 수 있다.
여기서 생성된 url 과 비밀번호를 사용자에게 알려주도록 하자.
이제 IAM 사용자는 위 URL로 접근하면 아래와 같은 화면을 볼 수 있다. 여기서 ID 12자리는 자동 입력 되어있고, 사용자 이름과 자동생성된 비밀번호를 입력하도록 하자.
이후 비밀번호를 바꾸라는 페이지가 나온다.
여기서 비밀번호를 바꾸면 AWS 사용자 계정을 추가하는 것이 모두 완료된다.
끝.
'Network > AWS' 카테고리의 다른 글
[AWS Amplify] Amplify 환경 설정 for Windows (0) | 2022.06.29 |
---|
댓글