AWS IAM 계정을 받았습니다
— AWS — 5 min read
배경
회사에서는 인프라 담당자가 aws 를 관리해서 IAM 계정을 요청드리면 되지만.. 회사 계정이고 비용이 발생할 수 있기 때문에 계인계정을 만들어서 test 해보려고 한다
나는 인프라를 잘 모르니까 aws 를 함부로 써서 비용이 발생할까봐 무섭다 그래서 가입,용어정리 하나씩 기록하면서 진행해보려고 한다
aws 계정만들기
- aws 프리티어
- https://aws.amazon.com/ko/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all
- https://www.appletong.com/entry/%EC%95%84%EB%A7%88%EC%A1%B4-AWS-%EB%AC%B4%EB%A3%8C-%EA%B3%84%EC%A0%95-%EB%A7%8C%EB%93%A4%EA%B8%B0
- 연락처정보 => 개인_자체 프로젝트
- 결재정보,휴대번호 등 입력
- 100원결재후 취소됨
*root 로 들어감 > 계정
- 계정ID
- regin 을 서울 => ap-northeast-2
ima 계정 생성
-
iam 비용발생?
- AWS Identity and Access Management(IAM)
- AWS 리소스에 대한 액세스를 안전하게 제어할 수 있도록 지원하는 AWS 서비스
IAM은 추가 비용 없이 사용할 수 있는 AWS 서비스
https://docs.aws.amazon.com/ko_kr/awsaccountbilling/latest/aboutv2/security-iam.html
-
iam>액세스관리>사용자>사용자추가 *
이름 :{이름}
aws 자격 증명 유형 선택 => 액세스 키 – 프로그래밍 방식 액세스
AWS API, CLI, SDK 및 기타 개발 도구에 대해 액세스 키 ID 및 비밀 액세스 키 을(를) 활성화합니다. *권한설정 > 권한 없는상태로 >다음:태그 클릭(선택사항으로 패스) >다음:검토 클릭 >사용자 세부정보 눈으로 보고 > 사용자만들기
- 중요!! 지금이 이 자격 증명을 다운로드할 수 있는 마지막 기회 !!! csv 파일을 다운받고 잘 관리!!!
User name,Password,Access key ID,Secret access key,Console login link
-
arn:aws:iam::{계정ID}:user/{이름}
ima 계정에 assume 인라인 정책 추가
ima>사용자>방금 생성한 사용자 이름 클 릭
- 인라인 정책 추가
- 서비스: AWS Security Token Service(STS)
- STS 비용발생?
- 작업:쓰기
*리소스:모든리소스
*
정책검토> 이름:allow-assume-role>정책생성
생성된 권한의 json 정보를 보면 사용자 ARN :arn:aws:iam::{계정ID}:user/{User name}
{"Version": "2012-10-17","Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "*" }]}
iam 역할 추가
- 액세스 관리 > 역할 > 역할 만들기
- AWS 계정 클릭,이 계정
- 권한 정책 -> 사용할 기능 선택 ex) sqs 검색 후 AmazonSQSFullAccess 선택
- 역할 이름,설명 을 추가하고 역할 생성
로컬에서 실행하기 aws cli 설정
*aws cli
를 설치
> https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html#getting-started-install-instructions
*aws cli
- window 의 경우 git bash 에서 아래 명령어 실행
aws configure
실핼하고 아래 값을 입력 (공백 입력되지 않도록 주의)- access key ID, secret access key,region,format 입력(region:ap-northeast-2,format:json)
aws configure list
로 목록 확인- 연결 test
(참고)
- profile 을 설정하여 여러 계정을 관리
aws configure --profile gwiyeom
실행하고 위와 같이 설정aws configure list --profile gwiyeom
목록 확인- 연결
aws s3 ls --profile gwiyeom
aws cli 에 설정한 계정에 특정 역할을 부여 (임시 자격 증명서 발급)
aws sts assume-role \ --role-arn {IAM 역할 중 할당할 역할의 ARN ex) arn:aws:iam::{7자리}:role/{역할이름}} --role-session-name {my session name }
명령어를 입력시 json 값을 반환
=>임시 자격 증명서 발급
{ "Credentials": { "AccessKeyId": "", "SecretAccessKey": "", "SessionToken": "", "Expiration": "2022-09-17T21:12:57+00:00" }, "AssumedRoleUser": { "AssumedRoleId": "{ }:{my session name}", "Arn": "arn:aws:sts::{7자리}:assumed-role/{역할이름}/{my session name}" }}
임시 자격 증명서 발급 에 나와있는 값을 aws cli 에 다시 설정
aws configure set aws_access_key_id {AccessKeyId 문자열}aws configure set aws_secret_access_key {SecretAccessKey 문자열}aws configure set aws_session_token {SessionToken 문자열}
sqs 에 접근되는지 확인
aws sqs list-queues
참고
https://www.daleseo.com/aws-cli-configure/ https://aws.amazon.com/ko/blogs/korea/tips-aws-cli/ https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-%EC%9E%A5%EA%B8%B0-%EC%9E%90%EA%B2%A9-%EC%A6%9D%EB%AA%85-%EC%9E%84%EC%8B%9C-%EC%9E%90%EA%B2%A9-%EC%A6%9D%EB%AA%85-Access-Key-Secret-Access-Key#AWS_%EC%9E%90%EA%B2%A9_%EC%A6%9D%EB%AA%85 https://us-east-1.console.aws.amazon.com/iamv2/home?region=ap-northeast-2#/home https://docs.aws.amazon.com/es_es/cli/latest/reference/sqs/list-queues.html