문제
AWS 루트 사용자로 로그인해 결제 정보를 보려 했더니 아래와 같은 문구들이 뜨며 결제 정보를 볼 수 없었다.
이 계정에 대한 결제 정보에 대한 액세스 권한이 없습니다. 도움이 필요한 경우 AWS 관리자에게 문의하세요. AWS 관리자인 경우 (1) 이 계정이 IAM 및 페더레이션 사용자가 결제 정보에 액세스할 수 있도록 허용하고 (2) 필요한 IAM 권한이 있는지 확인하여 사용자 또는 그룹에 대한 권한을 제공할 수 있습니다.
Access denied
You don’t have permission to [Cost Explorer:Action]. To request access, copy the following text and send it to your AWS administrator. Learn more about troubleshooting access denied errors
ce:GetCostAndUsage에 대한 권한이 없습니다. 액세스를 요청하려면 다음 텍스트를 복사하여 AWS 관리자에게 보내세요. 액세스 거부 오류 해결에 대해 자세히 알아보세요.
사용자: User:
서비스: ce
작업: GetCostAndUsage
리소스: arn:aws:ce:us-east-1:..:/GetCostAndUsage
컨텍스트: with an explicit deny in a service control policy
해결 (with AWS Organization)
루트 사용자로 로그인했을 때 Access Denied 가 뜨는 건 흔한 경우가 아니다.
왜냐하면, 일반적으로 루트 사용자로 로그인한 한 계정은 모든 권한을 갖기 때문이다.
결론만 먼저 말하자면, AWS Organization을 쓰는 경우 마스터 계정이 권한을 다 갖기에 루트 사용자로 로그인한 계정이라도 빌링 정보에 접근을 못할 수도 있다.
나는 AWS Organization를 잘 모르는 상태에서
애꿎은 aws를 탓하면서 내가 루트 사용자니까 관리자인데 누구한테 물어보라는 거야~ 라고 생각했는데,
마스터 계정이란 게 따로 존재했다.
AWS Organization 을 사용할 때 계정 구성에 대해 간략히 언급하고 넘어가자면,
마스터 계정과 멤버 계정이 존재하고 각각의 역할은 아래와 같다.
•
마스터 계정(루트 계정) : aws organiztions를 생성할 때 사용하는 계정으로 organization 내 다른 계정들을 생성,초대,제거할 수 있으며, 조직 내 정책을 관리한다.
•
멤버 계정 : 마스터 계정을 제외한 조직 내의 다른 모든 aws 계정들이다. 각 aws 계정마다 독립된 하나의 루트 사용자가 존재한다.
헷갈릴 수 있는 용어 정리 : 루트 계정 vs 루트 사용자
•
루트 계정 : organization에서 최상위 관리 계정을 의미함
•
루트 사용자로 로그인한 계정 : 특정 aws 계정의 최고 관리자 권한을 가진 상태를 의미함
◦
루트 사용자 : 특정 aws 계정의 최고 관리자를 의미함
나는 위 두 용어가 같은 건줄 알고 헤맸다. 둘은 다르단 걸 알고 넘어가자.