Devsecops

IAM(Identity and Access Management) 본문

AWS/IAM

IAM(Identity and Access Management)

Futurism 2023. 1. 23. 23:52
728x90

Identity and Access Management

- 글로벌 서비스

- root계정은 기본적으로 만들어지며 공유되면 안된다

- user는 organization에 있거나 group에 있을 수 있다

- group에 user는 있을 수 있지만 다른 group는 있을 수 없다

- user는 여러 그룹에 속할 수 있다.

- json 문서로 permission이 정의되며 최소 권한 정책을 준수해야 한다

 

IAM 정책은 상속된다

 - 한 사람이 여러 group에 들어가서 여러 permission을 얻을 수 있다

 

Permission Structure

{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E3JAQPUW617MME"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::cloudfront-test-martin/*"
        }
    ]
}

 

Id = 정책 식별자

Statement = 하나 이상의 각각의 표현

Sid = 표현 식별자

Principal = 해당 정책을 적용할 계정, 사용자, 역할(account, user, role)

Effect = Allow, Deny 말곤 없다. 해당 정책을 허용할지 말지 정하는 것

Action = Resource에 대한 행위를 말함, Effect와 연동된다.

Resource = Action 이 적용될 Resource

arn = Amazon Resource Name = Resource 고유 식별자

 

MFA

 - 서로 다른 장치로 계정인증을 하는 것

ex) password + OTP

 

IAM Role

 - 여러 AWS service가 수행하기 위해서는 IAM Role이 필요한다

 - ec2, lambda, cloudformation 등에서 이용이 된다

ex) lambda를 통해서 특정 AWS service에 접근 하는 식으로 사용

 

IAM Security Tool

- IAM Credential Report

  사용자 계정과 자격증명의 목록을 보여준다

- IAM Access Advisor

  사용자에게 부여된 권한과 마지막으로 접근한 사용자 AWS service를 보여준다

 

 

728x90