AWS 빌링, 비용 관리, 그리고 계정 콘솔 권한에 대한 변경 사항들
업데이트 출시일: 새로운 IAM Action들을 사용할 수 있는 컷오버 날짜가 기존의 2023년 1월 20일에서 2023년 3월 6일로 변경되었습니다.
AWS는 빌링, 비용 관리 및 계정 콘솔에 대한 AWS IAM(Identity and Access Management) Action 중 aws-portal
라는 작업 접두사(prefix) 와 구매와 주문 서비스 네임스페이스의 purchase-orders:ViewPurchaseOrders
와 purchase-orders:ModifyPurchaseOrders
라는 두 개의 Action들에 대한 지원이 종료될 예정입니다. AWS는 빌링, 비용 관리 및 계정 서비스에 대한 액세스를 보다 효과적으로 제어할 수 있도록 세분화된 서비스별 권한으로 대체될 예정입니다. 또한, 이러한 새 권한들은 AWS 콘솔과 프로그래밍 인터페이스의 액세스 모두를 제어할 수 있도록 단일의 IAM Action 세트를 제공합니다.
이 블로그에서는 꼭 인지하고 계셔야하는 변경 사항들은 무엇인지, 그리고 이에 대비하기 위해 빌링, 비용 관리 및 계정 서비스에 대한 허용/거부 액세스를 지속적으로 컨트롤 하기 위해 IAM 정책 및 권한을 어떻게 수정해야 하는지 공유합니다. 또한 기존 AWS 관리 정책(Managed Policies) 및 마이그레이션 일정에 미치는 영향에 대해서도 설명 드리겠습니다.
배경
현재는 aws-portal
작업 접두사가 있는 IAM Action 들을 사용하여 빌링, 비용 관리 및 계정 콘솔에 대한 액세스를 제어하고 있습니다. 그런 경우 예를 들면, 빌링 보기(aws-portal:ViewBilling
) 및 빌링 수정(aws-portal:ModifyBilling
) 에 대한 액세스만 제공하고 싶다면, 사용자는 AWS Cost Explorer, AWS Budgets, 통합 빌링, 빌링 기본 설정, 크레딧, 세금 설정, 결제 방법, 구매 주문 및 cost allocation tags를 포함한 여러 콘솔 페이지에 대한 액세스 권한까지도 가능하게 됩니다. 즉, 현재는 AWS Cost Explorer에 대한 액세스만 허용해도 사용자는 빌링 페이지에 대한 액세스도 가능합니다. 이러한 제약으로 인해 사용자의 업무 역할에 따라 특정 서비스에 대해서만 액세스할 수 있는 분산형 클라우드 비용 관리 모델을 실행하는데 있어 어려운 부분이 있었습니다. 따라서 많은 AWS 고객분들로부터 빌링, 비용 관리 및 계정 서비스에 대한 액세스를 보다 역할에 따라 더 세밀하게 제어하고 싶은 요구사항이 있었고 앞으로의 새로운 변경 사항은 그런 유연성을 제공하기 위함입니다.
또한, 프로그래밍 인터페이스를 통해 비용, 비용 관리 및 계정 서비스에 대한 액세스 제어한다면 현재는 콘솔과는 다른 IAM Action 세트를 사용해야 합니다. 예를 들어, 콘솔과 Cost Explorer API를 통해 AWS Cost Explorer 대한 액세스를 제공하고 싶은 경우, aws-portal:ViewBilling
과 ce:*
두 가지 IAM Action 에 대해서 사용 권한이 필요합니다. 여기서 공개되는 새로운 변경되는 사항들은 콘솔 및 프로그래밍 인터페이스를 통해 액세스를 제어할 때도 단일 IAM Action 세트를 제공하므로 빌링, 비용 관리 및 계정 서비스에 대한 액세스를 설정하는 것이 더 쉽고 오류도 줄일 수 있을 것으로 기대합니다.
새로운 변경 사항들
AWS는 consolidated billing
, freetier
, invoicing
, 그리고 payments
라는 4개의 새로운 서비스 접두사에 대한 세분화된 IAM Action을 출시합니다. 또한, 기존의 5개의 서비스 접두사들인 billing
, accounts
, cur
, purchase-orders
, 그리고 tax에 대해서는 권한들이 새롭게 추가됩니다.
앞서 말씀드린 바와 같이 aws-portal
서비스 접두사와 그에 속한 모든 Action들 및 purchase-orders:ViewPurchaseOrders
그리고 purchase-orders:ModifyPurchaseOrders
권한들은 지원이 종료될 예정입니다.
이러한 새 IAM Action이 적용되는 시기는 AWS 계정을 생성한 날짜 또는 AWS Organizations을 사용하는 경우 관리 계정을 생성한 날짜에 따라 달라집니다. 자세한 내용은 아래 “권한 마이그레이션 일정” 섹션에서 확인할 수 있습니다.
AWS 관리 정책(Managed Policies) 또는 IAM root 사용자를 사용하여 AWS 빌링, 비용 관리 및 계정 콘솔에 액세스하는 경우라면 AWS가 앞으로 며칠동안 기존 AWS 관리 정책에 대한 업데이트를 진행하기에 별다른 추가 조치가 필요하지 않습니다. 관련 정보는 “기존의 관리 정책(Managed Policies) 업데이트” 섹션에서 확인할 수 있습니다.
새로운 서비스 접두사 및 사용 권한
새로운 서비스 접두사 | 서비스 승인 참조 | 요약 |
consolidatedbilling | link | 계정 역할과 같은 통합 빌링 기능에 대한 액세스 제공 |
freetier | link | AWS 빌링 콘솔에서 Free Tier 기능에 대한 액세스 제공 |
invoicing | link | AWS 빌링의 인보이스관련 리소스에 대한 액세스 제공 |
payments | link | AWS 빌링 콘솔에서 결제 및 결제 방법에 대한 액세스 제공 |
기존 서비스 접두사의 새로운 사용 권한 업데이트
새로운 서비스 접두사 | 서비스 승인 참조 | 요약 |
billing | link | AWS 빌링 콘솔에서 빌링 기능(홈, 빌링, 크레딧, 빌링 기본 설정)에 대한 액세스 |
account | link | AWS 계정 관리 리소스에 대한 액세스 제공 |
cur | link | AWS 빌링 콘솔에서 비용 및 사용량 보고서에 대한 액세스 제공 |
purchase-orders | link | AWS 빌링 콘솔에서 구매 주문 환경에 대한 액세스 제공 |
tax | link | AWS 빌링 콘솔에서 세금설정에 대한 액세스 제공 |
위의 새로운 IAM Action들은 콘솔의 기능들에 대한 액세스 제어를 합니다. 하지만, 향후에는 빌링, 결제, 세금 설정을 위한 새로운 API를 출시하여 현재는 콘솔을 통해서만 액세스할 수 있는 리소스(비용 요약, 청구서, 결제 요약, 거래, 세금 등록 등)들에 대해서 프로그래밍 방식으로도 액세스할 수 있도록 할 예정입니다. 향후 추가 될 API는 오늘 공유되는 새로운 IAM Action들을 사용하여 프로그래밍 방식으로도 액세스가 제어 될 예정입니다.
서비스 접두사 및 사용 권한 지원 종료
새로운 서비스 접두사 | 서비스 승인 참조 | 요약 |
aws-portal | link | 권한 마이그레이션 일정 후, 이 서비스 접두사와 모든 IAM Action 들의 지원이 종료됩니다. |
purchase-orders | link | 권한마이그레이션 일정 후, purchase-orders:ViewPurchaseOrders and purchase-orders:ModifyPurchaseOrders권한의 지원이 종료됩니다.이 두 가지를 대신하여 새롭게 권한을 추가되었습니다. |
권한 마이그레이션 일정
오늘부터 이러한 새로운 IAM Action들을 IAM 식별자들(사용자, 사용자 그룹 또는 역할)과 SCP(Service Control Policies)을 통해 멤버 계정에 권한을 추가할 수 있습니다. 그러나 새로운 IAM Action들이 적용되는 날짜는 아래의 요인에 따라 달라집니다.
2023년 3월 6일 오전 11시 (태평양 표준시) 이후에 생성된 AWS 계정들 또는 AWS Organizations 관리 계정의 경우, IAM 정책 및 SCP에서 세분화된 새로운 IAM Action들을 사용해야 합니다. 이는 몇 분 내에 적용됩니다.
만약, 2023년 3월 6일 오전 11시 (태평양 표준시) 이전에 생성된 AWS 계정들 또는 AWS Organizations관리 계정의 경우, 6개월의 전환 기간이 있으며, 이 기간 동안 AWS가 aws-portal
의 지원이 최종적으로 종료하는 2023년 7월 6일까지 기존 aws-portal
IAM Action들을 계속 사용할 수 있습니다.
AWS는 영향을 받을 수 있는 모든 정책에 대해서 2023년 7월 6일까지 최대한 빨리 새로운 권한들을 업데이트하여 AWS 빌링, 비용 관리 및 계정 콘솔에 대한 액세스를 유지할 수 있도록 권장합니다. 2023년 7월 6일까지는 새로운 권한들은 적용되지 않으므로 기존 IAM Action들과 새로운 IAM Action들을 모두 유지해주시기 자랍니다.
새로운 계정 그룹(2023년 3월 6일(태평양 표준시) 이후에 생성된 계정 또는 AWS Organizations의 관리 계정)
AWS 계정이 2023년 3월 6일 오전 11시 (태평양 표준시) 이후에 생성되었거나 2023년 3월 6일오전 11시 (태평양 표준시) 이후에 생성된 관리 계정을 가진 AWS Organizations에 조인하는 경우, 세분화된 새로운 IAM Action들을 사용해야 합니다.
예를 들어, 사용자에게 AWS Cost Explorer 및 Saving Plans/RI 권장 사항과 같은 비용 관리 서비스에 대한 액세스만 제공하고 청구서 또는 세금 설정에 대한 액세스는 제한하고 싶다고 가정해보겠습니다. 그럼 이제 새로운 세분화된 Action들을 통해 아래와 같이 정책을 구성할 수 있습니다. 자세한 사용 권한들은 AWS 비용 관리 콘솔 사용자 설명서를 참조해주시기 바랍니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "ce:*",
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Deny",
"Action": [
"tax:*",
"billing:*",
"invoicing:*"
],
"Resource": "*"
}
]
}
기존 계정 그룹( 2023년 3월 6일 오전 11시 (태평양 표준시) 이전에 생성된 계정 또는 AWS Organizations의 관리 계정)
계정이 2023년 3월 6일 오전 11시 (태평양 표준시) 이전에 생성되었거나 2023년 3월 6일오전 11시 (태평양 표준시) 이전에 생성된 관리 계정을 가진 AWS Organizations에 조인했을 경우, 아래와 같이 “aws-portal:ViewBilling
” 이란 IAM Action 통해 AWS 빌링 및 비용 관리 콘솔의 보기 액세스를 허용하고 있다고 가정해보겠습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": " VisualEditor0 ",
"Effect": "Allow",
"Action": "aws-portal:ViewBilling",
"Resource": "*"
}
]
}
이 정책을 이제 새로운 Action들로 업데이트해야 합니다. 아래 정책 예제에서는 Sid “These Permissions Will No Effect to Migration” 블록에 새롭게 세분화된 IAM Action 들이 추가된 예입니다. “권한 마이그레이션 일정” 섹션에서 언급한 바와 같이 마이그레이션 기간이 존재하며, 기존 IAM Action들은 변함없이 동작하고 새 IAM Action들은 기존 Action들이 지원이 종료된 후에 적용됩니다. 아래 정책은 2023년 7월 6일까지 콘솔에 대한 액세스를 허용해야 하기 때문에 Sid “ThisPermissionWillProvidingAsNormal” 블록에서 기존 Action들도 포함합니다. “aws-portal:ViewBilling
” 은 2023년 7월 6일 이전까지 빌링 및 비용 관리 서비스에 대한 보기 액세스를 계속 제공합니다. 아래와 같이 업데이트된 정책은 기존 Action들의 지원이 종료가 된 후에도 동일한 액세스를 유지할 수 있도록 해줍니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ThesePermissionsWillHaveNoEffectTillEndOfMigration",
"Effect": "Allow",
"Action": [
"ce:Get*",
"ce:Describe*",
"ce:List*",
"account:GetAccountInformation",
"billing:Get*",
"payments:List*",
"payments:Get*",
"tax:List*",
"tax:Get*",
"consolidatedbilling:Get*",
"consolidatedbilling:List*",
"invoicing:List*",
"invoicing:Get*",
"cur:Get*",
"cur:Validate*",
"freetier:Get*"
],
"Resource": "*"
},
{
"Sid": "ThisPermissionWillContinueProvidingAccessAsNormal",
"Effect": "Allow",
"Action": "aws-portal:ViewBilling",
"Resource": "*"
}
]
}
AWS는 이런 프로세스를 간소화하기 위해 업데이트가 필요한 IAM 정책이 있는지 확인할 수 있도록 “Affected Policies“이라는 툴을 만들었습니다. Affected Policies 콘솔에는 로그인한 계정에 대해서만 업데이트가 필요한 IAM 정책만 표시되며 SCP(Service Control Policies)의 정책에 대해서는 표시되지 않습니다. 업데이트가 필요한 SCP 정책을 보려면 AWS Organizations 콘솔에 로그인해야 합니다.
지금부터는 콘솔에서 기존 IAM Action에서 새로운 세분화된 Action들로 전환하는 방법에 대해 자세히 설명하려 합니다. IAM 정책을 버전 제어를 통해 관리 및 유지하는 경우 변경사항들을 자동화에도 동일하게 적용해야 합니다. 추가 질문이 있는 경우 AWS Support에 문의하십시오.
기존의 AWS 관리 정책(Managed Policies) 업데이트
AWS는 기존의 관리 정책에 대해서도 새 권한을 포함하도록 업데이트할 예정입니다. aws-portal
IAM Action들이 포함된 AWS 관리 정책을 사용할 경우, 2023년 7월 6일까지 작동하므로 기존의 관리 정책을 변경없이 사용할 수 있습니다. 2023년 7월 6일 이후 에는 aws-portal
IAM Action들은 AWS 관리 정책에서 삭제될 예정입니다. 즉, AWS 관리 정책만 사용하는 경우 AWS에서 업데이트를 수행하기때문에 별도의 변경 작업을 수행할 필요가 없습니다.
AWSBillingReadOnlyAccess (arn:aws:iam::aws:policy/AWSBillingReadOnlyAccess)
Billing (arn:aws:iam::aws:policy/job-function/Billing)
ReadOnlyAccess (arn:aws:iam::aws:policy/ReadOnlyAccess)
AWSAccountActivityAccess (arn:aws:iam::aws:policy/AWSAccountActivityAccess)
AWS 는 빌링, 비용 관리 및 계정 서비스에 대한 세분화된 액세스를 제공하기 위해 추가적인 AWS 관리 정책을 출시할 예정입니다.
어떻게 변경해야 하나요?
변경을하기 위해서는 아래 3가지 과정들이 있습니다.
1) 변경 조치가 필요한지 여부를 결정
2) 업데이트해야 하는 정책을 식별
3) 새로운 IAM Action 으로 기존의 정책을 업데이트
계정이 2023년 3월 6일오전 11시 (태평양 표준시) 이전에 생성되었거나 2023년 3월 6일 오전 11시 (태평양 표준시) 이전에 생성된 관리 계정을 가진 AWS Organizations에 조인했을 경우를 중심으로 설명하겠습니다. 2023년 3월 6일 오전 11시 (태평양 표준시) 이후에 생성되는 새로운 계정 또는 AWS Organizations에 대해서는 이미 새로운 IAM Action들을 사용해야 합니다.
1단계: 변경 조치가 필요한지 여부를 결정
아래 IAM Action들이 포함된 정책들은 새로운 IAM Action들로 변경되어야 합니다.
aws-portal:ViewAccount
aws-portal:ViewBilling
aws-portal:ViewPaymentMethods
aws-portal:ViewUsage
aws-portal:ModifyAccount
aws-portal:ModifyBilling
aws-portal:ModifyPaymentMethods
purchase-orders:ViewPurchaseOrders
purchase-orders:ModifyPurchaseOrders
만약, AWS 관리 정책 또는 AWS 계정 루트 사용자 자격 증명을 사용하여 AWS 빌링, 비용 관리 및 계정 콘솔에 액세스하는 경우 AWS가 관리 정책을 업데이트하기 때문에 별도의 작업을 수행할 필요가 없습니다.
예를 들어, 아래와 같이 “aws-portal:ViewBilling
” IAM Action을 사용 중인 “AllowViewAccessToBillingAndCostManagementConsole” 정책이 6명의 IAM 사용자들에게 빌링 보기 권한을 부여했다고 가정해 보겠습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": " VisualEditor0",
"Effect": "Allow",
"Action": "aws-portal:ViewBilling",
"Resource": "*"
}
]
}
2단계: 업데이트해야 하는 정책을 식별
Affected Policies 콘솔을 액세스하기 위해서는 “iam:GetAccountAuthorizationDetails
” IAM Action 이나 시스템 관리자, 관리자 액세스, IAM 전체 액세스 또는 IAM 읽기 전용 액세스 의 AWS 관리 정책이 필요합니다.
2023년 7월 6일에 지원이 종료 될 aws-portal
IAM Action참조하고 있는 모든 IAM 정책들을 Affected Policy 콘솔에서 확인 가능합니다. 또한, 그로 인해 영향을 받는IAM 엔티티(IAM 사용자, 역할 또는 그룹)의 수를 볼 수 있으므로 가장 많은 IAM 엔티티에 할당된 정책에 대해서 우선적으로 업데이트가 가능합니다. 이 툴은 업데이트가 필요한 고객의 관리 정책과 인라인 정책을 모두 표시합니다.
Affected Policy 콘솔에서 1단계에서 예를 들었던 “AllowViewAccessToBillingAndCostManagementConsole” 이 영향을 받는 정책임을 식별하였습니다. 그리고 이 정책이 연결된 IAM 엔티티의 수(이 예에서는 “6”)가 함께 표시되며, Deprecated IAM actions 도 aws-portal:ViewBilling
로 확인할 수 있습니다.
또한, “Export all affected policies ” 기능을 통해 정책의 ARN과 함께 영향을 받는 정책 목록을 다운로드할 수 있습니다.
SCP(Service Control Policies)를 업데이트하기 위해서는 AWS Organizations 콘솔에 로그인해야 하며, 이는 아래 ” SCP(Service Control Policies) 를 새로운 IAM Action들로 업데이트하는 방법” 섹션에 설명되어 있습니다.
3단계: 새로운 IAM Action들로 기존의 정책을 업데이트
영향을 받는 정책 목록에서 정책 이름을 클릭하면 IAM 콘솔에서 IAM 고객 관리 정책 또는 인라인 정책을 업데이트할 수 있습니다. 이는 IAM 정책을 일반적으로 업데이트하는 것과 동일합니다. IAM 정책 편집을 사용하면 정책을 검토 및 편집하여 정책에 정의된 권한을 변경할 수 있습니다. 정책을 새로 변경하기 전에 현재의 기본 정책 버전을 저장하시기 바랍니다. 만약, 변경 사항과 관련된 문제가 발생하는 경우 이전 버전으로 신속하게 되돌릴 수 있습니다.
1단계와 2단계에서 ” AllowViewAccessToBillingAndCost ManagementConsole “이라는 영향 받는 정책을 확인했었습니다. 그 다음으로는 IAM 콘솔로 이동하여 다음과 같이 정책을 변경하여 빌링 및 비용 관리 콘솔에 대한 액세스를 유지할 수 있도록 해야합니다. 여기서 중요한 부분은 기존 계정 그룹의 예이므로 현재 Action들은 그대로 유지하고 새롭게 세분화된 Action을 정책에 추가해야 합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ThesePermissionsWillHaveNoEffectTillEndOfMigration",
"Effect": "Allow",
"Action": [
"ce:Get*",
"ce:Describe*",
"ce:List*",
"account:GetAccountInformation",
"billing:Get*",
"payments:List*",
"payments:Get*",
"tax:List*",
"tax:Get*",
"consolidatedbilling:Get*",
"consolidatedbilling:List*",
"invoicing:List*",
"invoicing:Get*",
"cur:Get*",
"cur:Validate*",
"freetier:Get*"
],
"Resource": "*"
},
{
"Sid": "ThisPermissionWillContinueProvidingAccessAsNormal",
"Effect": "Allow",
"Action": "aws-portal:ViewBilling",
"Resource": "*"
}
]
}
영향을 받는 정책에 새롭게 세분화된 IAM Action을 추가한 후에는 마이그레이션 기간 동안 기존 IAM Action들이 유지되기에 이 정책이 여전히 Affected Policy 콘솔에 계속 표시됩니다. 지원이 종료되는2023년 7월 6일) 후에는기존 IAM Action은 삭제하여 정책 위생 모범 사례를 위해 유지하길 권장하며, 기존 IAM Action이 삭제된 후에는 더 이상 Affected Policy 콘솔에 이 정책이 표시되지 않습니다.
비용, 비용 관리 및 계정 서비스에 대한 세분화된 IAM Action들에 대한 자세한 설명은 빌링 콘솔 및 비용 관리 사용자 가이드를 참조해주시기 바랍니다.
SCP(Service Control Policies) 를 새로운 IAM Action들로 업데이트하는 방법
Service Control Policy (SCP) 는 AWS Organizations에서 모든 기능이 활성화되었을 경우에 사용할 수 있습니다.
- AWS Organizations의 관리 계정에 로그인
- AWS Organizations 콘솔에서 관리 계정에 생성된 SCP 보기
- 왼쪽 탐색 패널에서 “정책”을 클릭하고 “Service control policies”을 선택
- AWS 빌링, 비용 관리 및 계정콘솔에 액세스를 위한 SCP를클릭
- 정책편집 버튼을 클릭하여 SCP를 업데이트
- 새로운 IAM Action을 포함하도록 정책을 업데이트
- 마이그레이션기간동안 액세스를 유지하기위해 기존의 IAM Action도 유지
- 또한 “Targets” 탭에서 SCP가 적용되는 구성원 계정을볼 수 있으므로 가장 많은 구성원 계정에 할당된 SCP에 대한 업데이트의 우선순위를 지정할 수있습니다.
SCP(Service Control Policies)를 업데이트하는 자세한 방법은 AWS Organization 사용 설명서를 참조해주시기 바랍니다.
정리하며
새로운 서비스 네임스페이스 별로 세분화된 권한을 부여함으로써 비용, 비용 관리 및 계정 콘솔에 대한 최소한의 권한 액세스가 가능하게 되었습니다. AWS 빌링, 비용 관리 및 계정 콘솔에 대한 액세스를 유지하고 향상된 액세스 제어 기능의 장점을 최대한 얻으며 위해서 비용 관리 사용자 안내서 및 빌링 콘솔 사용자 안내서를 참조하여 상응한 조치를 취하시길 권장 드립니다. 추가적인 도움이 필요하시면 AWS 담당자 및 AWS Support 팀에 문의해주시기 바랍니다.
이 글은 AWS Blog의 Changes to AWS Billing, Cost Management, and Account Consoles Permissions를 AWS Well-Architected Geo SA 한장환님과 Senior Partner Solutions Architect 권용순님이 한국어로 번역한 글입니다.
Leave a Reply