

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 리소스당 정책 크기
<a name="policy-size-per-resource"></a>

Verified Permissions는 동일한 리소스를 참조하는 모든 정책의 총 크기를 제한합니다. 이 제한은 *리소스 할당량당 정책 크기*이며 기본값은 200,000바이트입니다. `CreatePolicy` 또는를 호출하면 `UpdatePolicy`Verified Permissions가 참조된 리소스의 새 합계를 계산합니다. 새 합계가 할당량을 초과하면 요청이와 함께 실패합니다`ServiceQuotaExceededException`.

리소스를 지정하지 않는 정책은 모든 리소스에 적용됩니다. 이러한 정책은 `"unspecified"` 리소스에 대해 동일한 할당량 값으로 제한된 별도의 합계를 공유합니다.

모든 Verified Permissions 할당량 목록은 섹션을 참조하세요[Amazon Verified Permissions 할당량](quotas.md).

**Topics**
+ [정책 크기 계산 방법](#policy-size-per-resource-calculation)
+ [할당량 내에서 유지](#policy-size-per-resource-manage)
+ [템플릿 연결 정책 크기 예제](#policy-size-per-resource-example)

## 정책 크기 계산 방법
<a name="policy-size-per-resource-calculation"></a>

각 정책은 다음과 같이 리소스의 합계에 기여합니다.
+ **정적 정책** - 정적 정책은 전체 크기를 제공합니다. 이는 *정책 크기* 할당량에 대해 측정되는 값과 동일합니다.
+ **템플릿 연결 정책** - 템플릿 연결 정책은 이를 인스턴스화하는 데 사용되는 보안 주체와 리소스의 결합된 길이를 제공합니다. 보안 주체 또는 리소스를 지정하지 않으면 해당 길이는 0으로 계산됩니다. 정책 템플릿 본문 자체의 크기는이 할당량에 포함되지 않습니다.

또한 각 정책은 총계에 최대 수백 바이트의 고정 오버헤드를 추가합니다. 템플릿 연결 정책은 정적 정책보다 더 많은 오버헤드를 추가합니다.

## 할당량 내에서 유지
<a name="policy-size-per-resource-manage"></a>

애플리케이션이 *리소스 할당량당 정책 크기*에 가까워지면 다음 전략을 고려하세요.
+ **적절한 정책 유형을 사용합니다.** 많은 정책이 동일한 리소스에 대해 유사한 권한을 부여하는 경우 정책 템플릿은 정책 스토어의 스토리지 소비를 줄일 수 있습니다. 각 템플릿 연결 정책은 보안 주체와 리소스만 저장합니다. 정책 템플릿은 공유 문을 한 번 저장하지만 연결된 각 정책에는 고정된 스토리지 오버헤드도 포함됩니다. 템플릿은 공유 문이 해당 오버헤드를 상쇄할 만큼 충분히 크거나 약 200바이트 이상인 경우에만 비용을 지불합니다. 이 임계값 미만에서는 개별 정적 정책이 공간을 적게 사용합니다. 자세한 내용은 [Amazon Verified Permissions 정책 템플릿 및 템플릿 연결 정책](policy-templates.md) 단원을 참조하십시오.
+ **정책 범위에서 보안 주체와 리소스를 지정합니다.** 리소스를 지정하지 않는 정책은 정책 스토어 전체에서 `"unspecified"` 리소스에 대한 단일 합계를 공유합니다. 각 정책을 특정 리소스로 범위 지정하면 각 리소스에 대해 하나씩 정책을 별도의 합계로 분산합니다.
+ **보안 주체와 리소스를 그룹화합니다.** 각 보안 주체에 대한 정책을 작성하는 대신 그룹에 대한 정책을 작성하고 보안 주체를 그룹에 추가합니다. 리소스를 컨테이너로 그룹화하면 단일 리소스를 참조하는 정책 수를 비슷하게 줄일 수 있습니다.
+ **할당량 증가를 요청하십시오**. 정책 설계가 특정 제약 조건을 충족하는 경우이 할당량 증가를 요청할 수 있습니다. 자격을 갖추려면 정책 범위에 보안 주체 또는 리소스를 지정해야 합니다. 또한 증가하면 보안 주체와 리소스가 가질 수 있는 계층 상위 항목 수를 줄일 수 있습니다. 할당량이 증가하더라도 200,000바이트 하위 제한은 동일한 보안 주체와 동일한 리소스를 참조하는 정책에 계속 적용됩니다. 이 하위 제한에 대한 증가를 요청할 수 없습니다.

## 템플릿 연결 정책 크기 예제
<a name="policy-size-per-resource-example"></a>

템플릿 연결 정책이 *리소스당 정책* 크기 할당량에 어떻게 기여하는지 확인하려면 보안 주체의 길이와 리소스의 길이를 추가합니다. 리소스를 지정하지 않으면 Verified Permissions는 해당 크기를 `"unspecified"` 리소스 합계에 가산합니다.

다음 템플릿을 검토합니다.

```
permit (
  principal in ?principal,
  action in
    [MyApplication::Action::"ContentManagement",
     MyApplication::Action::"AccountAdministration",
     MyApplication::Action::"BillingOperations"],
  resource in ?resource
)
when {
  resource has authorizedTenantIds &&
  principal has tenantId &&
  resource.authorizedTenantIds.contains(principal.tenantId)
};
```

해당 템플릿에서 다음 정책을 생성합니다.

```
TemplateLinkedPolicy {
  policyId: "policy1",
  templateId: "template1",
  principal: User::"alice",
  resource: Photo::"car.jpg"
}

TemplateLinkedPolicy {
  policyId: "policy2",
  templateId: "template1",
  principal: User::"bob",
  resource: Photo::"boat.jpg"
}

TemplateLinkedPolicy {
  policyId: "policy3",
  templateId: "template1",
  principal: User::"jane",
  resource: Photo::"car.jpg"
}

TemplateLinkedPolicy {
  policyId: "policy4",
  templateId: "template1",
  principal: User::"jane",
  resource
}
```

각각에 `resource` 대해 `principal` 및의 바이트 수를 계산하여 해당 정책의 크기를 계산합니다. Verified Permissions는 UTF-8 바이트 단위로 크기를 측정합니다. 인쇄 가능한 ASCII 범위의 문자는 각각 1바이트로 계산되지만 다른 문자는 더 많이 사용할 수 있습니다. 다음 예제에서는 ASCII 문자만 사용하므로 각 문자는 1바이트로 계산됩니다. 이러한 계산은 고정 오버헤드를 제외합니다. 실제 합계는 더 높습니다.

의 크기는 보안 주체의 `policy1` 길이`User::"alice"`(13)와 리소스의 길이`Photo::"car.jpg"`(16)입니다. 합계는 13 \+ 16 = 29바이트입니다.

의 크기는 보안 주체`User::"bob"`(11)의 `policy2` 길이와 리소스`Photo::"boat.jpg"`(17)의 길이입니다. 합계는 11 \+ 17 = 28바이트입니다.

의 크기는 보안 주체의 `policy3` 길이`User::"jane"`(12)와 리소스의 길이`Photo::"car.jpg"`(16)입니다. 합계는 12 \+ 16 = 28바이트입니다.

의 크기는 보안 주체의 길이`User::"jane"`(12)에 리소스의 길이(0)를 더한 값`policy4`입니다. 합계는 12 \+ 0 = 12바이트입니다.

`policy2`는 리소스를 참조하는 유일한 정책이므로 `Photo::"boat.jpg"`총 리소스 크기는 28바이트입니다.

`policy1` 및 `policy3` 둘 다 리소스를 참조하기 때문에 `Photo::"car.jpg"`총 리소스 크기는 29 \+ 28 = 57바이트입니다.

`policy4`는 `"unspecified"` 리소스를 참조하는 유일한 정책이므로 총 리소스 크기는 12바이트입니다.