AWS의 IAM은 Identity and Access Management의 약어로, 사용자를 생성하고 권한을 부여하여 AWS 리소스에 대한 접근을 효과적으로 제어하는 서비스입니다. 특이하게도 IAM은 전 세계의 모든 AWS 리전에서 사용 가능하며, 글로벌 서비스로 간주됩니다.
IAM에서 권한을 부여하는 데 사용하는 것이 IAM 정책입니다. 이는 JSON(JavaScript Object Notation) 형식으로 작성되며, 특정 작업이나 리소스에 대한 권한을 정의합니다. 아래는 S3 버킷에 대한 읽기 권한을 허용하는 간단한 IAM 정책의 예제입니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
여기서 "Effect"는 허용 여부를 나타내며, "Action"은 수행 가능한 작업을 지정하고, "Resource"는 해당 작업이 허용되는 대상을 나타냅니다.
비밀번호 정책은 사용자들이 안전하고 강력한 비밀번호를 사용하도록 유도하고, 계정의 보안을 강화하기 위한 규칙을 정의합니다. 이는 비밀번호 길이, 대소문자 및 특수문자의 혼용, 주기적인 비밀번호 변경, 이전 비밀번호 재사용 방지 등을 포함할 수 있습니다.
MFA는 사용자 인증에 추가적인 보안 계층을 제공합니다. 이는 두 개 이상의 인증 요소를 사용하여 접근을 허용하며, 비밀번호와 보안 코드, 하드웨어 또는 소프트웨어 토큰, 바이오메트릭 인증 등이 일반적으로 사용됩니다. MFA는 단일 비밀번호만 사용하는 것보다 보안을 크게 향상시키며, 무단 액세스를 방지하는 데 도움이 됩니다.
AWS CloudShell은 웹 브라우저를 통해 인터랙티브한 콘솔 환경을 제공하는 서비스입니다. 사용자는 추가적인 설치 없이 필요한 툴과 환경을 사용할 수 있으며, AWS CLI와 SDK를 사전 설치하여 편리하게 사용할 수 있습니다.
IAM 역할은 일시적으로 다른 AWS 엔터티나 사용자에게 권한을 부여하는 데 사용되는 보안 도구입니다. 역할은 최소 권한 원칙을 따르며, 일시적으로 필요한 권한을 제공하고 보안을 강화합니다.
이러한 IAM 기능은 보안 모델을 향상시키고, 계정의 보안 상태를 모니터링하고 개선하는 데 도움을 줍니다. 정기적으로 IAM Credentials Report를 확인하고 IAM Access Advisor를 통해 권한을 검토하는 것은 보안 최적화를 위해 권장되는 관행입니다.