

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

# EC2 정책 구문 및 예제
<a name="orgs_manage_policies_ec2_syntax"></a>

이 페이지에서는 EC2 정책 구문을 설명하고 예제를 제공합니다.

## 고려 사항
<a name="ec2-policy-syntax-considerations"></a>
+ EC2 정책을 사용하여 서비스 속성을 구성하면 여러 APIs. 규정을 준수하지 않는 작업은 모두 실패합니다.
+ 계정 관리자는 개별 계정 수준에서 서비스 속성의 값을 수정할 수 없습니다.

## EC2 정책에 대한 구문
<a name="ec2-policy-syntax-reference"></a>

EC2 정책은 [JSON](http://json.org) 규칙에 따라 구조화된 일반 텍스트 파일입니다. EC2 정책의 구문은 모든 선언적 정책 유형에 대한 구문을 따릅니다. 해당 구문에 대한 전체 설명은 [선언적 정책 유형에 대한 정책 구문 및 상속을 참조하세요](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_inheritance_mgmt.html). 이 주제에서는 EC2 정책 유형의 특정 요구 사항에 해당 일반 구문을 적용하는 데 중점을 둡니다.

다음 예제에서는 기본 EC2 정책 구문을 보여줍니다.

```
{
  "ec2_attributes": {
    "exception_message": {
      "@@assign": "Your custom error message.https://myURL"
    }
  }
}
```
+ `ec2_attributes` 필드 키 이름입니다. 선언적 정책은 항상 지정된의 고정 키 이름으로 시작합니다 AWS 서비스. 위의 예제 정책에서 맨 위 줄입니다.
+ `ec2_attributes`에서 `exception_message`를 사용하여 사용자 지정 오류 메시지를 설정할 수 있습니다. 자세한 내용은 [ EC2 정책에 대한 사용자 지정 오류 메시지를](orgs_manage_policies_ec2.md#orgs_manage_policies_ec2-custom-message) 참조하세요.
+ 에서 지원되는 EC2 정책을 하나 이상 삽입`ec2_attributes`할 수 있습니다. 이러한 스키마는 [지원되는 EC2 정책](#ec2-policy-examples) 섹션을 참조하세요.

## 지원되는 EC2 정책
<a name="ec2-policy-examples"></a>

다음은 EC2 정책이 지원하는 AWS 서비스 및 속성입니다. 다음 예제 중 일부에서는 공간을 절약하기 위해 JSON 공백 서식이 압축되었을 수 있습니다.
+ VPC 퍼블릭 액세스 차단
+ 직렬 콘솔 액세스
+ 이미지 퍼블릭 액세스 차단
+ 허용된 이미지 설정
+ 인스턴스 메타데이터
+ 스냅샷 퍼블릭 액세스 차단

------
#### [ VPC Block Public Access ]

**정책 효과**

Amazon VPC 및 서브넷 내 리소스가 인터넷 게이트웨이(IGW)를 통해 인터넷에 접근할 수 있는지 제어합니다. 자세한 내용은 *Amazon Virtual Private Cloud 사용 설명서*의 [인터넷 액세스 구성](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-igw-internet-access.html)을 참조하세요.

**정책 내용**

```
{
  "ec2_attributes": {
    "vpc_block_public_access": {
      "internet_gateway_block": {
        "mode": {
          "@@assign": "block_ingress"
        },
        "exclusions_allowed": {
          "@@assign": "enabled"
        }
      }
    }
  }
}
```

다음은 이 속성에 사용할 수 있는 필드입니다.
+ `"internet_gateway"`:
  + `"mode"`:
    + `"off"`: VPC BPA가 활성화되지 않았습니다.
    + `"block_ingress"`: VPC에 대한 모든 인터넷 트래픽(제외된 VPC 또는 서브넷 제외)이 차단되었습니다. NAT 게이트웨이 및 송신 전용 인터넷 게이트웨이를 오가는 트래픽만 허용되는데, 이러한 게이트웨이는 아웃바운드 연결만 설정되도록 허용하기 때문입니다.
    + `"block_bidirectional"`: 인터넷 게이트웨이 및 송신 전용 인터넷 게이트웨이(제외된 VPC 및 서브넷 제외)를 오가는 모든 트래픽이 차단되었습니다.
+ `"exclusions_allowed"`: 제외 항목은 계정의 VPC BPA 모드에서는 제외하고 양방향 또는 송신 전용 액세스를 허용하는 단일 VPC 또는 서브넷에 적용할 수 있는 모드입니다.
  + `"enabled"`: 계정에서 제외를 생성할 수 있습니다.
  + `"disabled"`: 계정에서 제외를 생성할 수 없습니다.
**참고**  
속성을 사용하여 제외가 허용되는지 여부를 구성할 수 있지만 이 속성 자체로는 제외를 생성할 수 없습니다. 제외를 생성하려면 VPC를 소유한 계정에서 해당 제외를 생성해야 합니다. VPC BPA 제외 생성에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [제외 생성 및 삭제](https://docs.aws.amazon.com//vpc/latest/userguide/security-vpc-bpa.html#security-vpc-bpa-exclusions) 섹션을 참조하세요.

**고려 사항**

EC2 정책에서이 속성을 사용하는 경우 다음 작업을 사용하여 범위 내 계정에 적용되는 구성을 수정할 수 없습니다. 단, 이 목록이 전부는 아닙니다.
+ `ModifyVpcBlockPublicAccessOptions`
+ `CreateVpcBlockPublicAccessExclusion`
+ `ModifyVpcBlockPublicAccessExclusion`

------
#### [ Serial Console Access ]

**정책 효과**

EC2 직렬 콘솔에 액세스할 수 있는지 여부를 제어합니다. EC2 직렬 콘솔에 대한 자세한 내용은 *Amazon Elastic Compute Cloud 사용 설명서*의 [EC2 직렬 콘솔](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-serial-console.html)을 참조하세요.

**정책 내용**

```
{
  "ec2_attributes": {
    "serial_console_access": {
      "status": {
        "@@assign": "enabled"
      }
    }
  }
}
```

다음은 이 속성에 사용할 수 있는 필드입니다.
+ `"status"`:
  + `"enabled"`: EC2 직렬 콘솔 액세스가 허용됩니다.
  + `"disabled"`: EC2 직렬 콘솔 액세스가 차단됩니다.

**고려 사항**

EC2 정책에서이 속성을 사용하는 경우 다음 작업을 사용하여 범위 내 계정에 적용되는 구성을 수정할 수 없습니다. 단, 이 목록이 전부는 아닙니다.
+ `EnableSerialConsoleAccess`
+ `DisableSerialConsoleAccess`

------
#### [ Image Block Public Access ]

**정책 효과**

Amazon Machine Images(AMI)를 공개적으로 공유 가능한지 여부를 제어합니다. AMI에 대한 자세한 정보는 *Amazon Elastic Compute Cloud 사용 설명서*의 [Amazon Machine Image(AMI)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) 섹션을 참조하세요.

**정책 내용**

```
{
  "ec2_attributes": {
    "image_block_public_access": {
      "state": {
        "@@assign": "block_new_sharing"
      }
    }
  }
}
```

다음은 이 속성에 사용할 수 있는 필드입니다.
+ `"state"`:
  + `"unblocked"`: AMI의 퍼블릭 공유에는 제한이 없습니다.
  + `"block_new_sharing"`: AMI의 새 퍼블릭 공유를 차단합니다. 그러나 이미 공개적으로 공유된 AMI는 계속 공개적으로 사용할 수 있습니다.

**고려 사항**

EC2 정책에서이 속성을 사용하는 경우 다음 작업을 사용하여 범위 내 계정에 적용되는 구성을 수정할 수 없습니다. 단, 이 목록이 전부는 아닙니다.
+ `EnableImageBlockPublicAccess`
+ `DisableImageBlockPublicAccess`

------
#### [ Allowed Images Settings ]

**정책 효과**

허용된 AMI를 통해 Amazon EC2에서 Amazon Machine Image(AMI)의 검색 및 사용을 제어합니다. AMI에 대한 자세한 내용은 *Amazon Elastic Compute Cloud 사용 설명서*의 [허용된 AMI를 사용하여 Amazon EC2에서 AMI 검색 및 사용 제어](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-allowed-amis.html)를 참조하세요.

**정책 내용**

다음은 이 속성에 사용할 수 있는 필드입니다.

```
{
  "ec2_attributes": {
    "allowed_images_settings": {
      "state": {
        "@@assign": "enabled"
      },
      "image_criteria": {
        "criteria_1": {
          "marketplace_product_codes": {
            "@@append": [
              "abcdefg1234567890"
            ]
          }
        },
        "criteria_2": {
          "allowed_image_providers": {
            "@@append": [
              "123456789012",
              "123456789013"
            ]
          },
          "creation_date_condition": {
            "maximum_days_since_created": {
              "@@assign": 300
            }
          }
        },
        "criteria_3": {
          "allowed_image_providers": {
            "@@assign": [
              "123456789014"
            ]
          },
          "image_names": {
            "@@assign": [
              "golden-ami-*"
            ]
          }
        },
        "criteria_4": {
          "allowed_image_providers": {
            "@@assign": [
              "amazon"
            ]
          },
          "deprecation_time_condition": {
            "maximum_days_since_deprecated": {
              "@@assign": 0
            }
          }
        },
        "criteria_5": {
          "image_watermarks": {
            "image_watermark_1": {
              "watermark_key": {
                "@@assign": "123456789015:approved-production-*"
              },
              "source_image_region": {
                "@@assign": "us-east-1"
              },
              "maximum_days_since_source_image_created": {
                "@@assign": 365
              },
              "maximum_days_since_watermark_created": {
                "@@assign": 90
              }
            },
            "image_watermark_2": {
              "watermark_key": {
                "@@assign": "123456789016:security-scanned"
              }
            }
          }
        }
      }
    }
  }
}
```
+ `"state"` (필수):
  + `"enabled"`: 속성이 활성 상태이고 적용됩니다.
  + `"disabled"`: 속성이 비활성 상태이며 적용되지 않습니다.
  + `"audit_mode"`: 속성이 감사 모드입니다. 즉, 규정을 준수하지 않는 이미지를 식별하지만 사용을 차단하지는 않습니다.
+ `"image_criteria"` (선택 사항): 기준 목록입니다. criteria\_1에서 criteria\_10까지의 이름으로 최대 10개의 기준을 지원합니다. 각 기준에는 다음 필터 중 하나 이상이 포함될 수 있습니다.
  + `"allowed_image_providers"`: 최대 200개의 항목 목록입니다. 각 항목은 12자리 계정 ID 또는 `amazon`, `aws_marketplace`또는의 소유자 별칭입니다`aws_backup_vault`.
  + `"image_names"`: 최대 50개의 허용되는 이미지 이름 목록입니다. 이름에는 와일드카드(`?` 및 )가 포함될 수 있습니다`*`. 길이는 1\~128자입니다. `?`의 경우 최소값은 3자입니다.
  + `"marketplace_product_codes"`: 허용되는 이미지에 대한 최대 50개의 AWS Marketplace 제품 코드 목록입니다. 길이: 1\~25자. 유효한 문자: 문자(A\~Z, a\~z) 및 숫자(0\~9).
  + `"creation_date_condition"`: 허용되는 이미지의 최대 경과 기간입니다.
    + `"maximum_days_since_created"`: 이미지가 생성된 이후 경과한 최대 일수입니다. 유효한 범위: 0\~2147483647.
  + `"deprecation_time_condition"`: 허용되는 이미지의 사용 중단 이후 최대 경과 기간입니다.
    + `"maximum_days_since_deprecated"`: 이미지의 사용 중단 이후 경과한 최대 일수입니다. 유효한 범위: 0\~2147483647.
  + `"image_watermarks"`: 이미지가 일치해야 하는 워터마크 필터 모음입니다. 각 필터의 이름은 `image_watermark_1`를 통해 지정됩니다`image_watermark_50`. 이미지의 워터마크와 일치하는 필터가 있으면 이미지가 전달됩니다. 필터 내에서 지정된 모든 필드는 동일한 워터마크와 일치해야 합니다. 기준당 최대 50개의 필터.

    각 필터 내의 필드:
    + `"watermark_key"` (필수): 형식의 워터마크 키입니다`<account-id>:<watermark-name>`. 계정 ID 부분은 정확히 12자리 AWS 계정 ID이거나 와일드카드(`*` 및 )를 사용하는 패턴일 수 있습니다`?`. 워터마크 이름은 3\~128자여야 합니다. 와일드카드(`*` 및 `?`)를 지원합니다. 유효한 문자: 문자(A\~Z, a\~z), 숫자(0\~9), 공백 및 `() []. / - ' @ _`.
    + `"source_image_region"` (선택 사항): 워터마크가 원래 생성된 AWS 리전입니다. 와일드카드(`*` 및 `?`)를 지원합니다.
    + `"maximum_days_since_source_image_created"` (선택 사항): 소스 이미지가 생성된 이후 경과한 최대 일수입니다. 유효한 범위: 0\~2147483647.
    + `"maximum_days_since_watermark_created"` (선택 사항): 워터마크가 연결된 이후 경과한 최대 일수입니다. 유효한 범위: 0\~2147483647.

**고려 사항**

EC2 정책에서이 속성을 사용하는 경우 다음 작업을 사용하여 범위 내 계정에 적용되는 구성을 수정할 수 없습니다. 단, 이 목록이 전부는 아닙니다.
+ `EnableAllowedImagesSettings`
+ `ReplaceImageCriteriaInAllowedImagesSettings`
+ `DisableAllowedImagesSettings`

------
#### [ Instance Metadata ]

**정책 효과**

모든 새 EC2 인스턴스 시작에 대한 IMDS 기본값 및 IMDSv2 적용을 제어합니다. EC2 IMDS 기본값 및 IMDSv2 적용에 대한 자세한 내용은 Amazon [ EC2 사용 설명서의 인스턴스 메타데이터를 사용하여 EC2 인스턴스 관리를 참조하세요](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). *Amazon EC2 *

**정책 내용**

다음은 이 속성에 사용할 수 있는 필드입니다.

```
{
  "ec2_attributes": {
    "instance_metadata_defaults": {
      "http_tokens": {
        "@@assign": "required"
      },
      "http_put_response_hop_limit": {
        "@@assign": "4"
      },
      "http_endpoint": {
        "@@assign": "enabled"
      },
      "instance_metadata_tags": {
        "@@assign": "enabled"
      },
      "http_tokens_enforced": {
        "@@assign": "enabled"
      }
    }
  }
}
```
+ `"http_tokens"`:
  + `"no_preference"`: 다른 기본값이 적용됩니다. 예를 들어, 해당되는 경우 AMI가 기본값으로 설정됩니다.
  + `"required"`: IMDSv2를 사용해야 합니다. IMDSv1은 허용되지 않습니다.
  + `"optional"`: IMDSv1과 IMDSv2가 모두 허용됩니다.
**참고**  
**메타데이터 버전**  
`http_tokens`을 `required`(IMDSv2를 사용해야 함)로 설정하기 전에 IMDSv1 호출을 수행하는 인스턴스가 없는지 확인합니다. 자세한 내용은 *Amazon EC2*[2 사용 설명서의 1단계: IMDSv2=선택 사항으로 인스턴스 식별 및 IMDSv1 사용량 감사를](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-transition-to-version-2.html#path-step-1) 참조하세요.
+ `"http_put_response_hop_limit"`:
  + `"{{Integer}}"`: -1부터 64까지의 정수 값으로, 메타데이터 토큰이 이동할 수 있는 최대 홉 수를 나타냅니다. 기본 설정이 없음을 표시하려면 -1을 지정하십시오.
**참고**  
**홉 제한**  
`http_tokens`이 `required`로 설정된 경우 `http_put_response_hop_limit`를 최소 2로 설정하는 것이 좋습니다. 자세한 내용을 알아보려면 *Amazon Elastic Compute Cloud 사용 설명서*의 [인스턴스 메타데이터 액세스 고려 사항](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html#imds-considerations)을 참조하세요.
+ `"http_endpoint"`:
  + `"no_preference"`: 다른 기본값이 적용됩니다. 예를 들어, 해당되는 경우 AMI가 기본값으로 설정됩니다.
  + `"enabled"`: 인스턴스 메타데이터 서비스의 엔드포인트에 액세스할 수 있습니다.
  + `"disabled"`: 인스턴스 메타데이터 서비스의 엔드포인트에 액세스할 수 없습니다.
+ `"instance_metadata_tags"`:
  + `"no_preference"`: 다른 기본값이 적용됩니다. 예를 들어, 해당되는 경우 AMI가 기본값으로 설정됩니다.
  + `"enabled"`: 인스턴스 메타데이터에서 인스턴스 태그에 액세스할 수 있습니다.
  + `"disabled"`: 인스턴스 메타데이터에서 인스턴스 태그에 액세스할 수 없습니다.
+ `"http_tokens_enforced":`
  + `"no_preference"`: 다른 기본값이 적용됩니다. 예를 들어, 해당되는 경우 AMI가 기본값으로 설정됩니다.
  + `"enabled"`: IMDSv2를 사용해야 합니다. IMDSv1 인스턴스를 시작하거나 기존 인스턴스에서 IMDSv1을 활성화하려는 시도는 실패합니다.
  + `"disabled"`: IMDSv1과 IMDSv2가 모두 허용됩니다.
**주의**  
**IMDSv2 적용**  
IMDSv21 및 IMDSv12(토큰 선택 사항)를 허용하면서 IMDSv2 적용을 활성화하면 IMDSv1이 시작 파라미터 또는 AMI 기본값을 통해 명시적으로 비활성화되지 않는 한 시작 실패가 발생합니다. IMDSv2 자세한 내용은 *Amazon EC2 사용 설명서*의 [ IMDSv1-enabled 인스턴스 실패 시작](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/troubleshooting-launch.html#launching-an-imdsv1-enabled-instance-fails)을 참조하세요.

------
#### [ Snapshot Block Public Access ]

**정책 효과**

Amazon EBS 스냅샷에 공개적으로 액세스할 수 있는지 여부를 제어합니다. 스냅샷 아카이브에 대한 자세한 내용은 *Amazon Elastic Block Store 사용 설명서*의 [Amazon EBS 스냅샷](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html)을 참조하세요.

**정책 내용**

```
{
  "ec2_attributes": {
    "snapshot_block_public_access": {
      "state": {
        "@@assign": "block_new_sharing"
      }
    }
  }
}
```

다음은 이 속성에 사용할 수 있는 필드입니다.
+ `"state"`:
  + `"block_all_sharing"`: 스냅샷의 모든 퍼블릭 공유를 차단합니다. 이미 공개적으로 공유된 스냅샷은 비공개로 취급되어 더 이상 공개적으로 사용할 수 없습니다.
  + `"block_new_sharing"`: 스냅샷의 새 퍼블릭 공유를 차단합니다. 그러나 이미 공개적으로 공유된 스냅샷은 계속 공개적으로 사용할 수 있습니다.
  + `"unblocked"`: 스냅샷의 공개 공유에는 제한이 없습니다.

**고려 사항**

EC2 정책에서이 속성을 사용하는 경우 다음 작업을 사용하여 범위 내 계정에 적용되는 구성을 수정할 수 없습니다. 단, 이 목록이 전부는 아닙니다.
+ `EnableSnapshotBlockPublicAccess`
+ `DisableSnapshotBlockPublicAccess`

------