

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

# Amazon EMR과 통합하도록 Ranger Admin 서버 설정
<a name="emr-ranger-admin"></a>

Amazon EMR 통합의 경우 Apache Ranger 애플리케이션 플러그인은 TLS 및 SSL을 사용하여 관리 서버와 통신해야 합니다.

**필수 조건: Ranger Admin 서버 SSL 지원**

Amazon EMR의 Apache Ranger에는 플러그인과 Ranger Admin 서버 간 양방향 SSL 통신이 필요합니다. 플러그인이 SSL을 통해 Apache Ranger 서버와 통신하려면 Ranger Admin 서버의 ranger-admin-site.xml 내에서 다음 속성을 활성화합니다.

```
<property>
    <name>ranger.service.https.attrib.ssl.enabled</name>
    <value>true</value>
</property>
```

또한 다음 구성도 필요합니다.

```
<property>
    <name>ranger.https.attrib.keystore.file</name>
    <value>_<PATH_TO_KEYSTORE>_</value>
</property>

<property>
    <name>ranger.service.https.attrib.keystore.file</name>
    <value>_<PATH_TO_KEYSTORE>_</value>
</property>

<property>
    <name>ranger.service.https.attrib.keystore.pass</name>
    <value>_<KEYSTORE_PASSWORD>_</value>
</property>

<property>
    <name>ranger.service.https.attrib.keystore.keyalias</name>
    <value><PRIVATE_CERTIFICATE_KEY_ALIAS></value>
</property>

<property>
    <name>ranger.service.https.attrib.clientAuth</name>
    <value>want</value>
</property>

<property>
    <name>ranger.service.https.port</name>
    <value>6182</value>
</property>
```

# Amazon EMR과의 Apache Ranger 통합을 위한 TLS 인증서
<a name="emr-ranger-admin-tls"></a>

Apache Ranger를 Amazon EMR과 통합하려면 Amazon EMR 노드에서 Ranger Admin 서버로의 트래픽을 TLS로 암호화하고 Ranger 플러그인이 양방향 상호 TLS 인증을 사용해 Apache Ranger 서버에 인증되어야 합니다. Amazon EMR 서비스에는 Ranger Admin 서버의 퍼블릭 인증서(이전 예제에서 지정함) 및 프라이빗 인증서가 필요합니다.

**Apache Ranger 플러그인 인증서**

Apache Ranger 플러그인 퍼블릭 TLS 인증서는 Apache Ranger Admin 서버에서 액세스할 수 있어야 플러그인 연결 시점을 검증할 수 있습니다. 이를 수행하는 세 가지 방법이 있습니다.

**방법 1: Apache Ranger Admin 서버에서 트러스트 스토어 구성**

ranger-admin-site.xml에서 다음 구성을 입력하여 트러스트 스토어를 구성합니다.

```
<property>
    <name>ranger.truststore.file</name>
    <value><LOCATION TO TRUSTSTORE></value>
</property>

<property>
    <name>ranger.truststore.password</name>
    <value><PASSWORD FOR TRUSTSTORE></value>
</property>
```

**방법 2: Java cacerts 트러스트 스토어에 인증서 로드**

Ranger Admin 서버의 JVM 옵션에 트러스트 스토어를 지정하지 않는 경우 플러그인 퍼블릭 인증서를 기본 cacerts 스토어에 넣을 수 있습니다.

**방법 3: 트러스트 스토어 생성 및 JVM 옵션의 일부로 지정**

`{RANGER_HOME_DIRECTORY}/ews/ranger-admin-services.sh` 내에서 `"-Djavax.net.ssl.trustStore=<TRUSTSTORE_LOCATION>"` 및 `"-Djavax.net.ssl.trustStorePassword=<TRUSTSTORE_PASSWORD>"`를 포함하도록 `JAVA_OPTS`를 수정합니다. 예를 들어, 기존 JAVA\$1OPTS 뒤에 다음 줄을 추가합니다.

```
JAVA_OPTS=" ${JAVA_OPTS} -Djavax.net.ssl.trustStore=${RANGER_HOME}/truststore/truststore.jck -Djavax.net.ssl.trustStorePassword=changeit"
```

**참고**  
사용자가 Apache Ranger Admin 서버에 로그인하여 실행 중인 프로세스를 확인할 수 있는 경우(예: `ps` 명령 사용) 이 사양은 트러스트 스토어 암호를 노출할 수 있습니다.

**자체 서명된 인증서 사용**

자체 서명 인증서는 인증서로 권장되지 않습니다. 자체 서명 인증서는 취소할 수 없으며 자체 서명 인증서는 내부 보안 요구 사항을 준수하지 않을 수 있습니다.

# Amazon EMR과의 Ranger 통합을 위한 서비스 정의 설치
<a name="emr-ranger-admin-servicedef-install"></a>

서비스 정의는 Ranger Admin 서버에서 애플리케이션의 정책 속성을 설명하는 데 사용됩니다. 그런 다음 클라이언트가 다운로드할 수 있도록 정책을 정책 리포지토리에 저장합니다.

서비스 정의를 구성하려면 Ranger Admin 서버로 REST를 직접 호출해야 합니다. 다음 섹션에 필요한 API에 대해서는 [Apache Ranger PublicAPIsv2](https://ranger.apache.org/apidocs/resource_PublicAPIsv2.html#resource_PublicAPIsv2_createServiceDef_POST)를 참조하세요.

**Apache Spark의 서비스 정의 설치**

Apache Spark의 서비스 정의를 설치하려면 [Amazon EMR과 Ranger의 통합을 위한 Apache Spark 플러그인](emr-ranger-spark.md) 섹션을 참조하세요.

**EMRFS 서비스 정의 설치**

Amazon EMR용 S3 서비스 정의를 설치하려면 [Amazon EMR과 Ranger의 통합을 위한 EMRFS S3 플러그인](emr-ranger-emrfs.md) 섹션을 참조하세요.

**Hive 서비스 정의 사용**

Apache Hive는 Apache Ranger 2.0 이상과 함께 제공되는 기존 Ranger 서비스 정의를 사용할 수 있습니다. 자세한 내용은 [Amazon EMR과 Ranger의 통합을 위한 Apache Hive 플러그인](emr-ranger-hive.md) 단원을 참조하십시오.

# Amazon EMR과 통합하기 위한 네트워크 트래픽 규칙
<a name="emr-ranger-network"></a>

Apache Ranger가 EMR 클러스터와 통합되면 클러스터는 추가 서버 및 AWS와 통신해야 합니다.

코어 및 태스크 노드를 포함한 모든 Amazon EMR 노드는 Apache Ranger Admin 서버와 통신해야만 정책을 다운로드할 수 있어야 합니다. Apache Ranger Admin이 Amazon EC2에서 실행 중인 경우 EMR 클러스터에서 트래픽을 가져올 수 있도록 보안 그룹을 업데이트해야 합니다.

Ranger Admin 서버와 통신하는 것 외에도 모든 노드는 다음 AWS 서비스와 통신할 수 있어야 합니다.
+ Amazon S3
+ AWS KMS (EMRFS SSE-KMS를 사용하는 경우)
+ Amazon CloudWatch
+ AWS STS

프라이빗 서브넷 내에서 EMR 클러스터를 실행하려는 경우, *Amazon VPC 사용 설명서*에서 [AWS PrivateLink 및 VPC 엔드포인트](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html) 또는 *Amazon VPC 사용 설명서*에서 [Network Address Translation(NAT) 인스턴스](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html)를 사용하여 이러한 서비스와 통신할 수 있도록 VPC를 구성합니다.