1.3. 키 관리자 배포


OpenStack Key Manager를 배포하려면 먼저 barbican 서비스에 대한 환경 파일을 생성하고 추가 환경 파일을 사용하여 오버클라우드를 재배포합니다. 그런 다음 생성자 역할에 사용자를 추가하여 barbican 보안을 생성 및 편집하거나 시크릿을 barbican에 저장하는 암호화된 볼륨을 생성합니다.

참고

이 절차에서는 simple_crypto 백엔드를 사용하도록 barbican을 구성합니다. 다른 구성이 필요한 PKCS#11 및 HSM 사용 방법에 따라 다른 heat 템플릿 파일과 같은 추가 백엔드를 사용할 수 있습니다. KMIP, Hashicorp Vault 및 DogTag와 같은 기타 백엔드는 지원되지 않습니다.

사전 요구 사항

  • 오버클라우드가 배포 및 실행 중

절차

  1. 언더클라우드 노드에서 barbican의 환경 파일을 만듭니다.

    $ cat /home/stack/templates/configure-barbican.yaml
    	parameter_defaults:
    	  BarbicanSimpleCryptoGlobalDefault: true

    BarbicanSimpleCryptoGlobalDefault 는 이 플러그인을 글로벌 기본 플러그인으로 설정합니다.

    환경 파일에 다음 옵션을 추가할 수도 있습니다.

    • BarbicanPassword - barbican 서비스 계정의 암호를 설정합니다.
    • BarbicanWorkers - barbican::wsgi::apache 의 작업자 수를 설정합니다. 기본적으로 '%{::processorcount}' 를 사용합니다.
    • BarbicanDebug - 디버깅을 활성화합니다.
    • BarbicanPolicies - barbican에 대해 구성할 정책을 정의합니다. 해시 값을 사용합니다(예: { barbican-context_is_admin: { key: context_is_admin, value: 'role:admin' } } } . 그러면 이 항목이 /etc/barbican/policy.json 에 추가됩니다. 정책은 이후 섹션에서 자세히 설명합니다.
    • BarbicanSimpleCryptoKek - none이 지정되지 않은 경우 director에서 KEK(Key Encryption Key)를 생성합니다.
  2. 스크립트에서 이전에 추가한 역할, 템플릿 또는 환경 파일을 제거하지 않고 openstack overcloud deploy 명령에 다음 파일을 추가합니다.

    • /usr/share/openstack-tripleo-heat-templates/environments/services/barbican.yaml
    • /usr/share/openstack-tripleo-heat-templates/environments/barbican-backend-simple-crypto.yaml
    • /home/stack/templates/configure-barbican.yaml
  3. 배포 스크립트를 다시 실행하여 배포에 변경 사항을 적용합니다.

    $ openstack overcloud deploy \
        --timeout 100 \
        --templates /usr/share/openstack-tripleo-heat-templates \
        --stack overcloud \
        --libvirt-type kvm \
        --ntp-server clock.redhat.com \
        -e /home/stack/containers-prepare-parameter.yaml \
        -e /home/stack/templates/config_lvm.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
        -e /home/stack/templates/network/network-environment.yaml \
        -e /home/stack/templates/hostnames.yml \
        -e /home/stack/templates/nodes_data.yaml \
        -e /home/stack/templates/extra_templates.yaml \
        -e /home/stack/container-parameters-with-barbican.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/services/barbican.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/barbican-backend-simple-crypto.yaml \
        -e /home/stack/templates/configure-barbican.yaml \
        --log-file overcloud_deployment_38.log
  4. 작성자 역할의 ID를 검색합니다.

    openstack role show creator
    +-----------+----------------------------------+
    | Field     | Value                            |
    +-----------+----------------------------------+
    | domain_id | None                             |
    | id        | 4e9c560c6f104608948450fbf316f9d7 |
    | name      | creator                          |
    +-----------+----------------------------------+
    참고

    OpenStack Key Manager(barbican)가 설치되어 있지 않으면 작성자 역할이 표시되지 않습니다.

  5. 사용자를 작성자 역할에 할당하고 관련 프로젝트를 지정합니다. 이 예에서는 project_a 프로젝트에서 user1 이라는 사용자가 작성자 역할에 추가됩니다.

    openstack role add --user user1 --project project_a 4e9c560c6f104608948450fbf316f9d7

검증

  1. 테스트 시크릿을 생성합니다. 예를 들면 다음과 같습니다.

    $ openstack secret store --name testSecret --payload 'TestPayload'
    +---------------+------------------------------------------------------------------------------------+
    | Field         | Value                                                                              |
    +---------------+------------------------------------------------------------------------------------+
    | Secret href   | https://192.168.123.163/key-manager/v1/secrets/4cc5ffe0-eea2-449d-9e64-b664d574be53 |
    | Name          | testSecret                                                                         |
    | Created       | None                                                                               |
    | Status        | None                                                                               |
    | Content types | None                                                                               |
    | Algorithm     | aes                                                                                |
    | Bit length    | 256                                                                                |
    | Secret type   | opaque                                                                             |
    | Mode          | cbc                                                                                |
    | Expiration    | None                                                                               |
    +---------------+------------------------------------------------------------------------------------+
  2. 방금 생성한 시크릿의 페이로드를 검색합니다.

    openstack secret get https://192.168.123.163/key-manager/v1/secrets/4cc5ffe0-eea2-449d-9e64-b664d574be53 --payload
    +---------+-------------+
    | Field   | Value       |
    +---------+-------------+
    | Payload | TestPayload |
    +---------+-------------+
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.