Skip to content
GwiyeomGo Tech Blog
About GwiyeomGo

AWS IAM 계정을 받았습니다

AWS5 min read

배경

회사에서는 인프라 담당자가 aws 를 관리해서 IAM 계정을 요청드리면 되지만.. 회사 계정이고 비용이 발생할 수 있기 때문에 계인계정을 만들어서 test 해보려고 한다

나는 인프라를 잘 모르니까 aws 를 함부로 써서 비용이 발생할까봐 무섭다 그래서 가입,용어정리 하나씩 기록하면서 진행해보려고 한다

aws 계정만들기

*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

© 2024 by GwiyeomGo Tech Blog. All rights reserved.