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를 통해 권한을 검토하는 것은 보안 최적화를 위해 권장되는 관행입니다.