복붙노트

[HADOOP] Hadoop mapReduce에서 위임 토큰 대신 Kerberos를 얻는 방법?

HADOOP

Hadoop mapReduce에서 위임 토큰 대신 Kerberos를 얻는 방법?

저는 Java 사용자로서 Hadoop mapReduce에 작업을 제출할 때 Kerberos를 사용하여 Hadoop을 인증합니다. 성공한 경우 Kerberos 티켓 대신 Hadoop에 작업 제출과 함께 전달 된 위임 토큰이 있습니다 (보안상의 이유로 명시된 바와 같이). Hadoop). 이제 작업은 나와 같이 실행되지만 작업 자체는 Kerberos를 사용하여 Hadoop 외부의 다른 서비스에 요청을 보내야합니다. 이제는 하둡 (Hadoop)에 kerberos TGT가 없으므로 서비스 티켓을받을 수 없습니다.

작업과 함께 Kerberos 티켓을 전달할 수 있습니까? (비밀을 넘겨주고 싶지 않기 때문에 위험 할 수 있습니다.) JobConf는 문자열 쌍을 Hadoop에 전달할 수 있지만 TGT를 json 문자열로 변환하고 작업 실행 중에 되돌려 야합니다.

또는 위임 토큰 개혁 TGT를 사용할 수 있습니까?

나는 많은 정보가 아니라 그것을 google하려고 노력했다, 누군가 도울 수 있었다? 고맙습니다.

** Editted : **

해결법

  1. ==============================

    1.http://carfield.com.hk:8080/document/distributed/hadoop-security-design.pdf의 디자인을 아직 보지 않았다면 참조하십시오.

    http://carfield.com.hk:8080/document/distributed/hadoop-security-design.pdf의 디자인을 아직 보지 않았다면 참조하십시오.

    원래 설계에서 우리는 Kerberos 만 사용하는 것을 고려했지만 (추가 토큰없이) 계획을 쉽게 만들었지 만 다음과 같은 이유로 결정했습니다.

    공연:

    귀하의 경우 개인 분산 캐시를 사용하고 전달 가능한 TGT를 보낼 수 있습니다. 나는 이것이 괜찮을 것이라고 생각하지만 좀 더 생각할 필요가있다. 분명히 구현이 안전하고, 티켓 수명이 최소한으로 유지되며 가능한 경우 IP 채널 바인딩이 사용되고 권한이 부여 된 프로세스에만 티켓 사용을 제한해야합니다.

  2. ==============================

    2.Credentials 필드를 역 어셈블하고 Base64 인코더를 사용하여 String으로 변환하고 JSON 문자열을 구성한 다음 RVM에서 제안한 구성 맵 또는 분산 캐시를 사용하여 Hadoop으로 전달한 다음 Hadoop에서 실행중인 작업에서 Credentials 객체를 다시 작성하면 Kerberos TGT를 사용하여 성공적으로 서비스 티켓을받습니다. 따라서이 방법이 효과적이며 네트워크에서 전달되는 키의 암호화는 매우 조심해야합니다.

    Credentials 필드를 역 어셈블하고 Base64 인코더를 사용하여 String으로 변환하고 JSON 문자열을 구성한 다음 RVM에서 제안한 구성 맵 또는 분산 캐시를 사용하여 Hadoop으로 전달한 다음 Hadoop에서 실행중인 작업에서 Credentials 객체를 다시 작성하면 Kerberos TGT를 사용하여 성공적으로 서비스 티켓을받습니다. 따라서이 방법이 효과적이며 네트워크에서 전달되는 키의 암호화는 매우 조심해야합니다.

  3. ==============================

    3.우선, 귀하의 계정에 위임이 가능해야합니다. 서비스 티켓은 전달 가능한 티켓을 요청해야합니다. 이것이 사실이라면 Hadoop은 위임 된 신임 정보를 GSSContext에서 검색하고 대신 새로운 정보를 구성해야합니다. 새로운 TGT를 사용하면 추가 단계를 수행 할 수 있습니다. Wireshark를 사용하여 티켓을 확인하십시오.

    우선, 귀하의 계정에 위임이 가능해야합니다. 서비스 티켓은 전달 가능한 티켓을 요청해야합니다. 이것이 사실이라면 Hadoop은 위임 된 신임 정보를 GSSContext에서 검색하고 대신 새로운 정보를 구성해야합니다. 새로운 TGT를 사용하면 추가 단계를 수행 할 수 있습니다. Wireshark를 사용하여 티켓을 확인하십시오.

  4. from https://stackoverflow.com/questions/11656543/how-to-get-kerberos-instead-of-delegation-token-in-hadoop-mapreduce by cc-by-sa and MIT license