1.3. Workflow 서비스를 사용하여 Fernet 키 순환
기본적으로 director는 오버클라우드 Fernet 키를 관리합니다. 이 설정은 ManageKeystoneFernetKeys 를 사용하여 환경 파일에서 관리됩니다. 결과적으로 Fernet 키는 KeystoneFernetKeys 섹션의 Workflow 서비스(mistral)에 저장됩니다. 이 접근 방식은 워크플로 서비스를 사용하여 Fernet 키를 회전하고 스택 업데이트 후에도 키가 지속됨을 의미합니다.
절차
기존 Fernet 키를 검토합니다.
Fernet 키 위치를 식별합니다. 컨트롤러 노드에 heat-admin 사용자로 로그인하고
crudini 명령을 사용하여Fernet 키를 쿼리합니다.[stack@<undercloud_host> ~]$ ssh heat-admin@overcloud-controller-o [heat-admin@overcloud-controller-0 ~]$ sudo crudini --get /var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf fernet_tokens key_repository /etc/keystone/fernet-keys
참고/etc/keystone/디렉터리는 컨테이너 파일 시스템 경로를 나타냅니다.현재 Fernet 키 디렉토리를 검사합니다.
[heat-admin@overcloud-controller-0 ~]$ sudo ls /var/lib/config-data/puppet-generated/keystone/etc/keystone/fernet-keys 0 1 2
-
0- 다음 기본 키가 되고 항상0에 번호가 매겨진 준비 키가 들어 있습니다. -
1- 보조 키를 포함합니다. 2- 기본 키를 포함합니다. 이 숫자는 키가 순환될 때마다 증가합니다. 가장 많은 숫자는 항상 기본 키로 사용됩니다.참고-
최대 키 수는
max_active_keys속성으로 설정됩니다. 기본값은 5개 키입니다. - 키는 모든 컨트롤러 노드에 전파됩니다.
-
최대 키 수는
-
workflow명령을 사용하여 Fernet 키를 순환합니다.[stack@director ~]$ source ~/stackrc [stack@director ~]$ openstack workflow execution create tripleo.fernet_keys.v1.rotate_fernet_keys {"container": "overcloud"}
--------------------------------------------------------------+ | Field | Value |--------------------------------------------------------------+ | ID | 58c9c664-b966-4f82-b368-af5ed8de5b47 | | Workflow ID | 78f0990a-3d34-4bf2-a127-10c149bb275c | | Workflow name | tripleo.fernet_keys.v1.rotate_fernet_keys | | Description | | | Task Execution ID | <none> | | State | RUNNING | | State info | None | | Created at | 2017-12-20 11:13:50 | | Updated at | 2017-12-20 11:13:50 |--------------------------------------------------------------+
검증
ID를 검색하고 워크플로가 성공했는지 확인합니다.
[stack@director ~]$ openstack workflow execution show 58c9c664-b966-4f82-b368-af5ed8de5b47
--------------------------------------------------------------+ | Field | Value |--------------------------------------------------------------+ | ID | 58c9c664-b966-4f82-b368-af5ed8de5b47 | | Workflow ID | 78f0990a-3d34-4bf2-a127-10c149bb275c | | Workflow name | tripleo.fernet_keys.v1.rotate_fernet_keys | | Description | | | Task Execution ID | <none> | | State | SUCCESS | | State info | None | | Created at | 2017-12-20 11:13:50 | | Updated at | 2017-12-20 11:15:00 |--------------------------------------------------------------+컨트롤러 노드에서 Fernet 키 수를 검토하고 이전 결과와 비교합니다.
[heat-admin@overcloud-controller-0 ~]$ sudo ls /var/lib/config-data/puppet-generated/keystone/etc/keystone/fernet-keys 0 1 2 3
-
0- 준비 된 키를 포함 하 고 항상 번호0. 이 키는 다음 순환 중에 기본 키가 됩니다. -
1 & 2- 보조 키를 유지합니다. 3- 기본 키를 포함합니다. 이 숫자는 키를 회전할 때마다 증가합니다. 가장 많은 숫자는 항상 기본 키로 사용됩니다.참고-
최대 키 수는
max_active_keys속성으로 설정됩니다. 기본값은 5개 키입니다. - 키는 모든 컨트롤러 노드에 전파됩니다.
-
최대 키 수는
-