Prerequisite
- IAM에 대한 이해가 필요합니다.
Process
1. IAM 모범 사례 정리
- AWS 계정 루트 사용자 자격 증명 사용 금지
- 개별 IAM 사용자 생성
- 그룹별 정책 적용을 위한 IAM 그룹 사용
- IAM 정책의 조건 적용
- 최소 권한 적용
- AWS 관리형 정책으로 시작하여 최소 권한으로 이동
- 루트를 포함한 모든 사용자에 대한 MFA 활성화
- 정기적으로 자격 증명 교체
- 강력한 암호 정책 구성
- IAM 액세스 키 자격 증명 보다는 임시 자격 증명 사용
- 불필요한 IAM 자격 증명 제거
- 정기적인 자격 증명 교체
- AWS 계정 활동 모니터링
2. 그룹별 정책 적용을 위한 IAM 그룹 사용
-
개별 사용자에게 정책을 적용할 수 있지만, 조직/팀/역할로 IAM 그룹를 나누어 그룹 단위로 정책을 적용하는 것이 좋습니다. 개별 사용자 단위 정책를 관리하는 것 보다 그룹 단위로 관리하는 것이 훨씬 더 수월할 수 있습니다.
3. AWS 관리형 정책으로 시작하여 최소 권한으로 이동
-
최소한의 액세스 권한만 부여하여 사용하는 것이 권장 사항이지만, 서비스 초기에는 어떤 권한이 최소한으로 필요한지 파악하기에는 상당히 어렵습니다.
따라서 초기에는 일반적인 사용 사례에 대한 권한이 부여되어 있는 AWS 관리형 정책으로 시작하고, 이후 권한을 추가로 줄려 나가는 것을 권장합니다.
4. 직무별 AWS 관리형 정책 활용
-
IAM 는 직무 기능별로 10개의 AWS 관리형 정책을 제공합니다.
해당 관리형 정책은 여러 가지 일반 사용 사례를 기반으로 제공되는 관리형 정책입니다.
서비스 초기에 직무별로 팀(그룹)을 나누어 관리할 경우 AWS 관리형 정책도 어떤 정책을 부여해야 할지 파악하기가 어려울 수 있습니다.
직부별 AWS 관리형 정책을 활용하면 초기에 보다 쉽고 안전하게 팀에 필요한 권한을 부여할 수 있습니다.
또한 정책이 필요 사항을 충족하지 못하는 경우 AWS 관리 정책을 정책 구성의 시작점으로 활용할 수 있습니다.
다음은 제공되는 직무 기능별 AWS관리형 정책과 설명입니다.
일부 정책은 사용자가 선택적으로 다른 AWS 서비스에 포함된 기능을 활용할 수 있도록 iam:PassRole 에 대한 액세스 권한을 부여합니다.
이 권한은 역할을 전달하여 사용자를 대신하여 작업을 수행할 권한을 AWS 서비스에 위임 합니다. 필요에 따라 역할을 만들어야 힙니다.
iam:PassRole 로 전달할 수 있는 유효한 역할의 이름이 제한되어 있어, 불필요한 권한을 부여할 가능성이 없습니다.
직무에 관한 AWS 관리형 정책에 대한 보다 자세한 사항은 다음 링크를 참조하세요.
https://aws.amazon.com/ko/blogs/security/how-to-assign-permissions-using-new-aws-managed-policies-for-job-functions/
[IAM] > [Policies] 에서 “AWS managed - job function” 으로 검색하면 직무별 관리 정책들을 확인할 수 있습니다.
5. IAM Access Analyzer를 사용하여 액세스 활동을 기반으로 최소 권한 정책 생성
- IAM Access Analyzer 를 사용하여 AWS CloudTrail 에 기록된 액세스 활동을 기반으로 정책을 생성할 수 있습니다. AWS 관리형 정책을 부여한 이후에 이러한 기능을 활용하여 실제 워크로드 및 사용자에 필요한 권한만 부여할 수 있습니다.
- AWS Management 콘솔을 사용한 역할에 대한 정책 생성 방법
- CloudTrail Trails 설정합니다. (사전 조건) https://smileshark.notion.site/Cloudtrail-Cloudtrail-_ver-1-0-1b94f81999ed4acc99acfe8a14a86941
- IAM 콘솔 매뉴에서 Users 을 선택합니다.
- Permissions 탭에서 Generate policy based on CloudTrail events 섹션의 Generate policy 을 선택합니다 .
- 정책 생성 페이지에서 IAM Access Analyzer 가 수행할 조건 및 역할을 선택하고 정책 생성을 합니다.
Select time period
: CloudTrail 이벤트 분석 기간을 설정합니다. (최대 90일까지 선택 가능)CloudTrail access
: 분석한 CloudTrail 리전 및 추적, 역할을 설정합니다.
- 잠시 후 분석이 완료되면 View generated policy 를 선택합니다. (분석된 정책은 최대 7일 동안 유지됨)
- IAM Access Analyzer 에서 식별한 서비스를 검토하고 다음을 선택합니다. 필요 시 식별된 서비스에 대해 Action 를 추가할 수 있습니다.
- 다음과 같이 리소스 수준 권한을 지원하는 작업에 대한 리소스 ARN 를 지정하고 정책 템플릿을 업데이트 합니다.
- 생성할 정책의 내용을 Review 하고 Create and attach policy 로 정책을 생성합니다.
- 생성된 정책 확인합니다.
- 다음 링크를 참조하면 보다 자세한 사항을 확인할 수 있습니다.
https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html
- AWS Management 콘솔을 사용한 역할에 대한 정책 생성 방법
5. 루트를 포함한 모든 사용자에 대한 MFA 활성화
-
보안 강화를 위해 MFA(Multi-Factor Authentication)를 구성하는 것이 좋습니다. AWS 계정 루트 사용자 및 IAM 사용자에 대해 MFA를 활성화할 수 있습니다.
MFA를 활성화하면 사용자의 암호가 노출되더라도 추가 인증 요구 사항으로 인해 계정 리소스를 안전하게 보호할 수 있습니다.
- MFA 설정 가이드
- AWS Multi-Factor Authentication
- 보안 자격 증명
- Google OTP 설치
- *MFA 코드 1번 입력 후, 1분 후 생성된 코드를 MFA 코드 2번에 입력해주시면 됩니다.
- *MFA 코드 1번 입력 후, 1분 후 생성된 코드를 MFA 코드 2번에 입력해주시면 됩니다.
- AWS Multi-Factor Authentication
- MFA 설정 가이드
6. 강력한 암호 정책 구성
- 사용자가 자신의 비밀번호를 변경할 수 있도록 허용하는 경우 강력한 비밀번호를 생성하고 주기적으로 비밀번호를 갱신하도록 요구하는 사용자 정의 비밀번호 정책을 설정하시는 것이 좋습니다.
- [IAM] > [Account Setting] 에서 비밀번호 정책을 설정할 수 있습니다.
7. AWS 계정 활동 모니터링
-
AWS는 CloudFront, CloudTrail, CloudWatch, Config, S3 등 여러 서비스에서 로깅 기능을 제공합니다.
AWS의 로깅 기능을 사용하여 사용자가 계정에서 수행한 작업과 사용된 리소스를 확인할 수 있습니다.
이러한 로그 서비스를 활용하여 사용자의 활동 이력 모니터링하고, 과잉으로 부여된 정책이나 보안 관련 설정등을 검증하고 유지해야 합니다.
- 활동 모니터링에 도움이 될 수 있는 AWS 서비스
- AWS CloudTrail: 사용자, 역할 또는 AWS 서비스가 수행하는 모든 작업의 이벤트는 CloudTrail 로 기록됩니다.
- AWS GuardDuty: 악의적인 활동에 대해 AWS 계정 및 워크로드를 지속적으로 모니터링하고 가시성 및 해결을 위해 자세한 보안 결과를 제공하는 위협 탐지 서비스입니다.
- AWS Config: AWS 리소스의 구성을 평가, 감사 및 평가할 수 있는 서비스입니다.
※스마일샤크가 제공하는 모든 콘텐츠는 관련 법의 보호를 받습니다. 스마일샤크 콘텐츠를 사전허가 없이 무단으로 복사·배포·판매·전시·개작할 경우 민·형사상 책임이 따를 수 있습니다. 콘텐츠 사용과 관련해 궁금한 점이 있으면 전화(☎:0507-1485-2028) 또는 이메일(contact@smileshark.kr)로 문의하기 바랍니다.
댓글
댓글 0개
댓글을 남기려면 로그인하세요.