

# DynamoDB 예약 용량 구매를 방지하는 IAM 정책
<a name="iam-prevent-purchase-reserved-capacity"></a>

Amazon DynamoDB 예약 용량을 구입할 경우 선납금을 1회 지불하고 일정 기간에 대해 최소 사용량 수준에 맞춰 약정 요금을 지불하므로 상당한 비용 절감을 얻을 수 있습니다. AWS Management Console을 사용하여 예약 용량을 확인하고 구매할 수 있습니다. 하지만 조직의 모든 사용자가 예약 용량을 구매할 수 있도록 하고 싶지 않을 수 있습니다. 예약 용량에 대한 자세한 내용은 [Amazon DynamoDB 요금](https://aws.amazon.com/dynamodb/pricing) 단원을 참조하세요.

DynamoDB는 예약 용량 관리에 대한 액세스 권한을 제어하기 위한 다음과 같은 API 작업을 제공합니다.
+ `dynamodb:DescribeReservedCapacity` - 현재 유효한 예약 용량 구매를 반환합니다.
+ `dynamodb:DescribeReservedCapacityOfferings` - 현재 에서 제공하는 예약 용량 계획에 대한 세부 정보를 반환합니다.AWS
+ `dynamodb:PurchaseReservedCapacityOfferings` - 실제 예약 용량 구매를 수행합니다.

AWS Management Console은 이러한 API 작업을 사용하여 예약 용량 정보를 표시하고 예약 용량을 구매합니다. 이러한 작업은 콘솔을 통해서만 액세스할 수 있으므로 애플리케이션 프로그램에서는 호출할 수 없습니다. 하지만 IAM 권한 정책에서 이들 작업에 대한 액세스를 허용 또는 거부할 수 있습니다.

다음 정책을 사용하면 사용자가 AWS Management Console을 사용하여 예약 용량 구매 및 제품을 조회할 수는 있지만, 새로운 구매는 거부됩니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowReservedCapacityDescriptions",
            "Effect": "Allow",
            "Action": [
                "dynamodb:DescribeReservedCapacity",
                "dynamodb:DescribeReservedCapacityOfferings"
            ],
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:*"
        },
        {
            "Sid": "DenyReservedCapacityPurchases",
            "Effect": "Deny",
            "Action": "dynamodb:PurchaseReservedCapacityOfferings",
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:*"
        }
    ]
}
```

------

이 정책에서는 와일드카드 문자(\$1)를 사용하여 모두에 대해 설명 권한을 허용하고, 모두에 대해 DynamoDB 예약 용량 구매를 거부합니다.