Red Hat Training

A Red Hat training course is available for RHEL 8

83장. IdM 서비스 시크릿 관리: 시크릿 저장 및 검색

이 섹션에서는 관리자가 ansible-freeipa vault 모듈을 사용하여 서비스 시크릿을 중앙 집중식 위치에 안전하게 저장하는 방법을 보여줍니다. 예제에 사용되는 자격 증명 모음 은 CloudEvent입니다. 즉, 관리자는 다음 단계를 수행해야 함을 의미합니다.

  1. 예를 들어 openssl 유틸리티를 사용하여 개인 키를 생성합니다.
  2. 개인 키를 기반으로 공개 키를 생성합니다.

서비스 비밀은 관리자가 자격 증명 모음에 보관할 때 공개 키로 암호화됩니다. 이후 도메인의 특정 시스템에서 호스팅되는 서비스 인스턴스는 개인 키를 사용하여 비밀을 검색합니다. 서비스와 관리자만 비밀에 액세스할 수 있습니다.

보안이 손상되면 관리자는 서비스 자격 증명 모음에서 암호를 교체한 다음 손상되지 않은 개별 서비스 인스턴스에 재배포할 수 있습니다.

사전 요구 사항

  • IdM 도메인에 있는 하나 이상의 서버에 KRA(Key Recovery Authority) 인증 시스템 구성 요소가 설치되었습니다. 자세한 내용은 IdM에 키 복구 권한 설치를 참조하십시오.

이 섹션에는 이러한 절차가 포함되어 있습니다.

용어 사용

절차에서 다음을 수행합니다.

  • admin 은 서비스 암호를 관리하는 관리자입니다.
  • private-key-to-an-externally-signed-certificate.pem 은 서비스 비밀을 포함하는 파일입니다(이 경우 외부 서명 인증서에 대한 개인 키). 자격 증명 모음에서 비밀을 검색하는 데 사용되는 개인 키와 이 개인 키를 혼동하지 마십시오.
  • secret_vault 는 서비스에 대해 생성된 자격 증명 모음입니다.
  • HTTP/webserver.idm.example.com 은 비밀이 보관되는 서비스입니다.
  • service-public.pem 은 password _vault 에 저장된 암호를 암호화하는 데 사용되는 서비스 공개 키입니다.
  • service-private.pemsecret_vault 에 저장된 암호를 해독하는 데 사용되는 서비스 개인 키입니다.

83.1. 비대칭 자격 증명 모음에 IdM 서비스 시크릿 저장

다음 절차에 따라 asymmetric 자격 증명 모음을 만들고 이를 사용하여 서비스 시크릿을 보관합니다.

사전 요구 사항

  • IdM 관리자 암호를 알고 있습니다.

절차

  1. 관리자로 로그인합니다.

    $ kinit admin
  2. 서비스 인스턴스의 공개 키를 가져옵니다. 예를 들어 openssl 유틸리티를 사용합니다.

    1. service-private.pem 개인 키를 생성합니다.

      $ openssl genrsa -out service-private.pem 2048
      Generating RSA private key, 2048 bit long modulus
      .+++
      ...........................................+++
      e is 65537 (0x10001)
    2. 개인 키를 기반으로 service-public.pem 공개 키를 생성합니다.

      $ openssl rsa -in service-private.pem -out service-public.pem -pubout
      writing RSA key
  3. 서비스 인스턴스 자격 증명 모음으로 비대칭 자격 증명 모음을 생성하고 공개 키를 제공합니다.

    $ ipa vault-add secret_vault --service HTTP/webserver.idm.example.com --type asymmetric --public-key-file service-public.pem
    ----------------------------
    Added vault "secret_vault"
    ----------------------------
    Vault name: secret_vault
    Type: asymmetric
    Public key: LS0tLS1C...S0tLS0tCg==
    Owner users: admin
    Vault service: HTTP/webserver.idm.example.com@IDM.EXAMPLE.COM

    자격 증명 모음에 보관된 암호는 키를 사용하여 보호합니다.

  4. 서비스 시크릿을 서비스 자격 증명 모음에 보관합니다.

    $ ipa vault-archive secret_vault --service HTTP/webserver.idm.example.com --in private-key-to-an-externally-signed-certificate.pem
    -----------------------------------
    Archived data into vault "secret_vault"
    -----------------------------------

    그러면 서비스 인스턴스 공개 키를 사용하여 비밀을 암호화합니다.

시크릿이 필요한 모든 서비스 인스턴스에 대해 이러한 단계를 반복합니다. 각 서비스 인스턴스에 대해 새 비대칭 자격 증명 모음을 만듭니다.