IAM 정책에서 특정 태그가 있는 EC2 작업 제한

3328 단어 EC2IAMAWS

특정 태그가 있는 EC2 작업 제한



네 여러분 안녕하세요

이 기사는 IAM 정책이 EC2 태그를 참조하여 권한을 부여한 사례를 소개합니다.

상세



요건으로서는 이하의 내용이었습니다.
· EC2에 Env 태그(값: dev)가 붙은 것만 조작하고 싶다.
· Env 태그(값: prod)는 조작할 수 없게 한다.
· 태그가 일치하면 AMI와 스냅 샷도 찍고 싶습니다.

환경:
AWS EC2(AmazonLinux2)
콘솔에 로그인하는 사용자의 IAM 정책을 편집하는 동안 확인

최종 설정



필요한 권한을 부여하면서 EC2:*를 허용한다.
게다가 prod 태그를 가지고 있는 EC2의 조작을 거부한다.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Action": [
                "trustedadvisor:*",
                "iam:*",
                "cloudwatch:*",
                "s3:*",
                "logs:*",
                "cloudtrail:*",
                "ec2:*",
                "support:*",
                "inspector:*",
                "directconnect:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "2",
            "Effect": "Deny",
            "Action": [
                "ec2:*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/Env": "prod"
                }
            }
        }
    ]
}

다양한 시도



EC2의 인스턴스 목록에는 prod의 서버도 표시된다 (이것은 어쩔 수 없다)


prod가 들어있는 EC2의 태그를 조작하려고하면 오류가 발생합니다.


prod가 들어있는 EC2를 재부팅하면 오류가 발생합니다.


dev가 들어있는 EC2 재부팅은 OK

dev가 들어있는 EC2의 AMI를 얻을 수 있습니다.


dev가 들어 있는 EC2로 스냅샷도 가능합니다.

주의사항



태그가 붙지 않은 서버도 마찬가지로 조작이 가능합니다.
왜 이렇게 하는가 하면,
AMI나 스냅샷이 생성될 때 태그가 붙어 있지 않기 때문에 에러가 되어 버립니다.
그래서 태그가 없어도 AMI나 스냅샷을 허가할 필요가 있습니다.

스냅샷에 Env:prod 태그를 추가한 후 삭제하려고 하면 예상대로 오류가 발생합니다.


운용으로 반드시 태그를 붙이도록 합시다.

감상



사실은 더 권한을 좁힐 수 있다고 생각합니다만, 이번에는 세세한 제한은 넣지 않았습니다.
(별로 시간이 없었던 것도 있습니다.)
이것 이외에 보다 효율적인 것이 있으면 갱신합니다.

고마워요.

좋은 웹페이지 즐겨찾기