컨테이너화된 ID 관리 서비스 사용


Red Hat Enterprise Linux 7

컨테이너화된 ID 관리 서비스의 개요 및 설치

초록

Red Hat Enterprise Linux 7의 컨테이너화된 Identity Management 서비스에 대해 알아보고 이를 사용해 보십시오.

1장. 컨테이너화된 ID 관리 서비스 개요

다음 섹션에서는 Red Hat Enterprise Linux의 컨테이너화된 Identity Management 서비스에 대한 개요를 제공합니다.

주의

rhel7/ipa-server 컨테이너는 기술 프리뷰 기능입니다. 자세한 내용은 Red Hat 지식베이스 의 기술 프리뷰 기능 지원 범위를 참조하십시오.

1.1. ipa-server 및 sssd Containers 소개

컨테이너에 Identity Management 또는 SSSD(System Security Services Daemon)를 사용하면 모든 ID 관리 또는 SSSD 프로세스가 호스트 시스템과 별도로 실행됩니다. 이를 통해 호스트 시스템은 이러한 프로세스와 충돌하지 않고 다른 소프트웨어를 실행할 수 있습니다.

중요

ipa-serversssd 컨테이너는 Red Hat Enterprise Linux Atomic Host 시스템에서 사용하도록 설계되었습니다. Atomic Host에 대한 자세한 내용은 Atomic 설명서에서 Atomic 시작하기 를 참조하십시오.

추가 리소스
  • Red Hat 시스템의 컨테이너 개요는 컨테이너의 기능과 작동 방식을 설명합니다. 이 가이드에는 컨테이너를 시작하기 위한 문서에 대한 링크도 포함되어 있습니다.
  • Linux 도메인 ID, 인증 및 정책 가이드에서 Red Hat Identity Management 소개 에서는 ID 관리, ID 관리 서버 및 ID 관리 클라이언트에 대한 개요를 제공합니다.
  • Atomic Host 문서는 일반적으로 Red Hat Enterprise Linux Atomic Host 및 컨테이너에 대한 정보를 제공합니다.

1.2. 사용 가능한 컨테이너 이미지

rhel7/ipa-server 컨테이너 이미지
  • 컨테이너에서 Identity Management 서버 및 관련 서비스를 실행할 수 있습니다.
  • Identity Management 서버 서비스를 제공합니다.
rhel7/sssd 컨테이너 이미지
  • 컨테이너에서 SSSD(System Security Services Daemon)를 실행할 수 있습니다.
  • 시스템을 Identity Management 서버에 등록하거나 Active Directory 도메인에 연결하여 Atomic Host 시스템에 ID 및 인증 서비스를 제공합니다.
  • 다른 컨테이너에서 실행되는 애플리케이션에 ID 및 인증 서비스를 제공합니다.
추가 리소스

1.3. 컨테이너에서 Identity Management 사용의 이점 및 단점

혜택
  • 모든 Identity Management 구성 및 데이터는 하위 디렉터리에서 격리됩니다.
  • Identity Management 서버 마이그레이션이 더 쉬워졌습니다. 컨테이너 하위 디렉터리를 다른 컨테이너 또는 호스트 시스템으로 이동할 수 있습니다. 자세한 내용은 4장. 서버를 컨테이너에서 호스트 시스템으로 마이그레이션 참조하십시오.
단점
  • Identity Management 프로세스는 Atomic에서 실행됩니다. 예를 들어 docker 데몬이 종료되면 해당 데몬에서 실행되는 ID 관리 서버도 종료됩니다. 하지만 이 단점은 여러 복제본 카운터를 유지합니다.
  • SELinux 분리는 컨테이너 내의 구성 요소에 적용되지 않습니다. 그러나 구성 요소는 프로세스 UID를 사용하여 계속 분리됩니다.

    • SELinux는 구성 요소 간에 MAC(필수 액세스 제어)를 적용하지는 않지만, tekton 프로젝트는 MAC을 컨테이너 환경에 적용합니다. 이렇게 하면 전체 컨테이너가 다른 컨테이너로부터 보호됩니다.
    • ipa-server 컨테이너는 Identity Management 서버 자체를 실행하는 데 필요한 구성 요소만 실행합니다. 컨테이너는 SELinux 격리 부족으로 인해 ID 관리를 공격할 수 있는 타사 구성 요소를 실행하지 않습니다.
    • 또한 Atomic 설명서에서 SELinux를 사용한 보안 컨테이너를 참조하십시오.

I 부. ipa-server 컨테이너 사용 (TECHNOLOGY PREPROFILE)

이 부분에서는 컨테이너에 ID 관리 서버 및 복제본을 배포하는 방법, 컨테이너에서 호스트 시스템으로 서버를 마이그레이션하는 방법, 마지막으로 서버 및 복제본 컨테이너를 제거하는 방법에 대해 다룹니다.

2장. 컨테이너에 ID 관리 서버 배포

이 장에서는 새로운 토폴로지를 시작하기 위해 새로운 Identity Management 서버를 설치하는 방법을 설명합니다.

시작하기 전에 2.1절. “사전 요구 사항”2.2절. “서버 및 복제본 컨테이너에서 사용 가능한 구성” 을 참조하십시오.

다음 설치 절차 중 하나를 선택합니다. 상황에 맞는 CA(인증 기관) 구성이 확실하지 않은 경우 Linux 도메인 ID, 인증 및 정책 가이드에서 사용할 CA 구성 결정 을 참조하십시오.

완료되면 2.6절. “설치 후 다음 단계” 를 읽어 보십시오.

2.1. 사전 요구 사항

  • 컨테이너를 설치하기 전에 Atomic Host 시스템을 업그레이드합니다. Red Hat Enterprise Linux Atomic Host 7 설치 및 구성 가이드에서 업그레이드 및 다운그레이드 를 참조하십시오.

2.2. 서버 및 복제본 컨테이너에서 사용 가능한 구성

사용 가능한 기능
도메인 수준 1 이상

컨테이너에 도메인 수준 0을 사용할 수 없습니다. 도메인 수준 표시 및 해제를 참조하십시오.

결과적으로 컨테이너에서 실행되는 서버는 Red Hat Enterprise Linux 7.3 이상을 기반으로 하는 Identity Management 서버에만 복제 계약으로 결합할 수 있습니다.

혼합 컨테이너 및 비컨테이너 배포
단일 Identity Management 도메인 토폴로지에는 컨테이너 기반 및 RPM 기반 서버를 모두 포함할 수 있습니다.
사용할 수 없는 항목
배포된 컨테이너에서 서버 구성 요소 변경
배포된 컨테이너를 런타임 수정하지 마십시오. 통합 DNS 또는 Vault와 같은 서버 구성 요소를 변경하거나 다시 설치해야 하는 경우 새 복제본을 만듭니다.
다양한 Linux 배포 간 업그레이드

ipa-server 컨테이너 이미지가 실행되는 플랫폼은 변경하지 마십시오. 예를 들어 Red Hat Enterprise Linux에서 실행 중인 이미지를 Fedora, Ubuntu 또는 CentOS로 변경하지 마십시오. 마찬가지로 Fedora, Ubuntu 또는 CentOS에서 실행되는 이미지를 Red Hat Enterprise Linux로 변경하지 마십시오.

Identity Management는 최신 Red Hat Enterprise Linux 버전으로의 업그레이드만 지원합니다.

실행 중인 컨테이너로 시스템 다운그레이드
ipa-server 컨테이너 이미지가 실행되는 시스템을 다운그레이드하지 마십시오.
Atomic Host의 업스트림 컨테이너
Atomic Host에서 FreeIPA ipa-server 이미지와 같은 업스트림 컨테이너 이미지를 설치하지 마십시오. Red Hat Enterprise Linux에서 사용 가능한 컨테이너 이미지만 설치합니다.
단일 Atomic Host의 여러 컨테이너
단일 Atomic Host에 하나의 ipa-server 컨테이너 이미지만 설치합니다.

2.3. 컨테이너에 ID 관리 서버 설치: 기본 설치

다음 절차에서는 통합된 CA를 사용하여 컨테이너화된 ID 관리 서버를 기본 CA(인증 기관) 구성에 설치하는 방법을 설명합니다.

시작하기 전
  • 컨테이너 설치에서는 ipa-server-install 을 사용하여 컨테이너가 아닌 설치와 동일한 기본 구성을 사용합니다. 사용자 정의 구성을 지정하려면 아래 절차에 사용된 atomic install 명령에 옵션을 추가합니다.

절차
  1. atomic install rhel7/ipa-server publish --hostname fully_qualified_domain_name ipa-server-install 명령을 사용하여 설치를 시작합니다.

    • 컨테이너에는 자체 호스트 이름이 필요합니다. Atomic Host 시스템의 호스트 이름과 컨테이너의 다른 호스트 이름을 사용합니다. 컨테이너의 호스트 이름은 DNS 또는 /etc/hosts 파일을 통해 확인할 수 있어야 합니다.

      참고

      서버 또는 복제본 컨테이너를 설치하면 Atomic Host 시스템 자체를 Identity Management 도메인에 등록하지 않습니다. 서버 또는 복제본에 Atomic Host 시스템의 호스트 이름을 사용하는 경우 나중에 Atomic Host 시스템을 등록할 수 없습니다.

      중요

      서버 또는 복제본 컨테이너를 설치할 때 항상 atomic install 과 함께 --hostname 옵션을 사용하십시오. 이 경우 --hostname 은 Identity Management 설치 프로그램 옵션이 아닌 Atomic 옵션으로 간주되므로 ipa-server-install 옵션보다 먼저 사용하십시오. ipa-server-install 다음에 사용하면 설치 시 --hostname 을 무시합니다.

    • 통합 DNS를 사용하여 서버를 설치하는 경우 --ip-address 옵션도 추가하여 네트워크에서 연결할 수 있는 Atomic Host의 공용 IP 주소를 지정합니다. --ip-address 를 여러 번 사용할 수 있습니다.
    주의

    테스트 목적으로만 컨테이너를 설치하려는 경우가 아니면 항상 게시 옵션을 사용합니다. 게시하지 않으면 Atomic Host 시스템에 포트를 게시하지 않으며 컨테이너 외부에서 서버에 연결할 수 없습니다.

  2. ipa-server-install 설정 스크립트가 시작됩니다.

    The log file for this installation can be found in /var/log/ipaserver-install.log
    ========================================
    This program will set up the IPA Server.
    [... output truncated ...]
    Copy to Clipboard Toggle word wrap

    이 프로세스는 ipa-server-install 유틸리티를 사용하여 컨테이너가 아닌 서버를 설치할 때와 동일합니다.

예 2.1. 설치 명령 예

ipa-server 컨테이너를 설치하기 위한 명령 구문:

$ atomic install [ --name <container_name> ] rhel7/ipa-server [ Atomic options ] [ ipa-server-install | ipa-replica-install ] [ ipa-server-install or ipa-replica-install options ]
Copy to Clipboard Toggle word wrap

server-container 라는 서버 컨테이너를 설치하고 Identity Management 서버 설정에 기본값을 사용하려면 다음을 수행합니다.

$ atomic install --name server-container rhel7/ipa-server publish --hostname server.example.com ipa-server-install --ip-address 2001:DB8::1111
Copy to Clipboard Toggle word wrap

사용자 지정 호스트 이름(--hostname) 및 통합 DNS(--setup-dns)를 사용하여 서버를 설치하려면 다음을 수행합니다.

$ atomic install rhel7/ipa-server publish --hostname server.example.com ipa-server-install --setup-dns --ip-address 2001:DB8::1111
Copy to Clipboard Toggle word wrap

2.4. 컨테이너에 ID 관리 서버 설치: 외부 CA

이 절차에서는 외부 CA에 종속된 통합 CA(ID 관리 인증 기관)를 사용하여 서버를 설치하는 방법을 설명합니다.

컨테이너화된 ID 관리 서버 및 Atomic Host 시스템은 컨테이너에 바인드 마운트를 사용하여 마운트된 파일 시스템의 일부만 공유합니다. 따라서 외부 파일과 관련된 작업을 이 볼륨 내에서 수행해야 합니다.

ipa-server 컨테이너 이미지는 /var/lib/<container_name>/ 디렉터리를 사용하여 Atomic Host 파일 시스템에 영구 파일을 저장합니다. 영구 스토리지 볼륨은 컨테이너 내부의 /data/ 디렉터리에 매핑됩니다.

시작하기 전
  • 컨테이너 설치에서는 ipa-server-install 을 사용하여 컨테이너가 아닌 설치와 동일한 기본 구성을 사용합니다. 사용자 정의 구성을 지정하려면 아래 절차에 사용된 atomic install 명령에 옵션을 추가합니다.

절차
  1. atomic install rhel7/ipa-server publish --hostname fully_qualified_domain_name ipa-server-install --external-ca 명령을 사용하여 설치를 시작합니다.

    • 컨테이너에는 자체 호스트 이름이 필요합니다. Atomic Host 시스템의 호스트 이름과 컨테이너의 다른 호스트 이름을 사용합니다. 컨테이너의 호스트 이름은 DNS 또는 /etc/hosts 파일을 통해 확인할 수 있어야 합니다.

      참고

      서버 또는 복제본 컨테이너를 설치하면 Atomic Host 시스템 자체를 Identity Management 도메인에 등록하지 않습니다. 서버 또는 복제본에 Atomic Host 시스템의 호스트 이름을 사용하는 경우 나중에 Atomic Host 시스템을 등록할 수 없습니다.

      중요

      서버 또는 복제본 컨테이너를 설치할 때 항상 atomic install 과 함께 --hostname 옵션을 사용하십시오. 이 경우 --hostname 은 Identity Management 설치 프로그램 옵션이 아닌 Atomic 옵션으로 간주되므로 ipa-server-install 옵션보다 먼저 사용하십시오. ipa-server-install 다음에 사용하면 설치 시 --hostname 을 무시합니다.

    • 통합 DNS를 사용하여 서버를 설치하는 경우 --ip-address 옵션도 추가하여 네트워크에서 연결할 수 있는 Atomic Host의 공용 IP 주소를 지정합니다. --ip-address 를 여러 번 사용할 수 있습니다.
    주의

    테스트 목적으로만 컨테이너를 설치하려는 경우가 아니면 항상 게시 옵션을 사용합니다. 게시하지 않으면 Atomic Host 시스템에 포트를 게시하지 않으며 컨테이너 외부에서 서버에 연결할 수 없습니다.

  2. ipa-server-install 설정 스크립트가 시작됩니다.

    The log file for this installation can be found in /var/log/ipaserver-install.log
    ========================================
    This program will set up the IPA Server.
    [... output truncated ...]
    Copy to Clipboard Toggle word wrap

    이 프로세스는 ipa-server-install 유틸리티를 사용하여 컨테이너가 아닌 서버를 설치할 때와 동일합니다.

  3. 컨테이너 설치 스크립트는 /var/lib/<container_name>/root/ipa.csr 파일에 인증서 서명 요청(CSR)을 생성합니다. CSR을 외부 CA에 제출하고 발급된 CA의 인증서 및 CA 인증서 체인을 검색합니다.

    자세한 내용은 Linux 도메인 ID, 인증 및 정책 가이드에서 외부 CA를 사용하여 서버 설치를 참조하십시오.

  4. 서명된 CA 인증서와 루트 CA 인증서를 /var/lib/<container_name>/ 디렉터리에 복사합니다.

    $ cp /root/{ipa,ca}.crt /var/lib/server-container/.
    Copy to Clipboard Toggle word wrap
  5. atomic run 명령을 --external-cert-file 옵션과 함께 사용하여 인증서의 위치를 지정합니다. 설치 프로그램이 컨테이너 내부에서 호출을 수행하므로 /data/ 디렉터리를 기준으로 위치를 지정합니다.

    $ atomic run rhel7/ipa-server ipa-server-install --external-cert-file /data/ipa.crt --external-cert-file /data/ca.crt
    Copy to Clipboard Toggle word wrap
  6. 설치가 다시 시작됩니다. 이제 설치 프로그램에서 제공된 인증서를 사용하여 하위 CA를 설정합니다.

2.5. 컨테이너에 ID 관리 서버 설치: CA 없음

이 절차에서는 통합된 CA(ID 관리 인증 기관) 없이 서버를 설치하는 방법을 설명합니다.

컨테이너화된 ID 관리 서버 및 Atomic Host 시스템은 컨테이너에 바인드 마운트를 사용하여 마운트된 파일 시스템의 일부만 공유합니다. 따라서 외부 파일과 관련된 작업을 이 볼륨 내에서 수행해야 합니다.

ipa-server 컨테이너 이미지는 /var/lib/<container_name>/ 디렉터리를 사용하여 Atomic Host 파일 시스템에 영구 파일을 저장합니다. 영구 스토리지 볼륨은 컨테이너 내부의 /data/ 디렉터리에 매핑됩니다.

시작하기 전
  • 컨테이너 설치에서는 ipa-server-install 을 사용하여 컨테이너가 아닌 설치와 동일한 기본 구성을 사용합니다. 사용자 정의 구성을 지정하려면 아래 절차에 사용된 atomic install 명령에 옵션을 추가합니다.

절차
  1. /var/lib/<container_name>/:에서 컨테이너의 영구 스토리지 디렉터리를 수동으로 생성합니다.

    $ mkdir -p /var/lib/ipa-server
    Copy to Clipboard Toggle word wrap
  2. 인증서 체인이 포함된 파일을 디렉터리에 복사합니다.

    $ cp /root/server-*.p12 /var/lib/ipa-server/.
    Copy to Clipboard Toggle word wrap

    필요한 파일에 대한 자세한 내용은 Linux 도메인 ID, 인증 및 정책 가이드에서 CA 없이 설치를 참조하십시오.

  3. atomic install 명령을 사용하여 타사 기관의 필요한 인증서를 제공합니다.

    $ atomic install --name server-container rhel7/ipa-server publish \
       --hostname server.example.com \
       ipa-server-install \
       --dirsrv-cert-file=/data/server-dirsrv-cert.p12 \
       --dirsrv-pin=1234 \
       --http-cert-file=/data/server-http-cert.p12 \
       --http-pin=1234 \
       --pkinit-cert-file=/data/server-pkinit-cert.p12 \
       --pkinit-pin=1234
    Copy to Clipboard Toggle word wrap
    • 컨테이너에는 자체 호스트 이름이 필요합니다. Atomic Host 시스템의 호스트 이름과 컨테이너의 다른 호스트 이름을 사용합니다. 컨테이너의 호스트 이름은 DNS 또는 /etc/hosts 파일을 통해 확인할 수 있어야 합니다.

      참고

      서버 또는 복제본 컨테이너를 설치하면 Atomic Host 시스템 자체를 Identity Management 도메인에 등록하지 않습니다. 서버 또는 복제본에 Atomic Host 시스템의 호스트 이름을 사용하는 경우 나중에 Atomic Host 시스템을 등록할 수 없습니다.

      중요

      서버 또는 복제본 컨테이너를 설치할 때 항상 atomic install 과 함께 --hostname 옵션을 사용하십시오. 이 경우 --hostname 은 Identity Management 설치 프로그램 옵션이 아닌 Atomic 옵션으로 간주되므로 ipa-server-install 옵션보다 먼저 사용하십시오. ipa-server-install 다음에 사용하면 설치 시 --hostname 을 무시합니다.

    • 통합 DNS를 사용하여 서버를 설치하는 경우 --ip-address 옵션도 추가하여 네트워크에서 연결할 수 있는 Atomic Host의 공용 IP 주소를 지정합니다. --ip-address 를 여러 번 사용할 수 있습니다.
    주의

    테스트 목적으로만 컨테이너를 설치하려는 경우가 아니면 항상 게시 옵션을 사용합니다. 게시하지 않으면 Atomic Host 시스템에 포트를 게시하지 않으며 컨테이너 외부에서 서버에 연결할 수 없습니다.

  4. ipa-server-install 설정 스크립트가 시작됩니다.

    The log file for this installation can be found in /var/log/ipaserver-install.log
    ========================================
    This program will set up the IPA Server.
    [... output truncated ...]
    Copy to Clipboard Toggle word wrap

    이 프로세스는 ipa-server-install 유틸리티를 사용하여 컨테이너가 아닌 서버를 설치할 때와 동일합니다.

2.6. 설치 후 다음 단계

  • 컨테이너를 실행하려면 atomic run 명령을 사용합니다.

    $ atomic run rhel7/ipa-server
    Copy to Clipboard Toggle word wrap

    컨테이너를 설치할 때 컨테이너의 이름을 지정한 경우:

    $ atomic run --name server-container rhel7/ipa-server
    Copy to Clipboard Toggle word wrap
  • 실행 중인 ipa-server 컨테이너는 베어 메탈 또는 가상 머신 시스템의 표준 ID 관리 배포와 동일한 방식으로 작동합니다. 예를 들어 RPM 기반 Identity Management 시스템과 동일한 방식으로 명령줄 인터페이스, 웹 UI 또는 JSONRPC-API를 사용하여 도메인에 호스트를 등록하거나 토폴로지를 관리할 수 있습니다.

3장. 컨테이너에 ID 관리 복제본 배포

이 장에서는 ID 관리 복제본을 설치하는 방법을 설명합니다. 예를 들어 컨테이너 기반 복제본을 생성하면 기존 토폴로지의 워크로드를 컨테이너 기반 서버로 점진적으로 전송하려는 경우 유용할 수 있습니다.

시작하기 전에 3.1절. “사전 요구 사항”3.2절. “서버 및 복제본 컨테이너에서 사용 가능한 구성” 을 참조하십시오.

다음 설치 절차 중 하나를 선택합니다. 상황에 맞는 CA(인증 기관) 구성이 확실하지 않은 경우 Linux 도메인 ID, 인증 및 정책 가이드에서 사용할 CA 구성 결정 을 참조하십시오.

완료되면 3.5절. “설치 후 다음 단계” 를 읽어 보십시오.

3.1. 사전 요구 사항

  • 컨테이너를 설치하기 전에 Atomic Host 시스템을 업그레이드합니다. Red Hat Enterprise Linux Atomic Host 7 설치 및 구성 가이드에서 업그레이드 및 다운그레이드 를 참조하십시오.

3.2. 서버 및 복제본 컨테이너에서 사용 가능한 구성

사용 가능한 기능
도메인 수준 1 이상

컨테이너에 도메인 수준 0을 사용할 수 없습니다. 도메인 수준 표시 및 해제를 참조하십시오.

결과적으로 컨테이너에서 실행되는 서버는 Red Hat Enterprise Linux 7.3 이상을 기반으로 하는 Identity Management 서버에만 복제 계약으로 결합할 수 있습니다.

혼합 컨테이너 및 비컨테이너 배포
단일 Identity Management 도메인 토폴로지에는 컨테이너 기반 및 RPM 기반 서버를 모두 포함할 수 있습니다.
사용할 수 없는 항목
배포된 컨테이너에서 서버 구성 요소 변경
배포된 컨테이너를 런타임 수정하지 마십시오. 통합 DNS 또는 Vault와 같은 서버 구성 요소를 변경하거나 다시 설치해야 하는 경우 새 복제본을 만듭니다.
다양한 Linux 배포 간 업그레이드

ipa-server 컨테이너 이미지가 실행되는 플랫폼은 변경하지 마십시오. 예를 들어 Red Hat Enterprise Linux에서 실행 중인 이미지를 Fedora, Ubuntu 또는 CentOS로 변경하지 마십시오. 마찬가지로 Fedora, Ubuntu 또는 CentOS에서 실행되는 이미지를 Red Hat Enterprise Linux로 변경하지 마십시오.

Identity Management는 최신 Red Hat Enterprise Linux 버전으로의 업그레이드만 지원합니다.

실행 중인 컨테이너로 시스템 다운그레이드
ipa-server 컨테이너 이미지가 실행되는 시스템을 다운그레이드하지 마십시오.
Atomic Host의 업스트림 컨테이너
Atomic Host에서 FreeIPA ipa-server 이미지와 같은 업스트림 컨테이너 이미지를 설치하지 마십시오. Red Hat Enterprise Linux에서 사용 가능한 컨테이너 이미지만 설치합니다.
단일 Atomic Host의 여러 컨테이너
단일 Atomic Host에 하나의 ipa-server 컨테이너 이미지만 설치합니다.

3.3. 컨테이너에 ID 관리 복제본 설치: 기본 설치

다음 절차에서는 통합된 CA를 사용하여 컨테이너화된 ID 관리 서버를 기본 CA(인증 기관) 구성에 설치하는 방법을 설명합니다.

시작하기 전
  • 컨테이너 설치에서는 ipa-replica-install 을 사용하여 컨테이너가 아닌 설치와 동일한 기본 구성을 사용합니다. 사용자 정의 구성을 지정하려면 아래 절차에 사용된 atomic install 명령에 옵션을 추가합니다.

  • 베어 메탈 시스템 또는 다른 Atomic Host 시스템에 사용 가능한 설치 서버를 사용할 수 있어야 합니다.
절차
  1. 컨테이너의 마스터 서버에 대한 복제본을 설치하려면 Linux 도메인 ID, 인증 및 정책 가이드ID 관리 서버 설치 및 설치 제거에 지정된 포트를 통해 마스터 컨테이너에 양방향 통신을 활성화합니다.
  2. atomic install rhel7/ipa-server publish --hostname fully_qualified_domain_name ipa-replica-install 명령을 사용하여 설치를 시작합니다. Identity Management 서버의 호스트 이름 및 도메인 이름을 지정하려면 --server--domain 옵션을 포함합니다.

    • 컨테이너에는 자체 호스트 이름이 필요합니다. Atomic Host 시스템의 호스트 이름과 컨테이너의 다른 호스트 이름을 사용합니다. 컨테이너의 호스트 이름은 DNS 또는 /etc/hosts 파일을 통해 확인할 수 있어야 합니다.

      참고

      서버 또는 복제본 컨테이너를 설치하면 Atomic Host 시스템 자체를 Identity Management 도메인에 등록하지 않습니다. 서버 또는 복제본에 Atomic Host 시스템의 호스트 이름을 사용하는 경우 나중에 Atomic Host 시스템을 등록할 수 없습니다.

      중요

      서버 또는 복제본 컨테이너를 설치할 때 항상 atomic install 과 함께 --hostname 옵션을 사용하십시오. 이 경우 --hostname 은 Identity Management 설치 프로그램 옵션이 아닌 Atomic 옵션으로 간주되므로 ipa-server-install 옵션보다 먼저 사용하십시오. ipa-server-install 다음에 사용하면 설치 시 --hostname 을 무시합니다.

    • 통합 DNS를 사용하여 서버를 설치하는 경우 --ip-address 옵션도 추가하여 네트워크에서 연결할 수 있는 Atomic Host의 공용 IP 주소를 지정합니다. --ip-address 를 여러 번 사용할 수 있습니다.
    • 대화형 복제본 설치 모드에서 알려진 문제로 인해 표준 ipa-replica-install 옵션을 추가하여 다음 중 하나를 지정합니다.

    주의

    테스트 목적으로만 컨테이너를 설치하려는 경우가 아니면 항상 게시 옵션을 사용합니다. 게시하지 않으면 Atomic Host 시스템에 포트를 게시하지 않으며 컨테이너 외부에서 서버에 연결할 수 없습니다.

예 3.1. 설치 명령 예

ipa-server 컨테이너를 설치하기 위한 명령 구문:

$ atomic install [ --name <container_name> ] rhel7/ipa-server [ Atomic options ] [ ipa-server-install | ipa-replica-install ] [ ipa-server-install or ipa-replica-install options ]
Copy to Clipboard Toggle word wrap

관리자의 자격 증명을 사용하여 replica-container 라는 복제본 컨테이너를 설치하려면 Identity Management 복제본 설정에 기본값을 사용합니다.

$ atomic install --name replica-container rhel7/ipa-server publish \
    --hostname replica.example.com \
    ipa-replica-install \
    --server server.example.com \
    --domain example.com \
    --ip-address 2001:DB8::1111 \
    --principal admin \
    --admin-password <admin_password>
Copy to Clipboard Toggle word wrap

3.4. 컨테이너에 ID 관리 복제본 설치: CA 없음

이 절차에서는 통합된 CA(ID 관리 인증 기관) 없이 서버를 설치하는 방법을 설명합니다.

컨테이너화된 ID 관리 서버 및 Atomic Host 시스템은 컨테이너에 바인드 마운트를 사용하여 마운트된 파일 시스템의 일부만 공유합니다. 따라서 외부 파일과 관련된 작업을 이 볼륨 내에서 수행해야 합니다.

ipa-server 컨테이너 이미지는 /var/lib/<container_name>/ 디렉터리를 사용하여 Atomic Host 파일 시스템에 영구 파일을 저장합니다. 영구 스토리지 볼륨은 컨테이너 내부의 /data/ 디렉터리에 매핑됩니다.

시작하기 전
  • 컨테이너 설치에서는 ipa-replica-install 을 사용하여 컨테이너가 아닌 설치와 동일한 기본 구성을 사용합니다. 사용자 정의 구성을 지정하려면 아래 절차에 사용된 atomic install 명령에 옵션을 추가합니다.

  • 베어 메탈 시스템 또는 다른 Atomic Host 시스템에 사용 가능한 설치 서버를 사용할 수 있어야 합니다.
절차
  1. 컨테이너의 마스터 서버에 대한 복제본을 설치하려면 Linux 도메인 ID, 인증 및 정책 가이드ID 관리 서버 설치 및 설치 제거에 지정된 포트를 통해 마스터 컨테이너에 양방향 통신을 활성화합니다.
  2. /var/lib/<container_name>/:에서 컨테이너의 영구 스토리지 디렉터리를 수동으로 생성합니다.

    $ mkdir -p /var/lib/ipa-server
    Copy to Clipboard Toggle word wrap
  3. 인증서 체인이 포함된 파일을 디렉터리에 복사합니다.

    $ cp /root/server-*.p12 /var/lib/ipa-server/.
    Copy to Clipboard Toggle word wrap

    필요한 파일에 대한 자세한 내용은 Linux 도메인 ID, 인증 및 정책 가이드에서 CA 없이 설치를 참조하십시오.

  4. atomic install rhel7/ipa-server publish --hostname fully_qualified_domain_name ipa-replica-install 명령을 사용하고, --server--domain 옵션을 포함하여 ID 관리 서버의 호스트 이름과 도메인 이름을 지정하고, 타사 인증 기관의 필수 인증서를 제공합니다.

    $ atomic install --name replica-container rhel7/ipa-server publish \
        --hostname replica.example.com \
        ipa-replica-install \
        --server server.example.com \
        --domain example.com \
        --dirsrv-cert-file=/data/replica-dirsrv-cert.p12 \
        --dirsrv-pin=1234 \
        --http-cert-file=/data/replica-http-cert.p12 \
        --http-pin=1234 \
        --pkinit-cert-file=/data/replica-pkinit-cert.p12 \
        --pkinit-pin=1234
    Copy to Clipboard Toggle word wrap
    참고

    인증서 경로에는 영구 스토리지 볼륨이 컨테이너 내부의 /data/ 에 매핑되므로 인증서 경로가 /data/ 가 포함됩니다.

    • 컨테이너에는 자체 호스트 이름이 필요합니다. Atomic Host 시스템의 호스트 이름과 컨테이너의 다른 호스트 이름을 사용합니다. 컨테이너의 호스트 이름은 DNS 또는 /etc/hosts 파일을 통해 확인할 수 있어야 합니다.

      참고

      서버 또는 복제본 컨테이너를 설치하면 Atomic Host 시스템 자체를 Identity Management 도메인에 등록하지 않습니다. 서버 또는 복제본에 Atomic Host 시스템의 호스트 이름을 사용하는 경우 나중에 Atomic Host 시스템을 등록할 수 없습니다.

      중요

      서버 또는 복제본 컨테이너를 설치할 때 항상 atomic install 과 함께 --hostname 옵션을 사용하십시오. 이 경우 --hostname 은 Identity Management 설치 프로그램 옵션이 아닌 Atomic 옵션으로 간주되므로 ipa-server-install 옵션보다 먼저 사용하십시오. ipa-server-install 다음에 사용하면 설치 시 --hostname 을 무시합니다.

    • 통합 DNS를 사용하여 서버를 설치하는 경우 --ip-address 옵션도 추가하여 네트워크에서 연결할 수 있는 Atomic Host의 공용 IP 주소를 지정합니다. --ip-address 를 여러 번 사용할 수 있습니다.
    • 대화형 복제본 설치 모드에서 알려진 문제로 인해 표준 ipa-replica-install 옵션을 추가하여 다음 중 하나를 지정합니다.

    주의

    테스트 목적으로만 컨테이너를 설치하려는 경우가 아니면 항상 게시 옵션을 사용합니다. 게시하지 않으면 Atomic Host 시스템에 포트를 게시하지 않으며 컨테이너 외부에서 서버에 연결할 수 없습니다.

3.5. 설치 후 다음 단계

  • 컨테이너를 실행하려면 atomic run 명령을 사용합니다.

    $ atomic run rhel7/ipa-server
    Copy to Clipboard Toggle word wrap

    컨테이너를 설치할 때 컨테이너의 이름을 지정한 경우:

    $ atomic run --name replica-container rhel7/ipa-server
    Copy to Clipboard Toggle word wrap
  • 실행 중인 ipa-server 컨테이너는 베어 메탈 또는 가상 머신 시스템의 표준 ID 관리 배포와 동일한 방식으로 작동합니다. 예를 들어 RPM 기반 Identity Management 시스템과 동일한 방식으로 명령줄 인터페이스, 웹 UI 또는 JSONRPC-API를 사용하여 도메인에 호스트를 등록하거나 토폴로지를 관리할 수 있습니다.

4장. 서버를 컨테이너에서 호스트 시스템으로 마이그레이션

이 장에서는 컨테이너에 원래 설치된 서버를 베어 메탈 또는 가상 머신 시스템으로 마이그레이션하는 방법을 설명합니다. 다음 시나리오에서는 Red Hat Enterprise Linux 시스템으로 마이그레이션해야 합니다.

다음 절차에서는 컨테이너화된 Identity Management 서버를 호스트 시스템으로 마이그레이션하고 선택적으로 컨테이너를 분리하는 방법을 설명합니다.

절차
  1. 컨테이너에 대한 ID 관리 복제본으로 호스트 시스템을 등록합니다. 나중에 Identity Management 서버를 사용하여 컨테이너를 해제하려면 CA(인증 기관)를 사용하여 복제본을 생성해야 합니다.

    ID 관리 복제본 설치 및 제거를 참조하십시오.

  2. 컨테이너의 서버에서 호스트 시스템의 새 복제본으로 CA 마스터 책임을 마이그레이션합니다.

    마스터 CA 서버에 복제본 프로모팅을 참조하십시오.

  3. 컨테이너에서 서버를 해제합니다.

    5장. 서버 및 복제본 컨테이너 설치 제거을 참조하십시오.

5장. 서버 및 복제본 컨테이너 설치 제거

이 장에서는 Identity Management 서버 또는 복제 컨테이너를 제거할 수 있는 방법을 설명합니다.

5.1. 서버 또는 복제본 컨테이너 설치 제거

다음 절차에서는 ID 관리 서버 또는 복제본 컨테이너를 제거하고 서버 또는 복제본이 토폴로지에서 제대로 제거되었는지 확인하는 방법을 보여줍니다.

절차
  1. 기존 토폴로지에 속하는 복제본 컨테이너가 해당 토폴로지에서 올바르게 제거되었는지 확인하려면 등록된 호스트에서 ipa server-del <container-host-name> 명령을 사용합니다.

    atomic uninstall 명령은 다음을 수행하지 않기 때문에 이 단계가 필요합니다.

    • 연결이 끊긴 도메인 수준 1 토폴로지 또는 마지막 CA(CA), 키 복구 기관(KRA) 또는 DNS 서버 제거를 방지하기 위한 검사를 수행합니다.
    • 기존 토폴로지에서 복제본 컨테이너 제거
  2. atomic uninstall 명령을 사용하고 컨테이너 이름과 이미지 이름을 포함합니다.

    $ atomic uninstall --name <container_name> rhel7/ipa-server
    Copy to Clipboard Toggle word wrap

5.2. 설치 제거 후 다음 단계

  • /var/lib/<container_name>.backup.<timestamp> 에서 컨테이너의 마운트된 데이터 디렉터리의 백업을 찾을 수 있습니다. 새 컨테이너를 생성해야 하는 경우 백업을 통해 볼륨에 저장된 영구 데이터를 재사용할 수 있습니다.

II 부. sssd 컨테이너 사용

이 부분에서는 Atomic Host에서 SSSD 컨테이너를 배포, 설정, 업데이트 및 제거하는 방법을 다룹니다. 또한 이 문서에서는 SSSD 컨테이너에 대한 액세스 권한을 부여하거나 제한하는 방법과 중앙 집중식 Kerberos 인증 정보 캐시를 만들고 사용하는 방법에 대해 설명합니다.

6장. Atomic Host에서 ID 및 인증 서비스를 제공하도록 SSSD 컨테이너 구성

시스템 관리자는 컨테이너에서 SSSD를 사용하여 Atomic Host 시스템에 외부 ID, 인증 및 권한 부여 서비스를 제공할 수 있습니다. 이 장에서는 SSSD 컨테이너를 권한 있는 으로 실행하는 방법을 설명합니다. 이를 통해 외부 ID 소스(Identity Management 또는 Active Directory)의 사용자가 Atomic 호스트 자체에서 실행되는 서비스를 활용할 수 있습니다.

또는 권한이 없는 SSSD 컨테이너를 실행하여 외부 ID 소스(Identity Management 또는 Active Directory)의 사용자가 Atomic Host의 다른 컨테이너에서 실행되는 서비스를 활용할 수 있습니다. 이는 7장. 다른 구성을 사용하여 SSSD 컨테이너 배포 에서 다룹니다.

시작하기 전에 다음을 참조하십시오.

Identity Management 서버에 Atomic Host를 등록하려면 다음을 참조하십시오.

Atomic Host를 Active Directory에 등록하려면 다음을 참조하십시오.

6.1. 사전 요구 사항

  • 컨테이너를 설치하기 전에 Atomic Host 시스템을 업그레이드합니다. Red Hat Enterprise Linux Atomic Host 7 설치 및 구성 가이드에서 업그레이드 및 다운그레이드 를 참조하십시오.

6.2. 권한 있는 SSSD 컨테이너를 사용하여 ID 관리 도메인에 등록

다음 절차에서는 SSSD 컨테이너를 설치하고 ID 관리 서버에 등록하도록 구성하는 방법을 설명합니다. 설치 중:

  • 다양한 구성 및 데이터가 컨테이너에 복사됩니다.
  • Identity Management 클라이언트 구성을 위한 ipa-client-install 유틸리티가 시작됩니다.
  • Identity Management 도메인에 성공적으로 등록하면 구성과 데이터가 다시 Atomic Host 시스템에 복사됩니다.
사전 요구 사항

다음 중 하나가 필요합니다.

  • Atomic Host 시스템의 일회성 클라이언트 등록에서 Identity Management 도메인에 대한 임의 암호입니다. 암호를 생성하려면 Identity Management 서버에서 Atomic Host 시스템을 Identity Management 호스트로 추가합니다. 예를 들면 다음과 같습니다.

    $ ipa host-add <atomic.example.com> --random
    [... output truncated ...]
      Random password: 4Re[>5]OB$3K($qYs:M&}B
    [... output truncated ...]
    Copy to Clipboard Toggle word wrap

    자세한 내용은 Linux 도메인 ID, 인증 및 정책 가이드에서 클라이언트 설치를 참조하십시오.

  • 클라이언트를 등록할 수 있는 ID 관리 사용자의 자격 증명. 기본적으로 이 사용자는 admin 사용자입니다.
절차
  1. atomic install 명령을 사용하여 sssd 컨테이너 설치를 시작하고 새 호스트를 등록할 수 있는 IdM 사용자의 임의의 암호 또는 자격 증명을 제공합니다. 대부분의 경우 admin 사용자입니다.

    # atomic install rhel7/sssd --password "4Re[>5]OB$3K($qYs:M&}B"
    [... output truncated ...]
    Service sssd.service configured to run SSSD container.
    [... output truncated ...]
    Copy to Clipboard Toggle word wrap
    # atomic install rhel7/sssd -p admin -w <admin_password>
    [... output truncated ...]
    Service sssd.service configured to run SSSD container.
    [... output truncated ...]
    Copy to Clipboard Toggle word wrap

    atomic install rhel7/sssd 명령은 표준 ipa-client-install 옵션을 허용합니다. 구성에 따라 이러한 옵션을 사용하여 추가 정보를 제공해야 할 수 있습니다. 예를 들어 ipa-client-install 이 서버의 호스트 이름과 도메인 이름을 확인할 수 없는 경우 --server--domain 옵션을 사용합니다.

    # atomic install rhel7/sssd --password "4Re[>5]OB$3K($qYs:M&}B" --server <server.example.com> --domain <example.com>
    Copy to Clipboard Toggle word wrap
    참고

    atomic install 을 실행하기 전에 Atomic Host의 /etc/sssd/ ipa-client-install -options 파일에 옵션을 ipa- client-install에 전달할 수도 있습니다. 예를 들어 파일에는 다음이 포함될 수 있습니다.

    --password=4Re[>5]OB$3K($qYs:M&}B
    --server=server.example.com
    --domain=example.com
    Copy to Clipboard Toggle word wrap
  2. 다음 명령 중 하나를 사용하여 컨테이너에서 SSSD를 시작합니다.

    # atomic run rhel7/sssd
    Copy to Clipboard Toggle word wrap
    # systemctl start sssd
    Copy to Clipboard Toggle word wrap
  3. 선택 사항: 컨테이너가 실행 중인지 확인합니다.

    # docker ps
    CONTAINER ID        IMAGE
    5859b9366f0f        rhel7/sssd
    Copy to Clipboard Toggle word wrap
  4. 선택 사항: Atomic Host의 SSSD가 Identity Management 도메인에서 ID를 해석하는지 확인합니다.

    1. Identity Management 사용자에 대한 Kerberos 티켓을 가져오고 ssh 유틸리티를 사용하여 Atomic Host에 로그인합니다.

      $ atomic run sssd kinit <idm_user>
      $ ssh <idm_user>@<atomic.example.com>
      Copy to Clipboard Toggle word wrap
    2. id 유틸리티를 사용하여 원하는 사용자로 로그인했는지 확인합니다.

      $ id
      uid=1215800001(idm_user) gid=1215800001(idm_user) groups=1215800001(idm_user) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
      Copy to Clipboard Toggle word wrap
    3. 호스트 이름 유틸리티를 사용하여 Atomic Host 시스템에 로그인했는지 확인합니다.

      $ hostname
      atomic.example.com
      Copy to Clipboard Toggle word wrap

6.3. SSSD 컨테이너를 사용하여 Active Directory 도메인 연결

이 절차에서는 SSSD 컨테이너를 설치하고 Atomic Host 시스템에 Active Directory에 연결하도록 구성하는 방법을 설명합니다.

절차
  1. 시스템과 같은 Active Directory 도메인에 시스템을 등록할 수 있는 사용자의 암호를 Atomic Host 시스템의 /etc/sssd/realm-join-password 파일에 저장합니다.

    # echo <password> > /etc/sssd/realm-join-password
    Copy to Clipboard Toggle word wrap

    realm join 명령에서 암호를 명령줄 매개 변수로 허용하지 않으므로 파일에 암호를 제공해야 합니다.

    참고

    나중에 기본 이름(sssd) 대신 사용할 atomic install 명령과 함께 사용자 정의 컨테이너 이미지 이름을 지정하려면 /etc/sssd/<custom_container_name>/realm-join-password.

  2. atomic install 명령을 사용하여 sssd 컨테이너 설치를 시작하고 결합할 영역을 지정합니다. 작업에 기본 Administrator 사용자 계정을 사용하는 경우:

    # atomic install rhel7/sssd realm join <ad.example.com>
    docker run --rm=true --privileged --net=host -v /:/host -e NAME=sssd -e IMAGE=rhel7/sssd -e HOST=/host rhel7/sssd /bin/install.sh realm join ad.example.com
    Initializing configuration context from host ...
    Password for Administrator:
    Copying new configuration to host ...
    Service sssd.service configured to run SSSD container.
    Copy to Clipboard Toggle word wrap

    다른 사용자 계정을 사용하는 경우 --user 옵션으로 지정합니다.

    # atomic install rhel7/sssd realm join --user <user_name> <ad.example.com>
    Copy to Clipboard Toggle word wrap
  3. 다음 명령 중 하나를 사용하여 컨테이너에서 SSSD를 시작합니다.

    # atomic run rhel7/sssd
    Copy to Clipboard Toggle word wrap
    # systemctl start sssd
    Copy to Clipboard Toggle word wrap
  4. 선택 사항: 컨테이너가 실행 중인지 확인합니다.

    # docker ps
    CONTAINER ID        IMAGE
    5859b9366f0f        rhel7/sssd
    Copy to Clipboard Toggle word wrap
  5. 선택 사항: Atomic Host 시스템에서 SSSD가 Active Directory 도메인에서 ID를 해석하는지 확인합니다.

    # id administrator@<ad.example.com>
    uid=1397800500(administrator@ad.example.com) gid=1397800513(domain users@ad.example.com)
    Copy to Clipboard Toggle word wrap
추가 리소스

7장. 다른 구성을 사용하여 SSSD 컨테이너 배포

시스템 관리자는 각각 특정 ID 공급자(예: Identity Management 또는 Active Directory)를 사용하는 권한이 없는 여러 SSSD 컨테이너를 배포할 수 있습니다. 이를 통해 다른 애플리케이션 컨테이너에서 기본 ID 소스만 사용할 수 있습니다.

7.1. 사전 요구 사항

  • 다른 컨테이너의 SSSD 컨테이너에서 제공하는 서비스를 사용하려면 클라이언트 컨테이너의 rhel7 기본 이미지에 sssd-client 패키지가 포함되어야 합니다. 그러나 기본 rhel7 기본 이미지에는 이 패키지가 포함되어 있지 않습니다.

    다른 컨테이너의 SSSD 서비스를 사용해야 하는 경우 기본 rhel7 기본 이미지를 기반으로 클라이언트 컨테이너에 대한 자체 이미지를 만들고 sssd-client 를 포함합니다. 자세한 내용은 Docker 이미지 생성 을 참조하십시오.

7.2. SSSD 컨테이너 시작 및 ID 리소스에 연결

SSSD 컨테이너를 시작하고 Active Directory와 같은 ID 리소스에 참여하려면 다음을 수행합니다.

  1. atomic install 명령을 사용하여 SSSD 컨테이너를 시작합니다. 예를 들면 다음과 같습니다.

    # atomic install --opt1='--dns=192.0.2.1 --dns-search=idm.example.com --hostname=server.ad.example.com -e SSSD_CONTAINER_TYPE=application --net=default' --name=ad_sssd rhel7/sssd realm join -v ad.example.com
    Copy to Clipboard Toggle word wrap

    이전 예제에서는 ad_sssd 라는 SSSD 애플리케이션 컨테이너를 생성합니다. 컨테이너에서 실행되는 SSSD를 Active Directory 도메인에 자동으로 결합하기 위해 DNS 서버 IP 주소, 검색 도메인, 호스트 이름 및 영역 조인 명령을 atomic install 에 전달합니다.

    SSSD 컨테이너를 제공할 각 ID 공급자에 대해 이 단계를 반복합니다.

  2. 컨테이너를 시작합니다. 예를 들면 다음과 같습니다.

    # atomic run ad_sssd
    Copy to Clipboard Toggle word wrap

7.3. SSSD 캐시를 애플리케이션 컨테이너에 전달

애플리케이션 컨테이너에서 SSSD 캐시를 사용하려면 애플리케이션 컨테이너를 시작할 때 docker run 명령에 관련 디렉터리를 전달합니다.

# docker run --rm --name=<container_name> -v=/var/lib/sssd_container/<sssd-container-name>/client/etc/krb5.conf.d:/etc/krb5.conf.d -v=/var/lib/sssd_container/<sssd-container-name>/client/var/lib/sss/pipes/:/var/lib/sss/pipes/ <image_name>
Copy to Clipboard Toggle word wrap

이는 SSSD 컨테이너의 디렉터리를 애플리케이션 컨테이너 내부의 해당 디렉터리에 매핑합니다.

이제 컨테이너에서 실행 중인 애플리케이션에서 kinit 유틸리티 또는 mod_auth_gssapi 모듈을 사용하여 인증할 수 있습니다.

Identity Management 도메인의 경우 각 SSSD 컨테이너는 다른 호스트로 나타내며 관리자는 개별 컨테이너에 대한 액세스를 별도로 허용하거나 제한하도록 호스트 기반 액세스 제어(HBAC) 규칙을 설정할 수 있습니다.

ID 관리에서 HBAC 규칙 구성에 대한 자세한 내용은 Linux 도메인 ID, 인증 및 정책 가이드에서 호스트 기반 액세스 제어 구성을 참조하십시오.

9장. 중앙 집중식 Kerberos 자격 증명 캐시 생성 및 사용

시스템 관리자는 Kerberos 서버를 중앙에서 인증하여 자격 증명 캐시를 초기화할 수 있습니다. 컨테이너에서 실행되는 애플리케이션에서 키탭 파일, 인증 또는 업데이트를 별도로 관리하지 않고도 이 중앙 캐시를 사용하여 인증할 수 있습니다.

9.1. 사전 요구 사항

  • 다른 컨테이너의 SSSD 컨테이너에서 제공하는 서비스를 사용하려면 클라이언트 컨테이너의 rhel7 기본 이미지에 sssd-client 패키지가 포함되어야 합니다. 그러나 기본 rhel7 기본 이미지에는 이 패키지가 포함되어 있지 않습니다.

    다른 컨테이너의 SSSD 서비스를 사용해야 하는 경우 기본 rhel7 기본 이미지를 기반으로 클라이언트 컨테이너에 대한 자체 이미지를 만들고 sssd-client 를 포함합니다. 자세한 내용은 Docker 이미지 생성 을 참조하십시오.

9.2. SSSD 컨테이너를 사용하여 Active Directory 도메인 연결

이 절차에서는 SSSD 컨테이너를 설치하고 Atomic Host 시스템에 Active Directory에 연결하도록 구성하는 방법을 설명합니다.

절차
  1. 시스템과 같은 Active Directory 도메인에 시스템을 등록할 수 있는 사용자의 암호를 Atomic Host 시스템의 /etc/sssd/realm-join-password 파일에 저장합니다.

    # echo <password> > /etc/sssd/realm-join-password
    Copy to Clipboard Toggle word wrap

    realm join 명령에서 암호를 명령줄 매개 변수로 허용하지 않으므로 파일에 암호를 제공해야 합니다.

    참고

    나중에 기본 이름(sssd) 대신 사용할 atomic install 명령과 함께 사용자 정의 컨테이너 이미지 이름을 지정하려면 /etc/sssd/<custom_container_name>/realm-join-password.

  2. atomic install 명령을 사용하여 sssd 컨테이너 설치를 시작하고 결합할 영역을 지정합니다. 작업에 기본 Administrator 사용자 계정을 사용하는 경우:

    # atomic install --opt1='--dns=<DNS_server_IP> --dns-search=<DNS_domain> --hostname=<host_name> -e SSSD_CONTAINER_TYPE=application --net=default' rhel7/sssd realm join -v <ad.example.com>
    docker run --rm=true --privileged --net=host -v /:/host -e NAME=sssd -e IMAGE=rhel7/sssd -e HOST=/host rhel7/sssd /bin/install.sh realm join -v ad.example.com
    Initializing configuration context from host ...
     * Resolving: _ldap._tcp.ad.example.com
     * Performing LDAP DSE lookup on: 192.168.122.105
    ...
    Service sssd.service configured to run SSSD container.
    Copy to Clipboard Toggle word wrap

    다른 사용자 계정을 사용하는 경우 --user 옵션으로 지정합니다.

    # atomic install rhel7/sssd realm join --user <user_name> <ad.example.com>
    Copy to Clipboard Toggle word wrap
  3. 다음 명령 중 하나를 사용하여 컨테이너에서 SSSD를 시작합니다.

    # atomic run rhel7/sssd
    Copy to Clipboard Toggle word wrap
    # systemctl start sssd
    Copy to Clipboard Toggle word wrap
  4. 선택 사항: 컨테이너가 실행 중인지 확인합니다.

    # docker ps
    CONTAINER ID        IMAGE
    5859b9366f0f        rhel7/sssd
    Copy to Clipboard Toggle word wrap
  5. 선택 사항: Atomic Host 시스템에서 SSSD가 Active Directory 도메인에서 ID를 해석하는지 확인합니다.

    # id administrator@<ad.example.com>
    uid=1397800500(administrator@ad.example.com) gid=1397800513(domain users@ad.example.com)
    Copy to Clipboard Toggle word wrap
추가 리소스

9.3. 컨테이너에서 SSSD 실행 인증

컨테이너에서 실행되는 SSSD를 사용하여 Kerberos 서버에 인증하려면 다음을 수행합니다.

  1. docker exec 명령에 kinit 옵션을 전달합니다. 예를 들어 관리자로 인증하려면 다음을 수행합니다.

    # docker exec -i <container_name> kinit administrator
    Password for administrator@<DOMAIN>:
    Copy to Clipboard Toggle word wrap
  2. 필요한 경우 Kerberos 인증 정보 캐시가 Kerberos Credential Manager(KCM)에 저장되어 있는지 확인합니다.

    # docker exec -i <container_name> klist
    Ticket cache: KEYRING:persistent:0:0
    Default principal: Administrator@<DOMAIN>
    
    Valid starting     Expires            Service principal
    08/11/17 11:51:06  08/11/17 21:51:06  krbtgt/<DOMAIN>@<DOMAIN>
    	renew until 08/18/17 11:51:03
    Copy to Clipboard Toggle word wrap

9.4. 다른 컨테이너에서 SSSD Kerberos 캐시 사용

SSSD 컨테이너의 Kerberos 캐시를 다른 컨테이너 애플리케이션에 사용하려면 /var/lib/sssd_container/<sssd-container-name>/client/etc/krb5.conf.d/var/lib/sssd_container/<sssd-container-name>/client/var/lib/sss/pipes/ directory를 컨테이너로 전달합니다. 예를 들면 다음과 같습니다.

# docker run --rm --name=<application_container> -v=/var/lib/sssd_container/<sssd-container-name>/client/etc/krb5.conf.d:/etc/krb5.conf.d/ -v=/var/lib/sssd_container/<sssd-container-name>/client/var/lib/sss/pipes/:/var/lib/sss/pipes/ docker-registry.engineering.redhat.com/idmqe/sssd-client-test:2.0 klist
Copy to Clipboard Toggle word wrap

이전 예제에서는 컨테이너에서 klist 명령을 실행하고 SSSD 컨테이너에서 관리하는 Kerberos 티켓을 나열합니다.

참고

kdestroy 유틸리티를 사용하여 캐시에서 Kerberos 티켓을 삭제하면 애플리케이션 컨테이너에서 더 이상 티켓을 사용할 수 없습니다.

10장. SSSD 컨테이너 업데이트

이 절차에서는 새로운 버전의 rhel7/sssd 이미지가 릴리스되는 경우 SSSD(System Security Services Daemon) 컨테이너를 업데이트하는 방법을 설명합니다.

절차

  1. SSSD 서비스를 중지합니다.

    1. SSSD가 시스템 컨테이너로 실행되는 경우:

      # systemctl stop sssd
      Copy to Clipboard Toggle word wrap
    2. SSSD가 애플리케이션 컨테이너로 실행되는 경우:

      # atomic stop <container_name>
      Copy to Clipboard Toggle word wrap
  2. docker rm 명령을 사용하여 이미지를 제거합니다.

    # docker rm rhel7/sssd
    Copy to Clipboard Toggle word wrap
  3. 최신 SSSD 이미지를 설치합니다.

    # atomic install rhel7/sssd
    Copy to Clipboard Toggle word wrap
  4. SSSD 서비스를 시작합니다.

    1. SSSD가 시스템 컨테이너로 실행되는 경우:

      # systemctl start sssd
      Copy to Clipboard Toggle word wrap
    2. SSSD가 애플리케이션 컨테이너로 실행되는 경우 atomic start 명령을 사용하여 각 컨테이너를 시작합니다.

      # atomic start <container_name>
      Copy to Clipboard Toggle word wrap

11장. SSSD 컨테이너 설치 제거

이 장에서는 SSSD(System Security Services Daemon) 컨테이너를 제거하는 방법을 설명합니다.

11.1. Identity Management 도메인에 SSSD 컨테이너 등록 제거

이 절차에서는 Atomic Host 시스템에서 SSSD(System Security Services Daemon) 컨테이너를 제거하고 Identity Management 도메인에서 Atomic Host 시스템을 연결하지 않는 방법을 설명합니다.

절차
  1. atomic uninstall 명령을 사용하고 이미지 이름을 포함합니다.

    # atomic uninstall rhel7/sssd
    [... output truncated ...]
    Unenrolling client from IPA server
    [... output truncated ...]
    Client uninstall complete
    [... output truncated ...]
    Copy to Clipboard Toggle word wrap
  2. Identity Management 서버에서 Atomic Host 시스템의 호스트 항목을 제거합니다. 예를 들어 명령줄에서 다음을 수행합니다.

    $ ipa host-del <atomic.example.com>
    Copy to Clipboard Toggle word wrap
  3. Atomic Host의 sssd 서비스가 이제 구성되지 않은 컨테이너를 시작하지 못하도록 하려면 서비스의 systemd 유닛 파일을 제거하고 systemd 프로세스를 다시 로드합니다.

    # rm /etc/systemd/system/sssd.service
    # systemctl daemon-reload
    Copy to Clipboard Toggle word wrap

11.2. Active Directory 도메인에 SSSD 컨테이너 연결 제거

이 절차에서는 Atomic Host 시스템에서 SSSD(System Security Services Daemon) 컨테이너를 제거하고 Active Directory 도메인에서 Atomic Host 시스템을 할당 해제하는 방법을 설명합니다.

절차
  • atomic uninstall 명령을 사용하고, 이미지 이름을 포함하고, 종료할 영역을 지정합니다. 작업에 기본 Administrator 사용자 계정을 사용하는 경우:

    # atomic uninstall rhel7/sssd realm leave <ad.example.com>
    Copy to Clipboard Toggle word wrap

    다른 사용자 계정을 사용하는 경우 --user 옵션으로 지정합니다.

    # atomic uninstall rhel7/sssd realm leave --user <user_name> <ad.example.com>
    Copy to Clipboard Toggle word wrap

부록 A. 컨테이너에서 IdM 및 SSSD 실행 문제 해결을 위한 정보 수집

이 부록에서는 컨테이너에서 실행되는 IdM 및 SSSD와 Red Hat 지원 티켓에 연결할 수 있는 중요한 구성 및 로그 파일을 수집하는 데 도움이 되는 절차를 설명합니다.

A.1. Atomic Host에서 sosreport 생성

이 섹션에서는 rhel7/rhel-tools 컨테이너를 설치하고 시작하는 방법과 sosreport 생성 방법에 대해 설명합니다.

rhel7/rhel-tools 컨테이너는 이 컨테이너에서 실행되는 프로세스를 활성화하는 권한 있는 보안 스위치를 사용합니다.

  • 호스트의 모든 세마포 및 공유 메모리 세그먼트와 상호 작용하려면
  • 호스트의 네트워크에서 포트 및 원시 IP 트래픽을 수신 대기하려면
  • 호스트의 모든 프로세스와 상호 작용

rhel7/rhel-tools 는 호스트를 분리하지 않고 실행됩니다. 이 컨테이너에서 제공하는 유틸리티를 사용하는 것은 시스템에서 root 사용자로 직접 실행하는 것과 유사합니다.

절차

  1. rhel7/rhel-tools 컨테이너를 설치합니다.

    # docker pull rhel7/rhel-tools
    Copy to Clipboard Toggle word wrap
  2. rhel7/rhel-tools 컨테이너를 시작합니다.

    # atomic run rhel7/rhel-tools
    Copy to Clipboard Toggle word wrap
  3. sosreport 유틸리티를 실행합니다.

    # sosreport
    Copy to Clipboard Toggle word wrap

    유틸리티는 수집된 정보의 아카이브를 /host/var/tmp/sos_tal4k_* 파일에 저장합니다.

  4. exit 를 입력하여 컨테이너를 종료합니다.

    # exit
    Copy to Clipboard Toggle word wrap
  5. 지원 요청에 sosreport 아카이브를 연결합니다.

A.2. IdM 및 SSSD 컨테이너 버전 표시

이 섹션에서는 설치된 IdM 및 SSSD 컨테이너 버전을 표시하는 방법을 설명합니다. 예를 들어 최신 버전에서 문제가 해결된 경우 이 정보를 사용하여 Red Hat Enterprise Linux 릴리스 노트를 검색합니다.

절차

  • rhel7/ipa-server 컨테이너 버전을 표시합니다.

    # atomic images version rhel7/ipa-server
    IMAGE NAME                                            VERSION   IMAGE ID
    registry.access.redhat.com/rhel7/ipa-server:latest    4.6.5-29  9d500a8e4296
    Copy to Clipboard Toggle word wrap
  • rhel7/sssd 컨테이너 버전을 표시합니다.

    # atomic images version rhel7/sssd
    IMAGE NAME                                       VERSION   IMAGE ID
    registry.access.redhat.com/rhel7/sssd:latest     7.7-12    19e5cab1c905
    Copy to Clipboard Toggle word wrap

A.3. 컨테이너에서 실행 중인 SSSD에 대한 디버그 로그 생성

이 섹션에서는 중요한 SSSD 구성 및 로그 파일로 아카이브를 생성하는 방법에 대해 설명합니다.

절차

  1. sssd 컨테이너를 중지합니다.

    # docker stop sssd
    Copy to Clipboard Toggle word wrap
  2. SSSD 캐시 및 로그 디렉터리의 내용을 제거합니다.

    # rm -rf /var/lib/sss/db/* /var/lib/sss/mc/* /var/log/sssd/*
    Copy to Clipboard Toggle word wrap
  3. /etc/sssd/sssd.conf 파일을 편집하고 debug_level 매개변수를 9 로 설정합니다.

    [domain/dockerlab.local]
    ...
    debug_level = 9
    
    [nss]
    debug_level = 9
    Copy to Clipboard Toggle word wrap
  4. sssd 컨테이너를 시작합니다.

    docker start sssd
    Copy to Clipboard Toggle word wrap
  5. 관련 SSSD 구성 및 로그 파일이 포함된 /tmp/sssd-debug.tar.gz 아카이브를 생성합니다.

    # tar czvf /tmp/sssd-debug.tar.gz /etc/sssd/sssd.conf  /etc/nsswitch.conf /etc/krb5.conf /etc/pam.d /etc/samba/smb.conf /var/log/secure /var/log/messages /var/log/sssd
    Copy to Clipboard Toggle word wrap
  6. /tmp/sssd-debug.tar.gz 파일을 지원 케이스에 연결합니다.

A.4. IdM 클라이언트 설치 로그 표시

이 섹션에서는 IdM 클라이언트 설치 로그를 표시하는 방법을 설명합니다. 클라이언트 설치에 실패하면 로그 파일을 사용하면 문제를 디버깅할 수 있습니다.

절차

  • IdM 클라이언트 설치 로그를 표시하려면 다음을 수행합니다.

    # cat /var/log/sssd/install/ipaclient-install.log
    Copy to Clipboard Toggle word wrap

부록 B. 개정 내역

아래 버전 번호는 Red Hat Enterprise Linux 버전 번호가 아닌 이 설명서의 버전과 관련이 있습니다.

Expand
버전날짜 및 변경author

7.0-11

2019년 10월 15일: 문제 해결 부록이 추가되었습니다.

Marc Muehlfeld

7.0-10

2019년 9월 26일: HBAC 규칙을 사용하여 SSSD 컨테이너에 대한 액세스 부여 및 제한 사항

Marc Muehlfeld

7.0-9

2019년 8월 23일: Atomic Host에서 ID 및 인증 서비스를 제공하도록 SSSD 컨테이너 구성 도입.

Marc Muehlfeld

7.0-8

2018년 4월 05일: 7.5 GA 게시를 위한 문서 준비.

Lucie Maoctetsskovoctets

7.0-7

2018년 3월 19일: 다른 구성으로 sssd 컨테이너 배포 업데이트.

Lucie Maoctetsskovoctets

7.0-6

2018년 1월 29일: 마이너 픽스.

Aneta hierateflovoctets Petrovoctets

7.0-5

2017년 11월 20일: SSSD 컨테이너를 사용하여 ID 관리 도메인에 대한 등록 업데이트.

Aneta hierateflovoctets Petrovoctets

7.0-4

2017년 9월 12일: AD 도메인에 가입된 SSSD 컨테이너를 설치 제거하는 절차를 추가했습니다.

Aneta hierateflovoctets Petrovoctets

7.0-3

2017년 8월 28일: 더 많은 사용자 스토리 및 수정 사항이 포함된 sssd 컨테이너를 사용하여 부분을 업데이트했습니다.

Aneta hierateflovoctets Petrovoctets

7.0-2

2017년 8월 14일: 사용 가능한 컨테이너 이미지 업데이트 섹션 및 SSSD 컨테이너를 사용하여 Active Directory 도메인에 가입.

Aneta hierateflovoctets Petrovoctets

7.0-1

2017년 7월 18일: 7.4 GA 게시용 문서 버전.

Aneta hierateflovoctets Petrovoctets

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat