

IAM : Identity and Access Management의 약자입니다.IAM에서는 사용자를 생성하고 그룹에 배치하기 때문에 글로벌 서비스에 해당됩니다.예시)
"Version": "2022-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }, ... ...
허용하고 그 허용을 위해서는 이들에게 권한을 부여해야 합니다."정책 (policies)"이라 불리는 JSON 문서를 지정할 수 있습니다.AWS에서는 모든 사용자에게 모든 것을 허용하지 않습니다.: AWS 계정을 사용하도록 허용하고 그 허용을 위해서는 이들에게 권한을 부여합니다.
예시)
"Version": "2022-10-17", "id": "S3-Account-Permissions", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal" : { "AWS": ["arn:aws:iam::4343243251454:root"] } "Action": "ec2:Describe*", "Resource": "*" }, ... ...
Version : 2022-10-17, 정책 언어 버전입니다.
ID : 정책을 식별하는 ID (선택사항)
Statement : 하나 또는 여러 개입니다.
Effect : 정책에서 effect는 문장이 특정 API에 접근하는 걸 허용할지 거부할지 대한 내용입니다.Principal : 특정 정책이 적용될 사용자, 계정, 혹은 역할로 구성됩니다.Action : effect에 기반해 허용 및 거부되는 API 호출의 목록입니다.Resource : 적용될 action의 리소스의 목록입니다.그룹과 사용자들의 정보가 침해당하지 않도록 보호하는 두 가지 방어 매커니즘비밀번호 정책의 생성이 가능합니다.비밀번호 변경을 허용 또는 금지할 수도 있습니다.만료시켜 새 비밀번호 설정을 요구할 수도 있습니다.비밀번호의 재사용을 막을 수 있습니다.사용자들은 계정에 접근 권한이 있고 많은 작업을 할 수 있는데, 특히
관리자일 경우에는 구성을 변경하거나 리소스를 삭제하는 등의 작업을 할 수 있습니다.
따라서적어도 루트 계정은 무슨 일이 있어도 반드시 보호해야 하며 전체 IAM 사용자들도 보호를 해야 합니다.
MFA : Password + 보안장치
장점: 사용자가 해킹을 당해 비밀번호가 누출된 상황이라고 해도 해커에게는 로그인을 위해 휴대전화 등 사용자 소유의 물리적 장치가 추가로 필요해질 테니 계정이 침해당하지 않는다는 점입니다.
- AWS Console
- 사용자 이름 및 비밀번호와 다요소 인증으로 보호됩니다.
- AWS CLI
- CLI는 명령줄 인터페이스를 의미하며 AWS CLI는 명령줄 셸에서 명령어를 사용하여 AWS 서비스들과 상호작용할 수 있도록 해 주는 도구입니다.
- 모든 명령어가 aws로 시작하기 때문에 CLI를 사용합니다.
- CLI를 사용하면 AWS 서비스의 공용 API로 직접 액세스가 가능합니다.
- CLI를 통해 리소스를 관리하는 스크립트를 개발해 일부 작업을 자동화할 수 있습니다.
- CLI는
오픈 소스로, GitHub에서 모든 소스 코드를 찾으실 수 있으며 AWS 관리 콘솔 대신 사용되기도 합니다.- 컴퓨터에서 설정하고 액세스 키에 의해 보호됩니다.
- 액세스 키란 자격 증명입니다. (뒤에 나옵니다.)
- AWS SDK
- SDK는 소프트웨어 개발 키트입니다.
- 특정 언어로 된 라이브러리의 집합으로 프로그래밍 언어에 따라 개별 SDK가 존재합니다.
- SDK는 터미널 내에서는 사용하는 것이 아니라 코딩을 통해 애플리케이션 내에 심어 두어야 하는 겁니다.
- 애플리케이션 내에 자체적으로 AWS SDK가 있는 것입니다.
- 다양한 프로그래밍 언어를 지원합니다.
- AWS로부터 애플리케이션 코드 내에서 API를 호출하고자 할 때 사용되는 방식입니다.
CLI와 SDK, 두 방식 모두 완전히 동일한 액세스 키로 보호가 됩니다.

AWS 서비스 몇 가지는 우리의 계정에서 실행해야 합니다.
이를 위해서는 사용자와 마찬가지로 어떤 권한이 필요합니다.
따라서 AWS 서비스에 권한을 부여해야 합니다.
그러기 위해서는IAM 역할이라는 것을 만들어야 합니다.
IAM 역할은 사용자와 같지만 실제 사람이 사용하도록 만들어진 것이 아니고 AWS 서비스에 의해 사용되도록 만들어졌습니다.예)
EC2 인스턴스를 만든다면 EC2 인스턴스는 가상 서버입니다. EC2 인스턴스는 AWS에서 어떤 작업을 수행하려고 할 수 있습니다. 그러기 위해서는 EC2 인스턴스에 권한을 부여해야 합니다. 이를 위해 IAM 역할을 만들어 이들을 하나의 개체로 만듭니다. EC2 인스턴스가 AWS에 있는 어떤 정보에 접근하려고 할 때 IAM 역할을 사용하게 될 것입니다.
만약 IAM 역할의 권한을 올바르게 부여한 경우 하려고 하는 호출에 접근하게 될 것입니다.
계정 수준사용자 수준자격 증명 보고서를 만들어 사용자 관련 정보를 볼 수 있고IAM 액세스 관리자를 사용하여 사용자의 최근 권한의 사용 내역을 확인할 수 있습니다