credential-libraries update 명령어

credential-libraries update 명령어

boundary credential-libraries update는 Boundary 자격 증명 라이브러리(credential library) 리소스를 업데이트하는 명령어예요. 주로 같은 ID의 라이브러리가 가리키는 Vault 경로나 이름, 설명을 바꿀 때 써요. 유형은 vault-generic, vault-ldap, vault-ssh-certificate 세 가지가 있어요.

출처: HashiCorp Boundary docs

본문

boundary credential-libraries update 명령어는 Boundary 자격 증명 라이브러리 리소스를 업데이트해요.

예제 (Examples)

다음 예제는 ID가 csvlt_5fvkRjCjou인 기존 Vault 자격 증명 라이브러리가 새 Vault 시크릿 엔진 경로를 가리키도록 업데이트해요.

$ boundary credential-libraries update vault-generic \
    -id csvlt_5fvkRjCjou \
    -vault-path "database/creds/db-mysql"

예제 출력:

Credential Library information:

  Created Time:          Fri, 18 Aug 2023 16:22:29 PDT
  Credential Store ID:   csvlt_5fvkRjCjou
  ID:                    clvlt_QYnQPAjA24
  Name:                  northwind dba
  Type:                  vault-generic
  Updated Time:          Fri, 18 Aug 2023 20:04:27 PDT
  Version:               2

  Scope:
    ID:                  p_tnqESc86qE
    Name:                db-project
    Parent Scope ID:     o_4VUR6ZATqW
    Type:                project

  Authorized Actions:
    no-op
    read
    update
    delete

  Attributes:
    HTTP Method:         GET
    Path:                database/creds/db-mysql

사용법 (Usage)

$ boundary credential-libraries update vault [options] [args]

명령 옵션 (Command options)

  • -description (string: "") - 자격 증명 라이브러리에 설정할 설명이에요.
  • -id (string: "") - 업데이트할 자격 증명 라이브러리의 ID예요.
  • -name (string: "") - 자격 증명 라이브러리에 설정할 이름이에요.
  • -version (int: 0) - 업데이트 작업을 수행할 자격 증명 라이브러리의 버전이에요. 버전을 지정하지 않으면 명령어가 자동으로 체크-앤-셋을 수행해요.

유형별 사용법 (Usages by type)

사용 가능한 유형은 vault-generic, vault-ldap, vault-ssh-certificate예요.

참고 (Note)

자격 증명 라이브러리 유형 vault는 더 이상 사용되지 않으니(비추천) vault-generic 유형을 사용하세요.

credential-libraries update vault-generic 명령어는 일반(generic) Vault 자격 증명 라이브러리를 업데이트해요.

예제

다음 예제는 ID가 clvlt_1234567890인 일반 Vault 자격 증명 라이브러리에 이름 devops와 설명 For DevOps usage를 추가해요.

$ boundary credential-libraries update vault-generic \
   -id clvlt_1234567890 \
   -name devops \
   -description "For DevOps usage"
사용법
$ boundary credential-libraries create vault-generic [options] [args]
Vault 자격 증명 라이브러리 옵션 (Vault credential library options)

명령 옵션에 더해 Vault 자격 증명 라이브러리 고유의 옵션들이 다음과 같아요.

  • -credential-mapping-override - 자격 증명 매핑(credential mapping)을 덮어쓰는 값이에요.
  • -vault-http-method (string: "") - 라이브러리가 Vault와 통신할 때 사용할 HTTP 메서드예요.
  • -vault-http-request-body (string: "") - 자격 증명 라이브러리가 Vault와 통신할 때 사용하는 HTTP 요청 본문이에요. 이 값은 HTTP 요청 본문 자체일 수도, 디스크 파일(file://)에서 읽는 값일 수도, 환경 변수(env://)에서 읽는 값일 수도 있어요.
  • -vault-path (string: "") - Vault에서 자격 증명을 요청할 경로예요.

credential-libraries update vault-ldap 명령어는 Vault LDAP 자격 증명 라이브러리를 업데이트해요.

예제

다음 예제는 ID가 clvlt_1234567890인 Vault LDAP 자격 증명 라이브러리에 이름 devops와 설명 For DevOps usage를 추가해요.

$ boundary credential-libraries update vault-ldap \
   -id clvlt_1234567890 \
   -name devops \
   -description "For DevOps usage"
사용법
$ boundary credential-libraries create vault-ldap [options] [args]
Vault LDAP 자격 증명 라이브러리 옵션 (Vault LDAP credential library options)

명령 옵션에 더해 Vault LDAP 자격 증명 라이브러리 고유의 옵션이 하나 있어요.

  • -vault-path (string: "") - Vault에서 자격 증명을 요청할 경로예요.

credential-libraries update vault-ssh-certificate 명령어는 Vault SSH 인증서 자격 증명 라이브러리를 업데이트해요.

예제

다음 예제는 ID가 clvsclt_1234567890인 Vault SSH 인증서 자격 증명 라이브러리에 이름 devops와 설명 For DevOps usage를 추가해요.

$ boundary credential-libraries update vault-ssh-certificate \
   -id clvsclt_1234567890 \
   -name devops \
   -description "For DevOps usage"
사용법
$ boundary credential-libraries update vault-ssh-certificate [options] [args]
Vault SSH 인증서 자격 증명 라이브러리 옵션 (Vault SSH certificate credential library options)

명령 옵션에 더해 Vault SSH 인증서 자격 증명 라이브러리 고유의 옵션들이 다음과 같아요.

  • -additional-valid-principal - 유효한 프린시펄(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)