본문으로 바로가기

AWS IAM 그룹, 사용자 생성

category AWS/☁️ AWS 2020. 2. 19. 00:46

Identity and Access Management(IAM)는 각 리소스에 대한 권한을 관리하는 서비스다.

규모가 큰 조직에서 유용하게 사용할 수 있고, 각 AWS 서비스 내에서 다른 서비스에 접근하기 위한 권한을 설정하는데에도 사용된다.

특히, Auto scaling할 때 각 EC2에 접속해서 액세스 키를 일일히 입력하는 것은 매우 귀찮은 일이다. IAM Role을 사용하면 로그인을 따로 할 필요 없어서 편하게 명령을 내릴 수 있다. 여러 계정의 요금을 합쳐서 지불하는 '통합 결제' 시스템도 있으니 재무 관리 측면에서도 편리하다고 할 수 있다.

 

tip) IAM는 리전 별 설정이 없고 모든 리전에서 동일하게 작동함.

 

 

정책 < 역할 < 사용자(User) < 그룹의 순서이다.

 

정책을 설정한 후 역할을 생성하고 해당 역할을 사용자에게 부여하며 그룹으로 사용자를 묶는다.

lambda에서는 역할까지만 생성하여 람다에 부여하지만

다수의 작업자가 인프라를 다룰 때는 사용자까지 생성하여 아이디를 생성하고, 더 많은 작업자가 존재하는 경우 그룹까지 부여하여 관리한다.

 

여기에서는 세부적인 정책보다는 다른 사람이 내 계정으로 접근하여 협업할 수 있게끔 그룹과 사용자를 만드는 과정을 해보고자 한다.

 

IAM 그룹 만들기 

IAM 접속 후 [새로운 그룹 생성] 클릭

 

이름 설정 후 정책을 선택한다.

상당히 많은 항목이 있으니 검색 기능을 잘 활용하자.

여기서는 [AmazonEC2FullAccess]에 체크해서 EC2에 풀액세스할 수 있는 권한을 할당해보자.

 

정책을 살펴보면 아래와 같은 것을 확인할 수 있습니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": "ec2:*",
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "elasticloadbalancing:*",
            "Resource": "*"
        },
        ... 중략
    ]
}

 

🚨 ARN : amazon resource name

https://docs.aws.amazon.com/ko_kr/general/latest/gr/aws-arns-and-namespaces.html

 

Amazon 리소스 이름(ARN) - AWS 일반 참조

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

docs.aws.amazon.com

 

arn:partition:service:region:account-id:resource-id

arn:partition:service:region:account-id:resource-type/resource-id

arn:partition:service:region:account-id:resource-type:resource-id

 

 

IAM User 그룹에 추가하기

앞서 만든 그룹에 이용자를 추가해보자 [사용자 추가] 클릭

 

 

사용자 이름과 액세스 유형을 선택한다.

콘솔 비밀번호는 자동 생성하는 방법과 사용자가 생성하는 방법이 있는데 원하는 것을 고르면 된다.

 

 

다음에는 권한을 설정합니다.

이 페이지에서 그룹을 생성할 수도 있지만 기존에 있던 그룹을 선택하도록 하겠습니다.

 

성공적으로 유저를 그룹에 포함시켰습니다. 아래 .csv 파일을 다운로드하면 Password 등 정보를 볼 수 있습니다.

파일을 다운로드 받아 놓은 후 보관하도록 합시다.

 

이제 액세스 키를 생성해보도록 합시다.

 

액세스 키를 생성하자 하는 유저를 클릭합니다.

스크롤을 내려 [보안 자격  증명] - [액세스 키 만들기]를 클릭합니다.

 

액세스 키를 만든 후에는 반드시 [.csv 파일 다운로드]를 클릭하여 액세스 키를 보관하도록 합니다.

액세스 키를 복사하여 보관하지 않는다면 시크릿 액세스 키를 알 수 없습니다.

 

IAM User로 접속하기

 

AWS 계정(루트 계정) 외에 IAM 사용자도 AWS에 접속할 수 있습니다.

생성한 IAM 유저를 이용하여 AWS에 접속해보도록 하겠습니다.

 

접속하고자 하는 유저의 Console login link로 이동합니다.

참고로, IAM 사용자용 AWS 접속 주소는 'https://[계정 ID].signin.aws.amazon.com/console'입니다.

 

 

 

왼쪽이 로그인 화면이며 오른쪽이 다운로드 받은 비밀번호.csv입니다.

 

 

이 계정에서는 S3, RDS 등의 리소스를 사용할 수 없습니다. (심지어 보는 것 마저도!)

 

IAM 역할(Role) 활용하기

IAM Role은 리소스 접근 권한을 설정할 때 사용한다.

EC2에 접근 권한을 가진 IAM User가  EC2 인스턴스에서 S3에 접근할 수 있는 역할이 부여된다.

 

 

EC2에서 S3 접근을 가능하게 만들어야 하므로 EC2를 선택한다.

Allow EC2 instances to call AWS services on your behalf라는 문구에서도 확인할 수 있다.

다음 단계에서는 S3FullAccess 정책을 주자.

 

IAM Role 생성 후에 EC2 등 리소스 생성 시 IAM Role 부분에서 해당 Role을 지정할 수 있다.

생성 후에도 IAM Role 연결할 수 있다.

이러면 aws configure안 해도 (액세스 키 복붙을 안해도) 권한에 따른 명령을 내릴 수 있다.

 

'AWS > ☁️ AWS' 카테고리의 다른 글

AWS SQS  (0) 2020.02.19
AWS ElastiCache  (0) 2020.02.19
AWS Route 53  (0) 2020.02.16
AWS RDS와 EC2 연동하기  (0) 2020.02.15
AWS RDS  (0) 2020.02.15

darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체