[IAM 구성 요소]
1) Users
- ManagementCconsole - ID/PW
- CLI - Access Key / Secure Access key (?)
2) Groups
- A collection of users
3) Policies
# policy 종류
(1) Management Policy
- AWS가 기존에 만들어놓은 Policy
AWS가 Policy에 새로운 권한을 추가하는 경우가 생김. 예상하지 못한 권한을 득하게 됨.
- Custom Policy
(2) Inline Policy
#
- made up of documents = "Policy documents"
- JSON format
- permissions
- ex) "AdministratorAcess", "AmazoneCloudDirectoryReadOnlyAccess",...
4) Roles (모자)
# Role 정의
- 권한 정책 (what)
. Policy를 할당하는 작업
- 신뢰 정책 (who)
. Switch Role을 누가할 수 있는가? 에 대한 작업
#
- create roles and then assign them to AWS Resources
- AWS Service를 선택하고, permissions policy를 선택
ex) PROD, DEV, TEST Role 등을 만들어서 모자를 바꿔쓰듯이 Role을 체인지
- 임시로 권한을 사용해야 하는 경우 유용하다.
- Cross Acount(멀티 계정인 경우) 해야 하는 경우 Role을 만들어서 Switch 할때도 사용한다.
※ CloudTrail
- 하나의 리전에서 On 하면 모든 리전에 적용됨
- User 활동에 대한 로깅 기능
- config와 함께 많이 사용한다.
=> A 사용자가 B 자원을 변경한 경우. A 사용자의 정보는 CloudTrail에 기록되고 B 자원의 정보는 config에 기록된다.
※ User와 Account의 차이점은?
Account = 계정, User = 사용
Account는 Root임 (Credit Card 가 연결되어 있음)
User는 Account 밑에 생성되는 사용자임
Account는 email/pw 로 접근하고(Root),
User는 ID/PW로 접속함
※ STS(Security Token Service)
- AWS 내부 서비스
- STS를 호출하는 대표적인 API. 아래의 API는 Access Key / Secure Access Key를 받아오기 위한 API
* AssumeRole
*AsuumeRoleWithSaml : 인증정보를 이용
*AssumeRoleWithWebIdentity : ex) 카카오인증 정보를 이용한 인증
※ AWS Orgnization
- Account 관리 (생성 가능)
- 빌링
[정리]
- IAM 설정은 특정 리전에 바인딩 되는 것이 아님. IAM is universal
- "AdministratorAcess" Policy는 "모든" Resource에 대해 "모든" Action을 "허용(Allow)" 하므로 가장 강력한 Policy다. = (god mode)
- Access key ID & Secret Access Key 는 console 로그인용으로 사용하지 못한다. API, Command Line을 통해서 AWS에 접근할 때 사용한다.
[MFS (multi-factor authentication)]
root 계정 보안을 위해 이중 인증 장치 설정
Type
1) Virtual MFA device : Authenticator app installed on you mobile device or computer
2) U2F security key : YubiKey or any other compliant U2F device
3) Other hardware MFA device
댓글