[AWS]IAM Role이란

건너별·2021년 11월 19일
0

infra(AWS)

목록 보기
8/17


[https://youtu.be/TiIDXvFgpIw]

IAM Role

  • 특정 개체에게 접근 권한을 부여하기 위해 사용

    특정 개체?

    • IAM User, AWS service, other account, root account 등 다양하게 존재
  • IAM User가 Long-term credential 이라면, IAM Role은 Short term credential

  • 안전모 아이콘 : 작업하는 순간에만 사용! API 호출이 필요한 순간에만

-> 임시자격증명이기 때문에 보다 안전함

  • assumeRole API로 사용 가능함

  • AWS 서비스들이 직접 다른 AWS 서비스를 제어하기 위해 사용함

  • 또는 사용자나 응용 프로그램에서 일시적으로 AWS 리소스에 접근 권한을 얻을 때도 사용

IAM Role의 구성요소

  • Role ARN: URL같은 개념. 식별 및 역할을 호출하기 위해 필요.
  • IAM Policy : IAM Role에 붙음. 이 역할이 어떤 권한을 부여할 수 있는가?
  • 신뢰 관계(Trust relationship) : Role 은 아무나 쓸 수 있으면 안됨. 어떤 개체가 IAM Role을 호출할 수 있는지 생각해야 함
    - Assume role 이라는 대상을 trust relationship이라고 지정

IAM Role 의 사용예

  • EC2 role : EC2 인스턴스에게 AWS 서비스 접근권한 부여

    [https://kr-id-general.workshop.aws/ko/basic_modules/30-iam/iam/4-iam.html]
  • Lambda Execution Role : 람다에서 S3 로부터 파일을 읽고 싶을 때 role에 관한 권한 지정
    ** Lambda : 서버리스 서비스. 서버없이 코드 실행 가능.
  • 다른 계정의 사용자에게 내 계정의 DynamoDB에 임시 접근 권한 부여


[https://aws.amazon.com/ko/blogs/security/how-to-create-an-aws-iam-policy-to-grant-aws-lambda-access-to-an-amazon-dynamodb-table/]

  • 안드로이드 앱이 S3로 직접 동영상을 업로드할 때 사용

ARN

Amazon resource name
아마존에서 리소스를 구분할 수 있는 구분자.

형식)

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

예시)

arn:aws:iam::123456789012:user/Development/product_1234/*

region 비어있는 이유 : 이미 유일해서 생략.

profile
romantic ai developer

0개의 댓글