일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 국비IT
- 타입스크립트
- 스프링
- 자스코테
- 정보처리기사실기요약
- 정보처리기사정리
- 평일코딩
- 코딩테스트
- spring
- 자바의정석
- 자바스크립트 코딩테스트
- 리액트
- Java의정석
- 국비코딩
- 자바스크립트
- php
- VUE
- 정보처리기사
- 이안의평일코딩
- react
- 정보처리기사요약
- CSS
- typescript
- Oracle
- ReactNative
- 정보처리기사실기
- 정보처리기사실기정리
- 오라클
- javascript
- 리액트네이티브
- Today
- Total
이안의 평일코딩
[AWS] IAM, IAM User(Group), IAM Role, IAM Policy 본문
IAM(Identity and Access Management)
AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스.
리소스(Resource): 자원. AWS에서는 컴퓨팅, 스토리지, 네트워크, ...
접근(Access): 리소스를 조작 및 제어하는 것. CRUD(쓰기, 읽기, 변경, 삭제)
사용자가 리소스를 사용하려고 할 때 권한을 세부적으로 조정하는 서비스
https://www.aws.training/Details/Video?id=54773
AWS의 인증(자신이 누구라고 주장할 때 이를 확인하는 절차)을 담당하는 것은? IAM User, IAM Role
AWS의 권한부여(사용자가 원하는 리소스에 접근하는 것을 허용하는 과정)를 담당하는 것은? IAM Policy
IAM User
그룹의 IAM Policy에 따라 권한을 부여받는다.
사용자에게 직접 Policy를 추가할 수 있다.
인증방식: ID/패스워드 방식은 관리 콘솔에서 사용하고 AccessKey ID/Secret access key는 CLI, SDK, Web API에서 사용.
IAM Role
특정 개체에게 리소스의 접근 권한을 부여하기 위해 사용.
주로 AWS 서비스들이 직접 다른 AWS 서비스를 제어하기 위해 사용. (EC2가 S3 업로드, Lambda가 S3에 접근 등..)
사용자나 응용 프로그램에서 일시적으로 AWS 리소스에 접근 권한을 얻을 때도 사용.
IAM Role은 Short term credential(임시, 만료시간이 있음)이며 IAM User는 Long term credential(영구)이다.
IAM Role의 주요 구성요소
Role ARN: 역할을 호출하기 위해 필요 (URL과 비슷)
IAM Policy: 이 역할이 어떤 권한을 부여할 수 있는가
신뢰 관계: 어떤 개체가 IAM Role을 호출할 수 있는가
IAM Role 사용예
EC2 role: EC2 인스턴스에게 AWS 서비스 접근권한을 부여
Lambda Execution Role: 람다에서 S3로부터 파일을 읽고 싶을 때 role에 권한 지정
다른 계정의 사용자에게 내 계정의 DynamoDB에 임시 접근 권한 부여
안드로이드 앱이 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/honux
arn:aws:s3:::my-bucket/folder1/file1
IAM Group
공통의 권한을 가지는 사용자의 집합으로 그룹을 생성 후 IAM Policy를 연결한다.
그룹에 사용자 추가하고 그룹내 사용자는 그룹과 연결된 Policy의 권한을 부여받는다.
IAM Policy
AWS 서비스의 접근 권한을 세부적으로 관리하기 위해 사용하는 JSON 포맷의 문서이다.
AWS 관리 정책: AWS가 미리 만들어 놓은 정책으로 사용자는 편집이 불가능하다.
사용자 관리 정책: 사용자가 직접 생성한 정책으로 기존 정책으로부터 생성 및 수정 또는 직접 생성 가능하고 GUI 편집기와 JSON 편집기 모두 사용 가능하다.
AdministratorAccess Policy
Statement에 실질적인 내용이 들어가있다.
Effect는 Allow(허용) 또는 Deny(거부)
Action은 API, 행동
Resource에 EC2, S3와 같은 리소스가 들어간다.
아래는 모든걸 허용하는 정책.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
}
Power User Policy
NotAction은 모든 리소스에 대해 해당하는 것만 빼고 허용.
아래는 iam만 못하기 때문에 자기 자신 정보를 보거나 변경이 안됨.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"NotAction": "iam:*",
"Resource": "*"
}
]
}
S3 Full Permission
Action은 해당하는 것만 가능하다.
아래는 s3만 가능하게 한다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
S3 특정 버킷 읽기 전용 정책
Action: s3의 Get, List로 시작하는 API만 허용.
Resource: ARN은 URL처럼 아마존에서 리소스를 식별할 수 있는 식별자.
s3저장소의 mydata이라는 버킷 안에 모든 컨텐츠.
아래는 s3저장소의 mydata 버킷 안의 파일들을 읽을 수 있는 읽기 전용 정책.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": [ "arn:aws:s3:::mydata", "arn:aws:s3:::mydata/*" ]
}
]
}
'Front-end > AWS' 카테고리의 다른 글
[AWS] RDS Relational Database Service (0) | 2021.05.28 |
---|---|
[AWS] VPC Virtual Private Cloud (0) | 2021.05.27 |
[AWS] EC2 Elastic Computing Cloud (0) | 2021.05.25 |
[AWS] S3 Amazon Simple Storage Service (0) | 2021.04.30 |
[AWS] 글로벌 인프라 및 AWS 기본 구조 및 용어 (0) | 2021.04.29 |