auth-methods create 명령어

auth-methods create 명령어

boundary auth-methods create는 Boundary 인증 메서드(auth method) 리소스를 만드는 명령어예요. 인증 메서드 유형은 LDAP, OIDC, password 세 가지가 있어요.

출처: HashiCorp Boundary docs

본문

boundary auth-methods create 명령어는 Boundary 인증 메서드 리소스를 만들어요. 사용 가능한 인증 메서드 유형은 LDAP, OIDC, password예요.

예제 (Examples)

다음 예제는 OIDC 공급자의 도메인(-issuer), 클라이언트 ID, 클라이언트 시크릿을 전달해 OIDC 인증 메서드를 만들어요.

$ boundary auth-methods create oidc \
  -issuer "https://dev-1sdl8c0z.us.auth0.com" \
  -client-id "zaxJLTZh3n14WqSQ7qQ9onuIVRDaZdzz;" \
  -client-secret "t35c9NNw1aZ8haEKFJbJF0lauMOSp5UNPovUJXo8Ea2sPZAR1DszEowX-6-lg-Xr" \
  -signing-algorithm RS256 \
  -api-url-prefix "http://localhost:9200" \
  -name "auth0"

예제 출력:

Auth Method information:

  Created Time:         Thu, 06 May 2021 16:39:33 MDT
  ID:                   amoidc_oHt4HQFCrN
  Name:                 auth0
  Type:                 oidc
  Updated Time:         Thu, 06 May 2021 16:39:33 MDT
  Version:              1

  Scope:
    ID:                 global
    Name:               global
    Type:               global

  Authorized Actions:
    no-op
    read
    update
    delete
    change-state
    authenticate

  Authorized Actions on Auth Method's Collections:
    accounts:
      create
      list

  Attributes:
    api_url_prefix:     http://localhost:9200
    callback_url:       http://localhost:9200/v1/auth-methods/oidc:authenticate:callback
    client_id:          zbaJLTZh3n14WqSV7qQ9onuIVRDaZdzx
    client_secret_hmac: ayJRYSCphzxcHiKJvBrnDVtz1yiR958ejQuRGdQJMeM
    issuer:             https://dev-1vdl8c0q.us.auth0.com
    signing_algorithms: [RS256]
    state:              inactive

사용법 (Usage)

$ boundary auth-methods create [type] [sub command] [options] [args]

명령 옵션 (Command options)

  • -description (string: "") - 인증 메서드에 설정할 설명이에요.
  • -name (string: "") - 인증 메서드에 설정할 이름이에요.
  • -scope-id (string: "") - 요청을 보낼 스코프예요. 기본값은 global이에요. 스코프는 BOUNDARY_SCOPE_ID 환경 변수로도 지정할 수 있어요.

CLI 옵션 (CLI options)

명령어 고유 옵션 외에도 모든 Boundary CLI 명령어·하위 명령어에 공통으로 적용되는 옵션들이 있어요.

  • 연결 옵션 (Connection options)
  • 클라이언트 옵션 (Client options)
  • 출력 옵션 (Output options)
  • 환경 변수 (Environment variables)

유형별 사용법 (Usages by type)

사용 가능한 유형은 ldap, oidc, password예요.

LDAP 생성

boundary auth-methods create ldap 명령어는 LDAP 인증 메서드를 만들어요.

예제

다음 예제는 이름이 prodops, 설명이 LDAP auth-method for ProdOps인 LDAP 인증 메서드를 만들어요.

$ boundary auth-methods create ldap -name prodops \
   -description "LDAP auth-method for ProdOps"
사용법
$ boundary auth-methods create ldap [options] [args]
LDAP 인증 메서드 옵션 (LDAP auth method options)

명령 옵션에 더해 LDAP 고유의 옵션들이 다음과 같아요.

  • -anon-group-search - LDAP 그룹 검색을 수행할 때 anon bind를 사용해요 (선택). 기본값은 false예요.
  • -bind-dn (string: "") - 사용자·그룹 검색을 수행할 때 바인딩할 엔트리의 distinguished name을 사용해요 (선택).
  • -bind-password (string: "") - 사용자·그룹 검색을 수행할 때 bind-dn과 함께 사용할 비밀번호를 나타내요 (선택).
  • -certificate (string: "") - LDAP 서버에 연결할 때 신뢰 앵커로 사용할 수 있는, ASN.1 DER 형식의 PEM 인코딩 X.509 CA 인증서를 지정해요 (선택). 이 값은 여러 번 지정할 수 있어요.
  • -client-certificate (string: "") - LDAP 서버에 대해 인증하는 데 사용할 수 있는, ASN.1 DER 형식의 PEM 인코딩 X.509 클라이언트 인증서를 지정해요 (선택).
  • -client-certificate-key (string: "") - 클라이언트 인증서와 함께 사용하는, PKCS #8, ASN.1 DER 형식의 PEM 인코딩 X.509 클라이언트 인증서 키를 지정해요 (선택).
  • -discover-dn - 사용자의 bind DN을 알아내기 위해 anon bind를 사용해요 (선택). 기본값은 false예요.
  • -enable-groups - 인증 중에 인증된 사용자의 그룹을 찾아요 (선택). 기본값은 false예요.
  • -group-attr (string: "") - 그룹 검색이 반환한 엔트리에서 사용자의 그룹 멤버십을 열거하는 속성을 지정해요 (선택).
  • -group-dn (string: "") - 그룹 검색을 수행할 기본 DN을 지정해요.
  • -group-filter (string: "") - LDAP 그룹 검색 필터를 구성하는 데 사용하는 Go 템플릿을 나타내요 (선택).
  • -insecure-tls - LDAP 서버 SSL 인증서 검증을 건너뛰어요 (선택). 신중히 사용하세요. 안전하지 않아요. 기본값은 false예요.
  • -start-tls - 연결 후 StartTLS 명령을 발행해요 (선택). 기본값은 false예요.
  • -state (string: "") - 인증 메서드의 원하는 운영 상태를 나타내요.
  • -upn-domain (string: "") - 인증하는 사용자의 UPN 문자열을 구성하는 데 사용하는 userPrincipalDomain을 지정해요 (선택).
  • -urls (string: "") - 연결할 LDAP 서버를 지정하는 LDAP URL을 나타내요 (필수). 이 값은 여러 번 지정할 수 있어요.
  • -use-token-groups - 그룹 멤버십을 찾기 위해 사용자의 Active Directory tokenGroups 구성 속성을 사용해요 (선택). 기본값은 false예요.
  • -user-attr (string: "") - 인증 중에 전달되는 사용자 이름과 일치하는 사용자 엔트리의 속성을 지정해요 (선택).
  • -user-dn (string: "") - 사용자 검색을 수행할 기본 DN을 나타내요 (선택).
  • -user-filter (string: "") - LDAP 사용자 검색 필터를 구성하는 데 사용하는 Go 템플릿을 지정해요 (선택).

OIDC 생성

boundary auth-methods create oidc 명령어는 OIDC 인증 메서드를 만들어요.

예제

다음 예제는 이름이 prodops, 설명이 Oidc auth-method for ProdOps인 OIDC 인증 메서드를 만들어요.

$ boundary auth-methods create oidc -name prodops \
   -description "Oidc auth-method for ProdOps"
사용법
$ boundary auth-methods create oidc [options] [args]
OIDC 인증 메서드 옵션 (OIDC auth method options)

명령 옵션에 더해 OIDC 고유의 옵션들이 다음과 같아요.

  • -account-claim-maps (string: "") - 사용자 지정 claim에서 sub, name, email의 표준 claim으로 매핑하는 선택적 계정 claim 맵을 지정해요. 이 맵은 key=value 형태로 표현되며, key는 Provider의 from-claim, value는 Boundary의 to-claim이에요. 예: "oid=sub". 서로 다른 to-claim에 대해 이 값을 여러 번 지정할 수 있어요.
  • -allowed-audience (string: "") - 허용 가능한 audience("aud") claim을 나타내요. 이 값은 여러 번 지정할 수 있어요.
  • -api-url-prefix (string: "") - 인증 흐름에서 OIDC 공급자가 사용하는 URL 접두사를 지정해요.
  • -claims-scopes (string: "") - 요청하는 선택적 claims scope를 나타내요. 이 값은 여러 번 지정할 수 있어요.
  • -client-id (string: "") - 이 인증 메서드가 공급자와 함께 사용해야 하는 OAuth 2.0 클라이언트 식별자를 지정해요.
  • -client-secret (string: "") - 해당하는 클라이언트 시크릿을 나타내요.
  • -idp-ca-cert (string: "") - OIDC 공급자에 연결할 때 신뢰 앵커로 사용할 수 있는 선택적 PEM 인코딩 X.509 CA 인증서를 지정해요. 이 값은 여러 번 지정할 수 있어요.
  • -issuer (string: "") - 공급자의 issuer URL을 나타내요.
  • -max-age (string: "") - 공급자에게 보내는 OIDC "max_age" 파라미터를 나타내요.
  • prompts (string: "") - OIDC 인증 서버가 재인증, 계정 선택, 동의 사용자 인터페이스 프롬프트를 표시할지 여부를 나타내요. 다음 프롬프트 유형 중 하나 이상을 선택적으로 구성해 인증 과정 동작을 사용자 지정할 수 있어요. none - 인증 서버가 인증이나 동의 프롬프트를 표시하지 않아요. login - 인증 서버가 사용자가 로그인하기 전에 재인증을 요구해요. consent - 인증 서버가 Boundary에 어떤 정보도 반환하기 전에 사용자에게 동의를 요구해요. select_account - 인증 서버가 사용자에게 사용자 계정을 선택하도록 요구해요. 사용자에게 계정이 여러 개 있을 때 select_account 옵션이 도움이 될 수 있어요.
  • -signing-algorithm (string: "") - 허용되는 서명 알고리즘을 나타내요. 여러 값을 위해 이 값을 여러 번 지정할 수 있어요.

참고 (Note)

클라우드 공급자들은 프롬프트를 서로 다른 방식으로 구현해요. 여러 클라우드 공급자에서 OIDC 인증을 구성하면 동작에 차이가 있을 수 있어요.

password 생성

boundary auth-methods create password 명령어는 비밀번호 유형 인증 메서드를 만들어요.

예제

다음 예제는 이름이 prodops, 설명이 Password auth-method for ProdOps인 비밀번호 유형 인증 메서드를 만들어요.

$ boundary auth-methods create password -name prodops \
   -description "Password auth-method for ProdOps"
사용법
$ boundary accounts create password [options] [args]

password 인증 메서드 옵션 (Password auth method options)

명령 옵션에 더해 비밀번호 인증 메서드 고유의 옵션들이 다음과 같아요.

  • -min-login-name-length (string: "") - 로그인 이름의 최소 길이예요.
  • -min-password-length (string: "") - 비밀번호의 최소 길이예요.

더 알아보기 (Learn more)