IAM의 policy에 관해서는 이 블로그에 정말 정리가 잘 되어 있다. 꼭 읽어보도록 하자.
이 블로그엔 내가 찾던 AWS에 대한 모든 정보들이 담겨 있는 것 같다. 정말 감사하다ㅠㅠ
대부분의 정보는 위의 블로그에 담겨 있고, 조금 더 설명해야 할 부분들을 추가하였다.
Policy
결국 Policy 라는게, 어떤 정책을 의미하는건데, 가지고 있는 자원에 대한 접근 권한을 지정해 주는 것을 의미한다.
일반적으로 루트 사용자는 모든 권한을 가지고 있는데, 이 사용자의 API Key를 생성한 후 이게 유출 된다면 정말로 큰일날 지도 모른다. 모든 자원에 대한 접근 권한이 있으니, 무분별한 사용자가 인스턴스를 마구 만들어버리면 전 재산이 털리게 될 수도 있다.
그렇기 때문에, 해당 루트 사용자가 관리하는 IAM 사용자와 그룹을 만든 후, 해당 사용자와 그룹이 접근 할 수 있는 리소스의 범위와 활동을 제한하여 사용하는 것이다.
Action
각 자원들에 대해 수행할 수 있는 작업들을 의미하는데, 결국엔 이것들을 제어 해 주어야 한다.
https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/dev/using-with-s3-actions.html
위 링크는 S3 버킷에 대해 수행할 수 있는 작업의 목록을 담고 있는데,
이러한 작업들을 어떤 계정은 쓸 수 있게 하고, 어떤 계정은 쓰지 못하게 하는 것이 목적이다.
예시
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadOnlyPermissions",
"Effect": "Allow",
"Action": [
"lambda:GetAccountSettings",
"lambda:ListFunctions",
"lambda:ListTags",
"lambda:GetEventSourceMapping",
"lambda:ListEventSourceMappings",
"iam:ListRoles"
],
"Resource": "arn:aws:lambda:::*"
},
{
"Sid": "S3Permissions",
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"],
"Resource": "arn:aws:s3:::버킷/*"
}
]
}
version, sid, effect, resource에 대한 정보는 링크의 글에 잘 정리되어 있다.
Group의 Policy를 지정할 때 사용하였는데, 해당 그룹의 사용자에겐 이 규칙이 적용되는 것이다.
Effect가 Allow 로 작성된 것은, 밑의 Action들을 허용한다는 뜻이고, 그 밑의 Resource에 작성된 영역의 리소스들에 대해 액션들을 허용한다는 뜻이다.
두번째 Sid가 S3Permissions 인 Statement가 의미하는 바는, s3의 '버킷'이라는 이름의 버킷의 하위 디렉토리의 모든 자원들에 대해서 Get, Put, Delete 요청을 모두 수행할 수 있게끔 하겠다는 뜻이 된다. 그럼 Group에 해당하는 모든 사용자가 위 기능들을 수행할 수 있는 것이다.
'CI & CD > AWS' 카테고리의 다른 글
AWS CLI에 익숙해지기 (2) iam 계정 및 그룹, 정책 적용 (0) | 2020.01.08 |
---|---|
AWS CLI에 익숙해지기 (1) aws configure 설정 (0) | 2020.01.08 |
AWS EC2 인스턴스 띄우고 사용하기 (0) | 2019.11.10 |
댓글