PAM 인증 예제

다음 섹션에서는 Driverless AI에서 Pluggable Authentication Modules (PAM) 을 활성화하는 방법에 관해 설명합니다. Docker 이미지에서 환경 변수를 지정하거나 config.toml 파일을 업데이트하여 활성화할 수 있습니다.

Note: 이것은 사용자가 PAM의 작동을 위해 스스로의 환경에서 권한을 부여하는 방법을 이해하고 있다고 가정합니다. 특히 Driverless AI의 경우, Driverless AI 프로세스 소유자가 /etc/shadow 에 액세스(루트 없이)할 수 있는지 확인하십시오. 그렇지 않으면 인증이 실패합니다.

Note: 다음 지침은 CentOS 7 호스트에만 적용됩니다.

해당 예제에서 호스트 Linux 시스템은 인증을 위해 PAM이 활성화되고 해당 Linux 시스템에서 실행되는 Docker를 가지고 있습니다. 목표는 Linux 시스템이 사용자 정보를 호스팅하는 동안 Driverless AI 인증을 위해 PAM을 활성화하는 것입니다.

  1. 사용자 이름(이 경우는 《eric》)이 Linux 시스템에 정의되어 있는지 확인하십시오.

[root@Linux-Server]# cat /etc/shadow | grep eric
eric:$6$inOv3GsQuRanR1H4$kYgys3oc2dQ3u9it02WTvAYqiGiQgQ/yqOiOs.g4F9DM1UJGpruUVoGl5G6OD3MrX/3uy4gWflYJnbJofaAni/::0:99999:7:::
  1. Linux 서버에서 Docker를 시작하고 Driverless AI에서 PAM을 활성화하십시오.

  [root@Linux-Server]# docker run \
   --rm \
   --shm-size=256m \
   -u `id -u`:`id -g` \
   -p 12345:12345 \
   -v `pwd`/config:/config \
   -v `pwd`/data:/data \
   -v `pwd`/log:/log \
   -v `pwd`/license:/license \
   -v `pwd`/tmp:/tmp \
   -v /etc/passwd:/etc/passwd \
   -v /etc/shadow:/etc/shadow \
   -v /etc/pam.d/:/etc/pam.d/ \
   -e DRIVERLESS_AI_AUTHENTICATION_METHOD="pam" \
   h2oai/dai-centos7-x86_64:1.10.1-cuda11.2.2.xx
  1. Driverless AI 컨테이너 ID를 획득하십시오. 이 ID는 다음 단계에 필요하며 Driverless AI가 시작 시마다 달라집니다.

[root@Linux-Server]# docker ps
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                                                                                    NAMES
8e333475ffd8        opsh2oai/h2oai-runtime   "./run.sh"          36 seconds ago      Up 35 seconds       192.168.0.1:9090->9090/tcp, 192.168.0.1:12345->12345/tcp, 192.168.0.1:12348->12348/tcp   clever_swirles
  1. Linux 서버에서 Docker Driverless AI 인스턴스가 shadow 파일을 볼 수 있는지 확인하십시오. 밑의 예제는 이전 단계에서 획득한 컨테이너 ID인 8e333475ffd8 을 참조합니다.

[root@Linux-Server]# docker exec 8e333475ffd8 cat /etc/shadow|grep eric
eric:$6$inOv3GsQuRanR1H4$kYgys3oc2dQ3u9it02WTvAYqiGiQgQ/yqOiOs.g4F9DM1UJGpruUVoGl5G6OD3MrX/3uy4gWflYJnbJofaAni/::0:99999:7:::
  1. 웹 브라우저를 열고 Driverless AI Docker 이미지를 실행하는 Linux 시스템에서 포트 12345로 이동하십시오. Linux 시스템에 알려진 자격 증명을 통해 로그인하십시오. 이제 로그인 정보는 PAM을 통해 확인됩니다.