IAM 정책에서 특정 태그가 있는 EC2 작업 제한
특정 태그가 있는 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 태그를 추가한 후 삭제하려고 하면 예상대로 오류가 발생합니다.
운용으로 반드시 태그를 붙이도록 합시다.
감상
사실은 더 권한을 좁힐 수 있다고 생각합니다만, 이번에는 세세한 제한은 넣지 않았습니다.
(별로 시간이 없었던 것도 있습니다.)
이것 이외에 보다 효율적인 것이 있으면 갱신합니다.
고마워요.
Reference
이 문제에 관하여(IAM 정책에서 특정 태그가 있는 EC2 작업 제한), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/26love/items/2e4381fea6d24362b9b9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
요건으로서는 이하의 내용이었습니다.
· 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 태그를 추가한 후 삭제하려고 하면 예상대로 오류가 발생합니다.
운용으로 반드시 태그를 붙이도록 합시다.
감상
사실은 더 권한을 좁힐 수 있다고 생각합니다만, 이번에는 세세한 제한은 넣지 않았습니다.
(별로 시간이 없었던 것도 있습니다.)
이것 이외에 보다 효율적인 것이 있으면 갱신합니다.
고마워요.
Reference
이 문제에 관하여(IAM 정책에서 특정 태그가 있는 EC2 작업 제한), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/26love/items/2e4381fea6d24362b9b9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)