credential-libraries create 명령어

credential-libraries create 명령어

boundary credential-libraries create는 Boundary에 자격 증명 라이브러리(credential library) 리소스를 만드는 명령어예요. 유형은 vault-generic, vault-ldap, vault-ssh-certificate 세 가지가 있어요.

출처: HashiCorp Boundary docs

본문

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)

더 알아보기 (Learn more)