credential-libraries create 명령어
credential-libraries create 명령어
boundary credential-libraries create는 Boundary에 자격 증명 라이브러리(credential library) 리소스를 만드는 명령어예요. 유형은 vault-generic, vault-ldap, vault-ssh-certificate 세 가지가 있어요.
본문
boundary credential-libraries create 명령어는 Boundary에 자격 증명 라이브러리 리소스를 만들어요.
예제 (Examples)
다음 예제는 Vault의 데이터베이스 시크릿 엔진이 동적 자격 증명을 제공하는, 데이터베이스 자격 증명용 자격 증명 라이브러리를 만들어요.
$ boundary credential-libraries create vault-generic \
-credential-store-id csvlt_5fvkRjCjou \
-vault-path "database/creds/dba" \
-name "northwind dba"
예제 출력:
Credential Library information:
Created Time: Wed, 28 Sep 2022 08:50:32 MDT
Credential Store ID: csvlt_Xqa6V6QwfM
ID: clvlt_Ex17uiP7FO
Name: northwind dba
Type: vault
Updated Time: Wed, 28 Sep 2022 08:50:32 MDT
Version: 1
Scope:
ID: p_EZaXO0OZPX
Name: db-project
Parent Scope ID: o_R1QFYcO743
Type: project
Authorized Actions:
no-op
read
update
delete
Attributes:
HTTP Method: GET
Path: database/creds/dba
사용법 (Usage)
$ boundary credential-libraries create [type] [sub command] [options] [args]
명령 옵션 (Command options)
-credential-store-id(string: "") - 작업에 사용할 자격 증명 스토어(credential store) 리소스예요. 자격 증명 스토어는BOUNDARY_CREDENTIAL_STORE_ID환경 변수로도 지정할 수 있어요.-description(string: "") - 자격 증명 라이브러리의 설명이에요.-name(string: "") - 자격 증명 라이브러리의 이름이에요.
유형별 사용법 (Usages by type)
사용 가능한 유형은 vault-generic, vault-ldap, vault-ssh-certificate예요.
참고 (Note)
자격 증명 라이브러리 유형
vault는 더 이상 사용되지 않으니(비추천)vault-generic유형을 사용하세요.
credential-libraries create vault-generic 명령어는 일반(generic) Vault 자격 증명 라이브러리를 만들어요.
예제
다음 예제는 ID가 csvlt_1234567890인 자격 증명 스토어를 사용해 일반 Vault 자격 증명 라이브러리를 만들어요.
$ boundary credential-libraries create vault-generic \
-credential-store-id csvlt_1234567890 \
-vault-path "database/creds/dba"
사용법
$ boundary credential-libraries create vault-generic [options] [args]
Vault 자격 증명 라이브러리 옵션 (Vault credential library options)
명령 옵션에 더해 Vault 자격 증명 라이브러리 고유의 옵션들이 다음과 같아요.
-credential-mapping-override- 자격 증명 매핑을 덮어쓰는 값이에요.-credential-type(string: "") - 이 라이브러리가 발급하는 자격 증명의 유형이에요. 기본값은Unspecified예요.-vault-http-method(string: "") - 라이브러리가 Vault와 통신할 때 사용할 HTTP 메서드예요.-vault-http-request-body(string: "") - 자격 증명 라이브러리가 Vault와 통신할 때 사용하는 HTTP 요청 본문이에요. 이 값은 HTTP 요청 본문 값 자체일 수도, 디스크 파일(file://)에서 읽는 값일 수도, 환경 변수(env://)에서 읽는 값일 수도 있어요.-vault-path(string: "") - Vault에서 자격 증명을 요청할 경로예요.
credential-libraries create vault-ldap 명령어는 Vault LDAP 자격 증명 라이브러리를 만들어요.
예제
다음 예제는 ID가 csvlt_1234567890인 자격 증명 스토어를 사용해 Vault LDAP 자격 증명 라이브러리를 만들어요.
$ boundary credential-libraries create vault-ldap \
-credential-store-id csvlt_1234567890 \
-vault-path "/ldap/static-cred/path"
사용법
$ boundary credential-libraries create vault-ldap [options] [args]
Vault LDAP 자격 증명 라이브러리 옵션 (Vault LDAP credential library options)
명령 옵션에 더해 Vault LDAP 자격 증명 라이브러리 고유의 옵션이 하나 있어요.
-vault-path(string: "") - Vault에서 자격 증명을 요청할 경로예요.
credential-libraries create vault-ssh-certificate 명령어는 Vault SSH 인증서 자격 증명 라이브러리를 만들어요.
예제
다음 예제는 Vault SSH 인증서 자격 증명 라이브러리를 만들어요.
$ boundary credential-libraries create vault-ssh-certificate \
-credential-store-id csvlt_1234567890 \
-vault-path "/ssh/sign/role" \
-username user
사용법
$ boundary credential-libraries create vault-ssh-certificate [options] [args]
Vault SSH 인증서 자격 증명 라이브러리 옵션 (Vault SSH certificate credential library options)
명령 옵션에 더해 Vault SSH 인증서 자격 증명 라이브러리 고유의 옵션들이 다음과 같아요.
-additional-valid-principal- 유효한 프린시펄로 구성하려는 추가 사용자나 그룹이에요. 기본적으로 Boundary는 사용자 이름만 유효한 프린시펄로 Vault에 전달해 서명해요. 인증서가 Vault에서 서명될 유효한 프린시펄로 추가 사용자·그룹을 구성하고 싶을 때 이 옵션을 사용해요. Boundary 1.0.2부터 각 값은 세션·계정 변수로 파라미터 템플릿팅을 사용할 수 있어요 (예:{{.Account.Subject}}). 지원 변수는 Vault SSH 인증서 자격 증명 라이브러리 파라미터 템플릿팅 문서를 참고하세요. 정적 값은 기존처럼 그대로 동작해요. 자세한 내용은 OpenSSH의 유효한 프린시펄 정의와 Vault의 SSH 시크릿 엔진 문서를 참고하세요.-critical-option- 요청의 critical-options 맵에 추가할key=value쌍이에요. 값만 있는 단일 키일 수도 있고, 이 경우 값은 JSON null로 설정돼요. 값을 주면 Boundary가 유형을 자동으로 추론해요.-string-critical-option,-bool-critical-option,-num-critical-option으로 유형을 덮어쓸 수 있어요. 이 옵션은 여러 번 지정할 수 있고,file://로 파일에서,env://로 환경 변수에서 값을 가져오는 것을 지원해요.-critical-options(string: "") - 요청의 critical-options 맵 전체로 사용할 JSON 맵 값이에요. 보통file://구문으로 파일에서 가져와요. 이 값은 다른 critical-option 플래그와 배타적이에요.-extension- 요청의 extensions 맵에 추가할key=value쌍이에요. 값만 있는 단일 키일 수도 있고, 이 경우 값은 JSON null로 설정돼요. 값을 주면 Boundary가 유형을 자동으로 추론해요.-string-extension,-bool-extension,-num-extension으로 유형을 덮어쓸 수 있어요. 이 옵션은 여러 번 지정할 수 있고,file://로 파일에서,env://로 환경 변수에서 값을 가져오는 것을 지원해요.-extensions(string: "") - 요청의 extensions 맵 전체로 사용할 JSON 맵 값이에요. 보통file://구문으로 파일에서 가져와요. 이 옵션은 다른 extension 플래그와 배타적이에요.-key-bits(string: "") - SSH 개인 키를 생성할 때 사용할 비트 수예요. 값은key_type에 따라 달라져요.ed25519키를 사용한다면 값을 설정하지 않거나0으로 설정하세요.ecdsa키라면256,384,521중 하나로 설정하세요.rsa키라면2048,3072,4096중 하나로 설정하세요.-key-id(string: "") - 생성된 인증서의 key id를 지정해요.-key-type(string: "") - 생성된 SSH 개인 키의 키 유형을 지정해요. 지원 값은ed25519,ecdsa,rsa예요.-ttl(string: "") - 생성된 인증서의 유효 시간(time-to-live)이에요.-username(string: "") - SSH 인증서와 함께 사용할 사용자 이름이에요.-vault-path(string: "") - Vault에서 자격 증명을 요청할 경로예요.
CLI 옵션 (CLI options)
명령어 고유 옵션 외에도 모든 Boundary CLI 명령어·하위 명령어에 공통으로 적용되는 옵션들이 있어요.
- 연결 옵션 (Connection options)
- 클라이언트 옵션 (Client options)
- 출력 옵션 (Output options)
- 환경 변수 (Environment variables)