

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

# Verified Access 신뢰 데이터의 기본 컨텍스트
<a name="trust-data-default-context"></a>

AWS Verified Access 에는 구성된 신뢰 공급자에 관계없이 모든 Cedar 평가에서 기본적으로 현재 요청에 대한 일부 요소가 포함됩니다. 원하는 경우 데이터를 기준으로 평가하는 정책을 작성할 수 있습니다.

다음은 평가에 포함된 데이터의 예입니다.

**Topics**
+ [HTTP 요청](#default-context-http-request)
+ [TCP 흐름](#default-context-tcp-flow)

## HTTP 요청
<a name="default-context-http-request"></a>

정책이 평가되면 Verified·Access는 `context.http_request` 키 아래의 Cedar 컨텍스트에 현재 HTTP 요청에 대한 데이터를 포함합니다.

```
{
    "title": "HTTP Request data included by Verified Access",
    "type": "object",
    "properties": {
        "http_method": {
            "type": "string",
            "description": "The HTTP method",
            "example": "GET"
        },
        "hostname": {
            "type": "string",
            "description": "The host subcomponent of the authority component of the URI",
            "example": "example.com"
        },
        "path": {
            "type": "string",
            "description": "The path component of the URI",
            "example": "app/images"
        },
        "query": {
            "type": "string",
            "description": "The query component of the URI",
            "example": "value1=1&value2=2"
        },
        "x_forwarded_for": {
            "type": "string",
            "description": "The value of the X-Forwarded-For request header",
            "example": "17.7.7.1"
        },
        "port": { 
           "type": "integer",
           "description": "The endpoint port",
           "example": 443
        },
        "user_agent": {
            "type": "string",
            "description": "The value of the User-Agent request header",
            "example": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"
        },
        "client_ip": {
            "type": "string",
            "description": "The IP address connecting to the endpoint",
            "example": "15.248.6.6"
        }
    }
}
```

**정책 예제**  
다음은 HTTP 요청 데이터를 사용하는 Cedar 정책의 예입니다.

```
forbid(principal, action, resource) when {
   context.http_request.http_method == "POST"
   && !(context.identity.roles.contains("Administrator"))
 };
```

## TCP 흐름
<a name="default-context-tcp-flow"></a>

정책이 평가되면 Verified·Access는 `context.tcp_flow` 키 아래의 Cedar 컨텍스트에 현재 TCP 흐름에 대한 데이터를 포함합니다.

```
{
    "title": "TCP flow data included by Verified Access",
    "type": "object",
    "properties": {
        "destination_ip": {
            "type": "string",
            "description": "The IP address of the target",
            "example": "192.100.1.3"
        },
        "destination_port": {
            "type": "string",
            "description": "The target port",
            "example": 22
        },
        "client_ip": {
            "type": "string",
            "description": "The IP address connecting to the endpoint",
            "example": "172.154.16.9"
        }
    }
}
```