4.6. 키 백업 및 복원Backup and Restore Keys


암호화 키 백업 및 복원 프로세스는 백엔드 유형에 따라 달라집니다.

4.6.1. 간단한 암호화 백엔드를 백업하고 복원하십시오.

간단한 암호화 백엔드를 위해 두 개의 개별 구성 요소(KEK와 데이터베이스)를 백업해야 합니다. 백업 및 복원 프로세스를 정기적으로 테스트하는 것이 좋습니다.

4.6.1.1. 백업 및 KEK 복원

간단한 암호화 백엔드의 경우 마스터 KEK가 포함된 barbican.conf 파일을 백업해야 합니다. 이 파일은 보안 강화 위치에 백업해야 합니다. 실제 데이터는 다음 섹션에 설명된 암호화된 상태로 Barbican 데이터베이스에 저장됩니다.

  • 백업에서 키를 복원하려면 기존 barbican.conf 에 복원된 barbican.conf 를 복사해야 합니다.

4.6.1.2. 백엔드 데이터베이스 백업 및 복원

이 절차에서는 간단한 암호화 백엔드에 대한 barbican 데이터베이스를 백업하고 복원하는 방법을 설명합니다. 이를 설명하기 위해 키를 생성하고 barbican에 시크릿을 업로드합니다. 그런 다음 barbican 데이터베이스를 백업하고 생성한 시크릿을 삭제합니다. 그런 다음 데이터베이스를 복원하고 이전에 만든 보안이 복구되었는지 확인합니다.

참고

또한 KEK를 백업했는지도 중요한 요구 사항이므로 백업해야 합니다. 이는 이전 섹션에서 설명합니다.

4.6.1.2.1. 테스트 시크릿 생성
  1. 오버클라우드에서 order create 를 사용하여 새 256비트 키를 생성하고 barbican에 저장합니다. 예를 들면 다음과 같습니다.

    (overcloud) [stack@undercloud-0 ~]$ openstack secret order create --name swift_key --algorithm aes --mode ctr --bit-length 256 --payload-content-type=application/octet-stream key
    +----------------+-----------------------------------------------------------------------+
    | Field          | Value                                                                 |
    +----------------+-----------------------------------------------------------------------+
    | Order href     | http://10.0.0.104:9311/v1/orders/2a11584d-851c-4bc2-83b7-35d04d3bae86 |
    | Type           | Key                                                                   |
    | Container href | N/A                                                                   |
    | Secret href    | None                                                                  |
    | Created        | None                                                                  |
    | Status         | None                                                                  |
    | Error code     | None                                                                  |
    | Error message  | None                                                                  |
    +----------------+-----------------------------------------------------------------------+
    Copy to Clipboard Toggle word wrap
  2. 테스트 보안을 생성합니다.

    (overcloud) [stack@undercloud-0 ~]$ openstack secret store --name testSecret --payload 'TestPayload'
    +---------------+------------------------------------------------------------------------+
    | Field         | Value                                                                  |
    +---------------+------------------------------------------------------------------------+
    | Secret href   | http://10.0.0.104:9311/v1/secrets/93f62cfd-e008-401f-be74-bf057c88b04a |
    | Name          | testSecret                                                             |
    | Created       | None                                                                   |
    | Status        | None                                                                   |
    | Content types | None                                                                   |
    | Algorithm     | aes                                                                    |
    | Bit length    | 256                                                                    |
    | Secret type   | opaque                                                                 |
    | Mode          | cbc                                                                    |
    | Expiration    | None                                                                   |
    +---------------+------------------------------------------------------------------------+
    Copy to Clipboard Toggle word wrap
  3. 보안이 생성되었는지 확인합니다.

    (overcloud) [stack@undercloud-0 ~]$ openstack secret list
    +------------------------------------------------------------------------+------------+---------------------------+--------+-------------------------------------------+-----------+------------+-------------+------+------------+
    | Secret href                                                            | Name       | Created                   | Status | Content types                             | Algorithm | Bit length | Secret type | Mode | Expiration |
    +------------------------------------------------------------------------+------------+---------------------------+--------+-------------------------------------------+-----------+------------+-------------+------+------------+
    | http://10.0.0.104:9311/v1/secrets/93f62cfd-e008-401f-be74-bf057c88b04a | testSecret | 2018-06-19T18:25:25+00:00 | ACTIVE | {u'default': u'text/plain'}               | aes       |        256 | opaque      | cbc  | None       |
    | http://10.0.0.104:9311/v1/secrets/f664b5cf-5221-47e5-9887-608972a5fefb | swift_key  | 2018-06-19T18:24:40+00:00 | ACTIVE | {u'default': u'application/octet-stream'} | aes       |        256 | symmetric   | ctr  | None       |
    +------------------------------------------------------------------------+------------+---------------------------+--------+-------------------------------------------+-----------+------------+-------------+------+------------+
    Copy to Clipboard Toggle word wrap
4.6.1.2.2. barbican 데이터베이스 백업

controller-0 노드에 로그인한 동안 다음 단계를 실행합니다.

참고

barbican 사용자만 barbican 데이터베이스에 액세스할 수 있습니다. 따라서 barbican 사용자 암호는 데이터베이스를 백업하거나 복원하는 데 필요합니다.

  1. barbican 사용자 암호 검색. 예를 들면 다음과 같습니다.

    [heat-admin@controller-0 ~]$ sudo grep -r "barbican::db::mysql::password" /etc/puppet/hieradata
    /etc/puppet/hieradata/service_configs.json:    "barbican::db::mysql::password": "seDJRsMNRrBdFryCmNUEFPPev",
    Copy to Clipboard Toggle word wrap
  2. barbican 데이터베이스를 백업합니다.

    [heat-admin@controller-0 ~]$ mysqldump -u barbican -p"seDJRsMNRrBdFryCmNUEFPPev" barbican > barbican_db_backup.sql
    Copy to Clipboard Toggle word wrap
  3. 데이터베이스 백업은 /home/heat-admin에 저장됩니다.

    [heat-admin@controller-0 ~]$ ll
    total 36
    -rw-rw-r--. 1 heat-admin heat-admin 36715 Jun 19 18:31 barbican_db_backup.sql
    Copy to Clipboard Toggle word wrap
4.6.1.2.3. 테스트 시크릿 삭제
  1. 오버클라우드에서 이전에 생성한 시크릿을 삭제하고 더 이상 존재하지 않는지 확인합니다. 예를 들면 다음과 같습니다.

    (overcloud) [stack@undercloud-0 ~]$ openstack secret delete http://10.0.0.104:9311/v1/secrets/93f62cfd-e008-401f-be74-bf057c88b04a
    (overcloud) [stack@undercloud-0 ~]$ openstack secret delete http://10.0.0.104:9311/v1/secrets/f664b5cf-5221-47e5-9887-608972a5fefb
    (overcloud) [stack@undercloud-0 ~]$ openstack secret list
    
    (overcloud) [stack@undercloud-0 ~]$
    Copy to Clipboard Toggle word wrap
4.6.1.2.4. 데이터베이스 복원

controller-0 노드에 로그인한 동안 다음 단계를 실행합니다.

  1. 데이터베이스 복원을 위해 barbican 사용자에게 액세스 권한을 부여하는 컨트롤러에 barbican 데이터베이스가 있는지 확인합니다.

    [heat-admin@controller-0 ~]$ mysql -u barbican -p"seDJRsMNRrBdFryCmNUEFPPev"
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 3799
    Server version: 10.1.20-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | barbican           |
    | information_schema |
    +--------------------+
    2 rows in set (0.00 sec)
    
    MariaDB [(none)]> exit
    Bye
    [heat-admin@controller-0 ~]$
    Copy to Clipboard Toggle word wrap

9) 백업 파일을 barbican 데이터베이스에 복원합니다.

+

[heat-admin@controller-0 ~]$ sudo mysql -u barbican -p"seDJRsMNRrBdFryCmNUEFPPev" barbican < barbican_db_backup.sql
[heat-admin@controller-0 ~]$
Copy to Clipboard Toggle word wrap
4.6.1.2.5. 복원 프로세스 확인
  1. 오버클라우드에서 테스트 보안이 성공적으로 복원되었는지 확인합니다.

    (overcloud) [stack@undercloud-0 ~]$ openstack secret list
    +------------------------------------------------------------------------+------------+---------------------------+--------+-------------------------------------------+-----------+------------+-------------+------+------------+
    | Secret href                                                            | Name       | Created                   | Status | Content types                             | Algorithm | Bit length | Secret type | Mode | Expiration |
    +------------------------------------------------------------------------+------------+---------------------------+--------+-------------------------------------------+-----------+------------+-------------+------+------------+
    | http://10.0.0.104:9311/v1/secrets/93f62cfd-e008-401f-be74-bf057c88b04a | testSecret | 2018-06-19T18:25:25+00:00 | ACTIVE | {u'default': u'text/plain'}               | aes       |        256 | opaque      | cbc  | None       |
    | http://10.0.0.104:9311/v1/secrets/f664b5cf-5221-47e5-9887-608972a5fefb | swift_key  | 2018-06-19T18:24:40+00:00 | ACTIVE | {u'default': u'application/octet-stream'} | aes       |        256 | symmetric   | ctr  | None       |
    +------------------------------------------------------------------------+------------+---------------------------+--------+-------------------------------------------+-----------+------------+-------------+------+------------+
    (overcloud) [stack@undercloud-0 ~]$
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동