AWS Identity and Access Management(IAM)
AWS Identity and Access Management(IAM)를 사용하면 AWS 서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있습니다.
IAM은 회사의 고유한 운영 및 보안 요구 사항에 따라 액세스 권한을 구성할 수 있는 유연성을 제공합니다. 이 작업을 수행하기 위해 다음과 같은 IAM 기능을 조합하여 사용합니다.
- IAM 사용자, 그룹 및 역할
- IAM 정책
- 다중 인증(MFA)
AWS 계정 루트 사용자
AWS 계정을 처음 만들면 루트 사용자라고 하는 자격 증명으로 시작합니다.
루트 사용자는 AWS 계정을 만들 때 사용한 이메일 주소 및 암호로 로그인하여 액세스합니다. 루트 사용자는 커피숍 점주와 비슷한 것으로 생각할 수 있습니다. 이 사용자는 계정의 모든 AWS 서비스 및 리소스에 대한 전체 액세스 권한을 가집니다.
유의점
일상 작업에는 루트 사용자를 사용하지 마십시오.
대신 루트 사용자를 사용하여 첫 번째 IAM 사용자를 생성하고 이 사용자에게 다른 사용자를 생성할 수 있는 권한을 할당합니다.
계속해서 다른 IAM 사용자를 생성하고 AWS 전체에서 일상 작업을 수행할 때 이러한 자격 증명에 액세스합니다. 루트 사용자만 사용할 수 있는 제한된 종류의 작업을 수행해야 하는 경우에만 루트 사용자를 사용하십시오. 이러한 작업에는 루트 사용자 이메일 주소 변경, AWS Support 플랜 변경 등이 있습니다. 자세한 내용은 AWS 계정 관리 참조 가이드의 ‘루트 사용자 자격 증명’이 필요한 작업을 참조하십시오.
IAM 사용자
IAM 사용자는 사용자가 AWS에서 생성하는 자격 증명입니다. IAM 사용자는 AWS 서비스 및 리소스와 상호 작용하는 사람 또는 애플리케이션을 나타냅니다. 이 사용자는 이름과 자격 증명으로 구성됩니다.
기본적으로 AWS에서 새 IAM 사용자를 생성하면 해당 사용자와 연결된 권한이 없습니다. IAM 사용자가 AWS에서 Amazon EC2 인스턴스 시작, Amazon S3 버킷 생성 등 특정 작업을 수행할 수 있도록 허용하려면 IAM 사용자에게 필요한 권한을 부여해야 합니다.
유의점
AWS에 액세스해야 하는 각 사용자마다 개별 IAM 사용자를 생성하는 것이 좋습니다.
동일한 수준의 액세스가 필요한 직원이 여러 명이라도 각 직원마다 개별 IAM 사용자를 생성해야 합니다. 그러면 각 IAM 사용자가 고유한 보안 자격 증명 집합을 갖도록 허용하여 보안을 강화할 수 있습니다.
IAM 정책
IAM 정책은 AWS 서비스 및 리소스에 대한 권한을 허용하거나 거부하는 문서입니다.
IAM 정책을 사용하면 사용자가 리소스에 액세스할 수 있는 수준을 사용자 지정할 수 있습니다. 예를 들어 사용자가 AWS 계정 내의 모든 Amazon S3 버킷에 액세스하거나 특정 버킷에만 액세스하도록 허용할 수 있습니다.
유의점
권한을 부여할 때 최소 권한 보안 원칙을 따르십시오.
이 원칙을 따르면 사용자 또는 역할이 해당 작업을 수행하는 데 필요한 것보다 많은 권한을 갖는 것을 방지할 수 있습니다.
예를 들어 직원이 특정 버킷에만 액세스해야 하는 경우 IAM 정책에서 해당 버킷을 지정합니다. 이 직원에게 AWS 계정의 모든 버킷에 액세스할 수 있는 권한을 부여하는 대신 이렇게 하십시오.
예시
다음은 IAM 정책이 작동하는 방식의 예입니다. 커피숍 점주가 새로 채용한 계산원을 위해 IAM 사용자를 생성해야 한다고 가정해 보겠습니다. 이 계산원은 ID가 AWSDOC-EXAMPLE-BUCKET인 Amazon S3 버킷에 저장된 영수증에만 액세스하면 됩니다.
이 예제의 IAM 정책은 Amazon S3: ListObject 내에서 특정 작업을 허용합니다. 또한 이 정책에는 특정 버킷 ID: AWSDOC-EXAMPLE-BUCKET도 언급되어 있습니다. 점주가 계산원의 IAM 사용자에 이 정책을 연결하면 해당 계산원은 AWSDOC-EXAMPLE-BUCKET 버킷의 모든 객체를 볼 수 있습니다.
계산원이 AWS에서 다른 서비스에 액세스하여 다른 작업을 수행할 수 있도록 허용하려면 점주는 추가 정책을 연결하여 이러한 서비스 및 작업을 지정해야 합니다.
이제, 커피숍에서 계산원을 몇 명 더 채용했다고 가정하겠습니다. 점주는 개별 IAM 사용자 각각에 권한을 할당하는 대신 사용자를 IAM 그룹에 배치합니다.
IAM 그룹
IAM 그룹은 IAM 사용자의 모음입니다. 그룹에 IAM 정책을 할당하면 해당 그룹의 모든 사용자에게 정책에 지정된 권한이 부여됩니다.
다음은 커피숍에서 이 정책 할당이 작동하는 방식의 예입니다. 점주는 계산원마다 권한을 할당하는 대신 ‘계산원’ IAM 그룹을 생성할 수 있습니다. 그런 다음 이 그룹에 IAM 사용자를 추가하고 그룹 수준에서 권한을 연결할 수 있습니다.
그룹 수준에서 IAM 정책을 할당하면 직원이 직무를 전환하는 경우 권한을 손쉽게 조정할 수 있습니다. 예를 들어 계산원이 인벤토리 담당자가 되는 경우 커피숍 점주는 해당 계산원을 ‘계산원’ IAM 그룹에서 제거하고 ‘인벤토리 전문가’ IAM 그룹에 추가합니다. 그러면 각 직원이 현재 역할에 필요한 권한만 갖게 됩니다.
커피숍 직원이 영구적인 직무 전환 없이 여러 워크스테이션을 순환하는 경우에는 어떻게 될까요? 이 직원은 IAM 역할을 통해 필요한 액세스 권한을 얻을 수 있습니다.
IAM 역할
커피숍에서 한 직원이 하루 종일 여러 워크스테이션을 순환합니다. 커피숍의 인력 상황에 따라 이 직원은 금전 등록기 작업, 인벤토리 시스템 업데이트, 온라인 주문 처리 등 여러 가지 직무를 수행할 수 있습니다.
직원이 다른 직무로 전환해야 할 경우 한 워크스테이션에 대한 액세스 권한을 포기하고 다음 워크스테이션에 액세스할 수 있습니다. 이 직원은 여러 워크스테이션 사이를 쉽게 전환할 수 있지만 특정 시점에서는 단일 워크스테이션에만 액세스할 수 있습니다. 이와 동일한 개념이 IAM 역할을 사용하는 AWS에도 존재합니다.
IAM 역할은 임시로 권한에 액세스하기 위해 수임할 수 있는 자격 증명입니다.
IAM 사용자, 애플리케이션 또는 서비스가 IAM 역할을 수임하려면 먼저 해당 역할로 전환할 수 있는 권한을 부여받아야 합니다. IAM 역할을 수임한다는 것은 이전 역할에 지정된 모든 이전 권한을 포기하고 새 역할에 지정된 권한을 수임하는 것입니다.
유의점
IAM 역할은 서비스 또는 리소스에 대한 액세스 권한을 장기적이 아니라 일시적으로 부여해야 하는 상황에 이상적입니다.
다중 인증(MFA)
신원을 확인하기 위해 여러 가지 정보를 제공하도록 요구하는 웹 사이트에 로그인한 적이 있습니까? 암호를 입력한 다음 휴대폰으로 전송된 난수 코드와 같은 두 번째 인증 형식을 제공해야 할 수도 있습니다. 이것은 다중 인증(MFA)의 예입니다.
IAM에서 다중 인증(MFA)은 AWS 계정에 추가 보안 계층을 제공합니다.
[출처]
AWS Cloud Practitioner Essentials
'자격증 > AWS - CLF' 카테고리의 다른 글
규정 준수 (1) | 2023.11.28 |
---|---|
AWS Organizations (0) | 2023.11.27 |
AWS 공동 책임 모델 (1) | 2023.11.27 |
추가 데이터베이스 서비스 (0) | 2023.11.24 |
AWS Database Migration Service (0) | 2023.11.24 |