일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- gradle
- Slick
- spring-cloud-stream
- play framework
- statestore
- reactive
- springboot
- 한빛미디어
- RabbitMQ
- Elk
- aws
- 카프카
- avo
- confluent
- 플레이 프레임워크
- Kafka
- scala 2.10
- coursera
- Spring
- kafka interactive query
- kafka streams
- spring-kafka
- spring-batch
- scala
- enablekafkastreams
- Logstash
- kafkastreams
- schema registry
- kafkastream
- Elasticsearch
- Today
- Total
b
AWS IAM 본문
권한에 따른 AMAZON AWS 사용자 분류
- Root Acount
- IAM Users, Group, Roles
- Temporary Security Credentials (임시 보안 자격증명)
밑으로 갈수록 좀 더 범위가 좁아진다.
IAM ( Identity and Access Managemnt)
- 사용자와 그룹을 생성하고 각 리소스에 대해 접근제어와 권한 관리를 제공 (리전별로 설정은 안되고 모든 리전에 동일하게 적용)
- 실제 서비스가 아니라서 요금은 없음
- Effect, Principal, Action, Resource, Condition 총 5개의 구성요소를 가지고 JSON 형태로 정의할 수 있다. 링크
- IAM Policy 종류
- AWS Organizations : 무료이고, Service Control Policies 를 통해서 멀티 계정을 관리 할 수 있다.
- Permission Policies : 일반적인 IAM Policy
- Permission Boundaries : Permission Policy를 제한
- Session Policies
- Resource based Policies
- Endpoint Policies
- 할 수 있는 것들
- 기존 자격 증명 시스템을 활용 가능하다 (Federation)
- Authentication/인증 - ID&Password, Access Key, Federation
- Authorization/권한 - Policy 를 이용해서 권한 관리할 수 있고 User 기반 or 리소스 기반 정책으로 설정할 수 있다.
IAM 그룹 생성
- 그룹에 접근 제어 및 권한 설정을 할 수 있다
- 그룹에 설정된 내용은 그룹의 모든 사용자에게 적용된다.
1. IAM 메뉴에서 '새로운 그룹 생성' 을 클릭한다.
2. 기본으로 많은 Policy 들이 준비 되어 있다. 이 중에서 `AmazonEC2FullAccess` 를 선택한다. ( 각 그룹에는 최대 10개의 정책을 셋팅 할 수 있다 )
EC2FullAccess 는 'arn:aws:iam::aws:policy/AmazonEC2FullAccess' 의 으로 표현되는데 네이밍 규칙을 알아놓으면 상당히 편리하다.
3. 그룹을 생성하면 이처럼 새로 만들어진 그룹을 확인 할 수 있다. (현재 추가된 사용자가 없으므로 사용자:0 이다)
4. 위에서 추가한 EC2FullAccess는 IAM 대시보드 - 정책 메뉴에서 좀 더 디테일한 권한을 확인 할 수 있다. ( 238개 중에서 6개에 대해서만 권한이 있는 것을 볼 수 있다 )
IAM 사용자 생성
1. IAM - 사용자 추가 메뉴에서 사용자를 등록 할 수 있다.
'다른 사용자 추가'를 눌러서 한번에 여러 사용자를 등록 할 수 있다.
그리고 각 유저가 어떠한 방식으로 사용할 것인지를 선택 할 수 있다.
2. 새 사용자를 그룹에 포함시킨다. 기존의 그룹이나 새로 그룹을 만들 수 있다.
3. 관리를 위한 Tag 를 추가할 수 있다.
4. 사용자를 생성하면 마지막 화면에서 액세스키를 확인 할 수 있다. 화면에서 경고하는 것처럼 여기에서 메모하거나 CSV 파일을 다운로드 하지 않는다면 다시는 액세스키를 확인 할 수 없으니 주의 해야한다.
(단, 새로운 Access Key 를 만들 수는 있고, 시크릿키도 다운로드 할 수 있다)
5. 처음에 ec2user1 사용자를 만들 때 사용 방법으로 'AWS 콘솔 액세스' 도 선택했으므로 콘솔로도 접근 가능하다. CSV 파일을 열어보면 Console Login Link 가 존재한다.
해당 링크로 접속해서 사용자 계정과 초기 셋팅한 비밀번호를 입력해서 새로운 비밀번호를 셋팅 할 수 있다.
해당 계정으로 EC2 이외의 서비스를 접근 하면 Access Denied 를 볼 수 있다.
사용자는 여러개의 그룹에 연결 될 수 있다 '그룹에 사용자 추가'를 클릭하면 (텍스트가 좀 모호하다) 다른 그룹도 연결 할 수 있다.
IAM Role
AWS 작업, 리소스에 대한 액세스를 부여하는 권한 세트
Policy 를 쓰지 않고 Role 을 정의하는 이유?
- 언제든지 접근 권한을 회수 가능하고, 매번 일일이 설정할 필요가 없다.
- 중요) Access Key 와 같은 보안 자격증명을 필요로 하지 않는다
- ex) A 유저가 EC2 -> S3 을 이용한다고 할 때 A 유저에게 권한을 주는 것이 아닌 EC2 -> S2 권한을 준다.
그 외에 알아놓을 것
- ARN ( Amazon Resource Name ) - AWS 리소스에 고유한 이름
- arn:aws:service:region:account-id:resource-type:resource 형태
- Policy enforcement
- 일단 deny (명시적으로 allow 가 없다면 deny 라고 보면 된다 )
- 그리고 명시적으로 deny 를 선언하면 제일 우선 된다 (deny, allow 가 중복되면 deny 라는 뜻)
- Generator : https://awspolicygen.s3.amazonaws.com/policygen.html
- Simulrator : https://policysim.aws.amazon.com/home/index.jsp
'Cloud > aws' 카테고리의 다른 글
AWS PUB/SUB Service SNS, EventBridge (0) | 2020.08.22 |
---|---|
AWS IAM 보안 (0) | 2020.08.21 |