커버로스 인증을 하려면 kinit 명령을 사용할 수 있어야 한다. 만약, 설치되어있지 않다면 아래와 같이 명령어를 찾을수 없다는 메시지가 출력될것이다. 이때는 kerberos 관련 모듈을 설치해야한다. $ kinit bash: kinit: command not found 설치방법 kinit 명령어가 없다면 centos 에서는 아래와 같은 명령어로 설치하면 된다. sudo yum install krb5-workstation krb5-libs krb5-auth-dialog -y 추가내용 kinit 실행파일이 생겼더라도, 인증서버 관련 정보가 정의된 /etc/krb5.conf 설정도 되어있어야 하는데, 별도의 경로에 존재하는 krb5.conf 를 사용하려면 환경변수를 지정하여 인증하는것도 가능하다. 보통 암호..
커버로스 인증은 성공했는데, 하둡에서 명령을 실행했을때 다음과 같이 "javax.security.sasl.SaslException: GSS initiate failed" 오류가 날때가 있다. 이 문제를 해결하려면 $JAVA_HOME 하위의 security 파일에 krb5.conf 설정을 복사하면 해결된다. $ kinit product Password for product@MY-DOMAIN.BAR.COM: $ hadoop fs -ls / 2022-05-10 18:55:12,732 WARN security.UserGroupInformation: Not attempting to re-login since the last re-login was attempted less than 60 seconds before..
하둡에 인증을 넣어 관리할때 커버로스 인증을 사용해서 권한 관리를 할때는 hadoop 명령어를 이용해서 접근할 경우 다음과 같이 오류가 발생된다. 그래서 하둡명령을 날리기전에 kinit 명령을 실행해서 인증을 거친이후 하둡명령을 실행해야 사용이 가능하다. $ hadoop fs -ls ls: failure to login: using ticket cache file: FILE:/tmp/krb5cc_p13321 javax.security.auth.login.LoginException: java.lang.IllegalArgumentException: Illegal principal name foo@BAR.COM: org.apache.hadoop.security.authentication.util.Kerbero..
카프카의 토픽이나 그룹정보를 확인하는 기본적인 명령어 툴이 있다. 인터넷에 있는 대부분의 예시는 인증이 없는 방식이 예로 있는데, 카프카클러스터에 보안인증이 존재할때 기냥 명령을 내리면 실행이 안되고 에러가 난다. consumer 를 만들어서 실행할땐 properties 에 선언해서 큰 문제가 없는데, username 과 password 를 선언하기가 조금 애매한 상황이 발생된다. 이럴땐 --command-config 을 이용해서 파일의 설정을 읽어 내면 된다. 인증있는 카프카에 명령 하기 우선 다음과 같은 보안과 관련된 설정을 파일을 만들어 두어야 한다. 그리고 실행할때 파라미터로 제공하면 된다. 자주 쓰는 패턴의 명령어 예시는 아래에 적어두었다. kafka-auth.properties bootstra..