IAM - Identity and Access Management, 사용자를 생성하고 그룹에 배정한다. 글로벌 서비스이다.
Root Account - 계정을 생성할 때만 사용하고 다른 용도로 사용하거나 공유하는 것은 좋지 않다.
User Account - 사용자 계정으로 그룹을 묶을 수 있다.
Group - 그룹 안에는 사용자만 포함되고 그룹은 포함할 수 없다. 그룹에 포함되지 않은 사용자가 있을 수 있다. 한 사용자가 여러 그룹에 속할 수도 있다.
Permission - 사용자와 그룹을 생성하는 이유는 권한을 부여하기 위해서이다. JSON 형태의 정책을 설정할 수 있다. 최소 권한만 부여하는 것을 원칙으로 하고 있다. 사용자만, 또는 그룹 단에서 권한을 부여할 수 있다.
JSON
- Version : 정책 언어 버전 (2012-10-17)
- Id : 정책 식별 ID, 선택사항
- Statement : 하나 또는 여러 개로 중요한 부분
- Sid : Statement의 식별 ID, 선택사항
- Effect : 특정 API에 접근하는 것을 허용할지 거부할지에 관한 내용(Allow or Deny)
- Principal : 특정 정책이 적용될 사용자, 계정, 역할에 관한 내용
- Action : Effect에 기반해 허용 및 거부되는 API의 목록
- Resource : 적용될 Action의 리소스 목록
- Condition : Statement가 언제 적용될지 결정하는 내용, 선택사항
Password Policy - 비밀번호의 최소 길이 설정, 특정 유형의 글자 사용 설정(대, 소문자, 숫자, 특수 문자)을 할 수 있다. IAM 사용자의 비밀번호 변경을 허용, 금지할 수 있다. 특정 기간이 지나면 만료시켜 비밀번호를 변경하게 할 수도 있다. 비밀번호 재사용을 막아 동일한 비밀번호, 전 비밀번호 사용을 금지할 수 있다.
MFA(Multi Factor Authentication) - 필수로 권장하고 있다. 가상 MFA에는 Google Authenticator, Authy가 있다. U2F(Universal 2nd Factor) Security Key는 YubiKey by Yubico라는 물리적 장치가 있다. YubiKey는 하나의 보안 키에서 여러 루트 계정, IAM 사용자를 지원한다. Hardware Key Fob MFA Device는 Provided by Gemalto, Hardware Key Fob MFA Device for AWS GovCloud(US)는 Provided by SurePassID가 있다.
AWS 접속 방식 - AWS Management Console(비밀번호+MFA), AWS CLI(자격 증명), AWS SDK(AWS에서 어플리케이션 코드 안에 API 호출을 위해 사용, 자격 증명)
Access Key(자격 증명) - AWS Console에서 생성할 수 있다. 사용자가 관리하며 비밀번호와 동일한 암호이다. 따라서 공유하는 것은 좋지 않다. Access Key ID는 사용자 ID, Secret Access Key는 비밀번호와 같다.
CLI - Command Line Interface, 명령어를 통해 AWS 서비스와 상호작용할 수 있다. 모든 명령어가 aws로 시작한다. CLI를 사용하면 AWS 공용 API로 직접 접근이 가능하다. 리소스를 관리하는 스크립트를 작성하면 자동화할 수 있다. AWS Console 대신 사용하기도 한다.
SDK - Software Developer Kit, 특정 언어로 된 라이브러리의 집합이다. AWS 서비스나 API에 프로그래밍을 위한 접근이 가능하다. 코딩으로 어플리케이션 내에 작성한다.
CloudShell - AWS에서 무료로 사용할 수 있는 터미널같은 것이다. 사용할 수 있는 리전이 정해져 있다. CLI에서 자격증명을 입력한 후 사용하는 것과 같이 사용할 수 있다. API 호출할 리전을 정할 수 있다. 파일을 저장하고 업로드, 다운로드할 수 있다.
IAM Role - 일부 AWS 서비스는 권한 설정이 필요하다. 그를 설정하기 위한 것이다. EC2 instance role, Lambda function role, Roles for CloudFormation 등을 설정할 수 있다.
IAM Security Tool - IAM Credentials Report(account level, 계정에 있는 사용자와 다양한 자격 증명의 상태를 포함한다.), IAM Access Advisor(user level, 사용자에게 부여된 서비스의 권한과 해당 서비스에 마지막으로 엑세스한 시간을 포함한다.) 어떤 권한이 사용되지 않았는지 확인하고, 사용자 권한을 줄일 수 있다.
- 루트 계정은 AWS 계정을 설정할 때 이외에는 사용하지 않는 것
- 한 명의 AWS 사용자는 한 명의 실제 사용자를 의미, 계정 공유 X
- 사용자를 그룹에 넣어 해당 그룹에 권한을 부여 가능
- 비밀번호 정책 설정
- MFA 설정
- AWS 서비스에 권한을 부여하려면 IAM Role 설정
- CLI나 SDK를 사용하려면 자격 증명 필요
- 계정 감사에는 IAM Security Tool 사용 가능
- IAM 사용자와 자격 증명 공유 금지
'AWS > AWS Architect Associate' 카테고리의 다른 글
ELB, ASG (0) | 2023.05.21 |
---|---|
EBS, EFS (0) | 2023.02.06 |
EC2 - Associate Level (0) | 2023.02.06 |
EC2 (0) | 2023.02.03 |
AWS 리전, 가용 영역 (0) | 2023.01.03 |