Loading...
MySQL 9.5 Reference Manual 9.5의 25.5.28 ndb_sign_keys — Create, Sign, and Manage TLS Keys and Certificates for NDB Cluster의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
NDB Cluster에서 TLS 키와 인증서 관리는 실행 가능한 유틸리티 프로그램인
ndb_sign_keys로 구현되며, 일반적으로 MySQL bin 디렉터리에서
찾을 수 있습니다. 이 프로그램은 키와 인증서 생성, 서명, 폐기와 같은 기능을
수행하며, 일반적으로 다음과 같이 동작합니다:
ndb_sign_keys는 ndb_mgmd에 접속하여 클러스터의 구성을 가져옵니다.
로컬 머신에서 실행되도록 구성된 각 클러스터 노드에 대해, ndb_sign_keys는 해당 노드의 개인 키를 찾아 서명하여, 활성 노드 인증서를 생성합니다.
ndb_sign_keys로 수행할 수 있는 추가 작업은 다음과 같습니다:
실행 중인 ndb_mgmd가 아닌 config.ini 파일에서 구성 정보를 얻기
아직 존재하지 않는 경우 클러스터의 certificate authority (CA) 생성
개인 키 생성
키와 인증서를 active가 아닌 pending 상태로 저장
이 섹션 뒷부분에서 설명하는 커맨드라인 옵션을 사용하여 지정된 단일 노드에 대한 키 서명
원격 호스트에 있는 CA에 로컬 키에 대한 서명을 요청
ndb_sign_keys와 함께 사용할 수 있는 옵션은 다음 표와 같습니다. 추가 설명은 표 다음에 이어집니다.
| Property | Value |
|---|---|
| Command-Line Format | --bind-host=host |
| Type | String |
| Default Value | mgmd, api |
hostname 바인딩을 가져야 하는 노드 타입 목록에 바인딩된 인증서를
생성합니다. 이 목록은 (mgmd,db,api) 집합에서 선택합니다.
| Property | Value |
|---|---|
| Command-Line Format | --bound-hostname=hostname |
| Type | String |
| Default Value | [none] |
이 옵션에 전달된 hostname에 바인딩된 인증서를 생성합니다.
| Property | Value |
|---|---|
| Command-Line Format | --CA-cert=name |
| Type | File name |
| Default Value | NDB-Cluster-cert |
CA 인증서 파일 이름으로 이 옵션에 전달된 name을 사용합니다.
| Property | Value |
|---|---|
| Command-Line Format | --CA-key=name |
| Type | File name |
| Default Value | NDB-Cluster-private-key |
CA 개인 키 파일 이름으로 이 옵션에 전달된 name을 사용합니다.
| Property | Value |
|---|---|
| Command-Line Format | --CA-ordinal=name |
| Type | String |
| Default Value | [none] |
| Valid Values | First<br>Second |
CA의 서수(ordinal) 이름을 설정합니다.
--create-CA의 기본값은
First이고,
--rotate-CA의 기본값은
Second입니다. CA 인증서의 Common Name은
“MySQL NDB Cluster ordinal Certificate”이며,
여기서 _ordinal_은 이 옵션에 전달된 서수 이름입니다.
| Property | Value |
|---|---|
| Command-Line Format | --CA-search-path=name |
| Type | File name |
| Default Value | [none] |
CA 파일을 검색할 디렉터리 목록을 지정합니다. Unix 플랫폼에서는
디렉터리 이름을 콜론(:)으로 구분하고, Windows 시스템에서는
세미콜론 문자(;)를 구분자로 사용합니다. 디렉터리 참조는
상대 또는 절대일 수 있습니다. 하나 이상의 환경 변수를
포함할 수 있으며, 각 변수는 달러 기호($) 접두사로 표시되고 사용 전에
확장됩니다.
검색은 가장 왼쪽에 있는 디렉터리부터 시작하여 파일이 발견될 때까지
왼쪽에서 오른쪽으로 진행됩니다. 빈 문자열은 빈 검색 경로를 나타내며,
모든 검색이 실패하게 합니다. 점 하나(.)로 이루어진 문자열은
검색 경로가 현재 작업 디렉터리로 제한됨을 의미합니다.
검색 경로가 제공되지 않으면, 컴파일 시 내장된 기본값이 사용됩니다.
이 값은 사용하는 플랫폼에 따라 달라집니다. Windows에서는
$HOMEPATH\ndb-tls이고, 그 밖의 플랫폼(Linux 포함)에서는
$HOME/ndb-tls입니다. 이 기본값은
-DWITH_NDB_TLS_SEARCH_PATH를 사용하여 NDB Cluster를
컴파일함으로써 재정의할 수 있습니다.
| Property | Value |
|---|---|
| Command-Line Format | --CA-tool=name |
| Type | File name |
| Default Value | [none] |
경로를 포함한 실행 가능한 헬퍼 도구를 지정합니다.
| Property | Value |
|---|---|
| Command-Line Format | --check |
인증서 만료 날짜를 확인합니다.
| Property | Value |
|---|---|
| Command-Line Format | --config-file=file |
| Disabled by | no-config |
| Type | File name |
| Default Value | [none] |
클러스터 구성 파일(일반적으로 config.ini)의 경로를 제공합니다.
| Property | Value |
|---|---|
| Command-Line Format | --connect-retries=# |
| Type | Integer |
| Default Value | 12 |
| Minimum Value | -1 |
| Maximum Value | 12 |
ndb_sign_keys가 클러스터에 접속을 시도하는 횟수를 설정합니다.
-1을 사용하면, 접속이 성공하거나 강제로 중지될 때까지 계속
접속을 시도합니다.
| Property | Value |
|---|---|
| Command-Line Format | --connect-retry-delay=# |
| Type | Integer |
| Default Value | 5 |
| Minimum Value | 0 |
| Maximum Value | 5 |
접속 시도가 실패한 후 다시 시도하기 전에,
--connect-retries에 의해 결정된 횟수만큼 재시도할 때까지,
ndb_sign_keys가 대기하는 초 수를 설정합니다.
| Property | Value |
|---|---|
| Command-Line Format | --create-CA |
CA 키와 인증서를 생성합니다.
| Property | Value |
|---|---|
| Command-Line Format | --CA-days=# |
| Type | Integer |
| Default Value | 1461 |
| Minimum Value | -1 |
| Maximum Value | 2147483647 |
인증서의 수명을 일(day) 단위로 설정합니다.
기본값은 4년 플러스 1일과 동일합니다.
-1은 인증서가 만료되지 않음을 의미합니다.
이 옵션은 NDB 8.4.1에 추가되었습니다.
| Property | Value |
|---|---|
| Command-Line Format | --create-key |
개인 키를 생성하거나 교체합니다.
| Property | Value |
|---|---|
| Command-Line Format | --curve=name |
| Type | String |
| Default Value | P-256 |
노드 키 암호화에 사용할 곡선(curve) 이름을 지정합니다.
| Property | Value |
|---|---|
| Command-Line Format | --defaults-extra-file=path |
| Type | String |
| Default Value | [none] |
글로벌 파일이 읽힌 후 이 옵션 파일을 읽습니다.
| Property | Value |
|---|---|
| Command-Line Format | --defaults-file=path |
| Type | String |
| Default Value | [none] |
이 옵션 파일만 읽습니다.
| Property | Value |
|---|---|
| Command-Line Format | --defaults-group-suffix=string |
| Type | String |
| Default Value | [none] |
일반적인 옵션 그룹뿐 아니라, 일반적인 이름에
string 접미사가 붙은 그룹도 읽습니다.
| Property | Value |
|---|---|
| Command-Line Format | --duration=# |
| Type | Integer |
| Default Value | 0 |
| Minimum Value | -500000 |
| Maximum Value | 0 |
| Unit | seconds |
인증서 또는 서명 요청의 수명을 초(second) 단위로 설정합니다.
| Property | Value |
|---|---|
| Command-Line Format | --help |
도움말 텍스트를 출력하고 종료합니다.
| Property | Value |
|---|---|
| Command-Line Format | --keys-to-dir=dirname |
| Type | Directory name |
| Default Value | [none] |
개인 키(only)를 위한 출력 디렉터리를 지정합니다. 이 목적을 위해,
--to-dir에 설정된 값을 재정의합니다.
| Property | Value |
|---|---|
| Command-Line Format | --login-path=path |
| Type | String |
| Default Value | [none] |
로그인 파일에서 이 path를 읽습니다.
| Property | Value |
|---|---|
| Command-Line Format | --ndb-connectstring=connection_string |
| Type | String |
| Default Value | [none] |
[nodeid=id;][host=]hostname[:port] 구문을 사용하여
ndb_mgmd에 접속하는 데 사용할 접속 문자열을 설정합니다.
이 옵션이 설정되면, NDB_CONNECTSTRING에 설정된 값(있는 경우)과
my.cnf 파일에 설정된 값을 모두 재정의합니다.
| Property | Value |
|---|---|
| Command-Line Format | --ndb-mgm-tls=level |
| Type | Enumeration |
| Default Value | relaxed |
| Valid Values | relaxed<br>strict |
ndb_mgm 클라이언트에 필요한 TLS 지원 수준을 설정합니다.
relaxed 또는 strict 중 하나입니다.
기본값인 relaxed는 TLS 연결을 시도하지만 성공을 필수로 요구하지
않음을 의미합니다.
strict는 연결에 TLS가 필수임을 의미합니다.
| Property | Value |
|---|---|
| Command-Line Format | --ndb-tls-search-path=list |
| Type | Path name |
| Default Value (Unix) | $HOME/ndb-tls |
| Default Value (Windows) | $HOMEDIR/ndb-tls |
TLS 키와 인증서를 포함하는 디렉터리 목록을 지정합니다.
구문에 대해서는
--CA-search-path 옵션 설명을 참조하십시오.
| Property | Value |
|---|---|
| Command-Line Format | --no-config |
클러스터 구성을 가져오지 않고, 제공된 옵션(및 지정되지 않은 항목에 대한 기본값)에 기반하여 단일 인증서를 생성합니다.
| Property | Value |
|---|---|
| Command-Line Format | --no-defaults |
로그인 파일을 제외한 어떤 옵션 파일에서도 기본 옵션을 읽지 않습니다.
| Property | Value |
|---|---|
| Command-Line Format | --no-login-paths |
로그인 경로 파일에서 로그인 경로를 읽지 않습니다.
| Property | Value |
|---|---|
| Command-Line Format | --passphrase=phrase |
| Type | String |
| Default Value | [none] |
CA 키 패스프레이즈를 지정합니다.
| Property | Value |
|---|---|
| Command-Line Format | --node-id=# |
| Type | Integer |
| Default Value | 0 |
| Minimum Value | 0 |
| Maximum Value | 255 |
지정된 노드 ID를 가진 노드에 대한 키를 생성하거나 서명합니다.
| Property | Value |
|---|---|
| Command-Line Format | --node-type=set |
| Type | Set |
| Default Value | mgmd,db,api |
(mgmd,db,api) 집합에서 지정된 타입 하나 또는 그 이상의 타입에 대해
키를 생성 또는 서명합니다.
| Property | Value |
|---|---|
| Command-Line Format | --pending |
키와 인증서를 active가 아닌 pending 상태로 저장합니다.
| Property | Value |
|---|---|
| Command-Line Format | --print-defaults |
프로그램 인자 목록을 출력한 다음 종료합니다.
| Property | Value |
|---|---|
| Command-Line Format | --promote |
pending 파일을 active로 승격한 다음 종료합니다.
| Property | Value |
|---|---|
| Command-Line Format | --remote-CA-host=hostname |
| Type | String |
| Default Value | [none] |
원격 CA 호스트의 주소 또는 hostname을 지정합니다.
| Property | Value |
|---|---|
| Command-Line Format | --remote-exec-path |
| Type | Path name |
| Default Value | [none] |
--remote-CA-host로 지정된 원격 CA 호스트 상의
실행 파일에 대한 전체 경로를 제공합니다.
| Property | Value |
|---|---|
| Command-Line Format | --remote-openssl |
--remote-CA-host로 지정된 원격 CA 호스트에서
키 서명을 위해 OpenSSL을 사용합니다.
| Property | Value |
|---|---|
| Command-Line Format | --replace-by=# |
| Type | Integer |
| Default Value | -10 |
| Minimum Value | -128 |
| Maximum Value | 127 |
주기적인 점검을 위해 인증서 교체 날짜를 제안합니다. 이는 CA 만료 날짜 이후의 일 수를 나타냅니다. 음수를 사용하면 만료 며칠 전인지를 나타냅니다.
| Property | Value |
|---|---|
| Command-Line Format | --rotate-CA |
이전 CA를 새 CA로 교체합니다. 새 CA는 OpenSSL을 사용하여 생성할 수도 있고, ndb_sign_keys가 새 CA를 생성하도록 할 수도 있습니다. 이 경우 새 CA는 이전 CA가 서명한 intermediate CA 인증서와 함께 생성됩니다.
| Property | Value |
|---|---|
| Command-Line Format | --schedule=list |
| Type | String |
| Default Value | 120,10,130,10,150,0 |
인증서에 만료 날짜 스케줄을 할당합니다. 스케줄은 다음과 같은 형식의 콤마로 구분된 6개 정수 목록으로 정의됩니다:
1api_valid,api_extra,dn_valid,dn_extra,mgm_valid,mgm_extra
이 값들은 다음과 같이 정의됩니다:
api_valid: 클라이언트 인증서의 고정 유효 일수.
api_extra: 클라이언트 인증서를 위한 추가 일수.
dn_valid: 데이터 노드 인증서용 클라이언트 인증서의
고정 유효 일수.
dn_extra: 데이터 노드 인증서를 위한 추가 일수.
mgm_valid: 관리 서버 인증서의
고정 유효 일수.
mgm_extra: 관리 서버 인증서를 위한
추가 일수.
즉, 각 노드 타입(API 노드, 데이터 노드, 관리 노드)에 대해, 인증서는 정수 고정 일수에 더해, 지정된 추가 일수 이하의 무작위 시간만큼을 더한 수명을 갖도록 생성됩니다. 기본 스케줄은 다음과 같습니다:
1--schedule=120,10,130,10,150,0
기본 스케줄에 따르면, 클라이언트 인증서는 120일째에 만료되기 시작하며, 그 후 10일 동안 랜덤한 간격으로 만료됩니다. 데이터 노드 인증서는 130일째부터 140일째 사이에 랜덤한 시점에 만료됩니다. 관리 노드 인증서는 150일째에 만료되며(추가 랜덤 구간 없음), 그 이후에는 만료되지 않습니다.
| Property | Value |
|---|---|
| Command-Line Format | --sign |
| Disabled by | skip-sign |
서명된 인증서를 생성합니다. 기본적으로 활성화되어 있습니다.
--skip-sign을 사용하여
인증서 서명 요청을 대신 생성할 수 있습니다.
| Property | Value |
|---|---|
| Command-Line Format | --skip-sign |
서명된 인증서 대신 인증서 서명 요청을 생성합니다.
| Property | Value |
|---|---|
| Command-Line Format | --stdio |
인증서 서명 요청을 stdin에서 읽고,
X.509를 stdout으로 출력합니다.
| Property | Value |
|---|---|
| Command-Line Format | --to-dir=dirname |
| Type | Directory name |
| Default Value | [none] |
생성된 파일의 출력 디렉터리를 지정합니다. 개인 키 파일에 대해서는
--keys-to-dir을 사용하여 이 값을 재정의할 수 있습니다.
| Property | Value |
|---|---|
| Command-Line Format | --usage |
도움말 텍스트를 출력한 다음 종료합니다(
--help의 별칭).
| Property | Value |
|---|---|
| Command-Line Format | --version |
버전 정보를 출력한 다음 종료합니다.
25.5.27 ndb_show_tables — Display List of NDB Tables
25.5.29 ndb_size.pl — NDBCLUSTER Size Requirement Estimator