AWS CloudShell로 IAM 작업하기
AWS CloudShell로 IAM 작업하기
CloudShell은 AWS Management Console에서 바로 띄울 수 있는 브라우저 기반 셸이에요. 별도로 CLI를 내려받거나 설치하지 않아도 자기 취향 셸(Bash, PowerShell, Z shell)로 IAM을 포함한 AWS 서비스에 CLI 명령을 실행할 수 있어요.
출처: 문서
본문
AWS CloudShell은 AWS Management Console에서 바로 실행할 수 있는 브라우저 기반의 사전 인증(pre-authenticated) 셸이에요. 선호하는 셸(Bash, PowerShell, Z shell)을 골라 IAM을 포함한 AWS 서비스에 AWS CLI 명령을 실행할 수 있고, 명령줄 도구를 내려받거나 설치할 필요가 없어요.
AWS CloudShell은 AWS Management Console에서 실행하면 되고, 콘솔에 로그인할 때 쓴 AWS 자격 증명이 새 셸 세션에 자동으로 준비돼요. 이렇게 CloudShell 사용자가 사전 인증되어 있기 때문에, 셸의 컴퓨팅 환경에 미리 설치된 AWS CLI 버전 2로 IAM 같은 AWS 서비스를 다룰 때 자격 증명을 별도로 구성하지 않아도 돼요.
AWS CloudShell용 IAM 권한 얻기
Access management 리소스로 관리자는 IAM 사용자에게 AWS CloudShell에 접근하고 환경의 기능을 사용할 권한을 부여할 수 있어요.
관리자가 사용자에게 접근 권한을 주는 가장 빠른 방법은 AWS 관리형 정책(AWS managed policy)을 쓰는 거예요. AWS 관리형 정책은 AWS가 만들고 관리하는 독립형 정책이에요. CloudShell용 AWS 관리형 정책은 IAM ID에 연결할 수 있어요.
- AWSCloudShellFullAccess — 모든 기능에 대한 전체 접근 권한으로 AWS CloudShell을 사용할 수 있는 권한을 부여해요.
IAM 사용자가 AWS CloudShell에서 수행할 수 있는 작업 범위를 제한하고 싶다면 AWSCloudShellFullAccess 관리형 정책을 템플릿으로 삼아 사용자 지정(custom) 정책을 만들면 돼요. CloudShell에서 사용자에게 제공되는 작업을 제한하는 방법에 대한 자세한 내용은 AWS CloudShell 사용자 가이드의 IAM 정책으로 AWS CloudShell 접근·사용 관리를 참고하세요.
IAM과 상호작용하기
AWS Management Console에서 AWS CloudShell을 실행하면 곧바로 명령줄 인터페이스로 IAM과 상호작용할 수 있어요.
Note — AWS CloudShell에서 AWS CLI를 쓸 때는 추가 리소스를 내려받거나 설치할 필요가 없어요. 또 셸 안에서 이미 인증되어 있기 때문에 호출 전에 자격 증명을 구성할 필요도 없어요.
AWS CloudShell로 IAM 그룹을 만들고 사용자를 그룹에 추가하기
아래 예시는 CloudShell로 IAM 그룹을 만들고, IAM 사용자를 그 그룹에 추가한 뒤 명령이 잘 됐는지 확인하는 과정을 보여 줘요.
-
AWS Management Console 내비게이션 바에서 CloudShell을 실행해요.
- CloudShell 아이콘을 선택하거나,
- 검색 상자에
cloudshell을 입력하고 CloudShell 옵션을 선택해요.
-
IAM 그룹을 만들려면 CloudShell 명령줄에 다음 명령을 입력해요. 이 예시에서는 그룹 이름을
east_coast로 지었어요.aws iam create-group --group-name east_coast호출이 성공하면 명령줄에 다음과 비슷한 서비스 응답이 표시돼요.
{ "Group": { "Path": "/", "GroupName": "east_coast", "GroupId": "AGPAYBDBW4JBY3EXAMPLE", "Arn": "arn:aws:iam::111122223333:group/east_coast", "CreateDate": "2023-09-11T21:02:21+00:00" } } -
만든 그룹에 사용자를 추가하려면 그룹 이름과 사용자 이름을 지정해 다음 명령을 써요. 이 예시에서는 그룹
east_coast와 사용자john을 사용해요.aws iam add-user-to-group --group-name east_coast --user-name john -
사용자가 그룹에 들어갔는지 확인하려면 그룹 이름을 지정해 다음 명령을 써요. 이 예시에서는 계속 그룹
east_coast를 사용해요.aws iam get-group --group-name east_coast호출이 성공하면 명령줄에 다음과 비슷한 서비스 응답이 표시돼요.
{ "Users": [ { "Path": "/", "UserName": "john", "UserId": "AIDAYBDBW4JBXGEXAMPLE", "Arn": "arn:aws:iam::552108220995:user/john", "CreateDate": "2023-09-11T20:43:14+00:00", "PasswordLastUsed": "2023-09-11T20:59:14+00:00" } ], "Group": { "Path": "/", "GroupName": "east_coast", "GroupId": "AGPAYBDBW4JBY3EXAMPLE", "Arn": "arn:aws:iam::111122223333:group/east_coast", "CreateDate": "2023-09-11T21:02:21+00:00" } }