인증 방법(Auth methods)
인증 방법(Auth methods)
인증 방법은 사용자(users)가 Boundary에 인증하기 위한 메커니즘을 제공하는 리소스예요. 인증 방법은 개별 사용자를 자격 증명 집합에 연결하는 계정(accounts)과, 기준을 충족하는 계정을 그룹화하고 역할(roles)에서 주체로 사용할 수 있는 관리 그룹(managed groups)을 포함해요. 인증 방법은 global 또는 organization 스코프에서 정의할 수 있어요.
본문
인증 방법은 사용자가 Boundary에 인증하기 위한 메커니즘을 제공하는 리소스예요. 인증 방법에는 개별 사용자를 자격 증명 집합에 연결하는 계정과, 기준을 충족하는 계정을 그룹화하며 역할에서 주체로 쓸 수 있는 관리 그룹이 포함돼요. 인증 방법은 global 또는 organization 스코프에서 정의할 수 있어요.
속성(Attributes)
모든 인증 방법은 다음의 구성 가능한 속성을 가져요.
name— (선택) 설정하면name은 인증 방법의 스코프 안에서 고유해야 해요.description— (선택)
Password 인증 방법 속성
password 인증 방법은 다음의 추가 속성을 가져요.
min_login_name_length— (필수) 기본값은 3이에요.min_password_length— (필수) 기본값은 8이에요.
OIDC 인증 방법 속성
OIDC 인증 방법은 다음의 추가 속성을 가져요.
account_claim_maps— (선택 목록) 커스텀 클레임을 sub, name, email의 표준 클레임에 매핑하는 것들이에요. 이 매핑은 key=value로 표현되며, key는 제공자의 from-claim, value는 Boundary의 to-claim과 같아요. 예:oid=sub. 이 속성은 서로 다른 to-claim에 대해 여러 번 지정할 수 있어요.allowed_audiences— (선택 목록) 제공자 응답이 허용되는 오디언스예요.api_url_prefix— (필수) 제공자에 대한 콜백 URL을 생성할 때 사용할 API 접두사예요. 제공자가 컨트롤러에 도달할 수 있는 주소로 설정해야 해요.callback_url— (출력·읽기 전용) 콜백을 위해 IdP에 제공해야 하는 URL이에요.claims_scopes— (선택 목록) 요청되는 클레임 스코프예요. 이 속성은 여러 번 지정할 수 있어요.client_id— (필수) 이 인증 방법이 제공자와 함께 사용해야 하는 OAuth 2.0 클라이언트 식별자예요.client_secret— (필수) 그에 대응하는 클라이언트 시크릿이에요.client_secret_hmac— (출력·읽기 전용) Boundary 컨트롤러가 반환하는 클라이언트 시크릿의 HMAC이에요. 값의 초기 설정과의 비교에 사용돼요.disable_discovered_config_validation— (선택) OIDC 제공자의 discovery 엔드포인트에서 얻은 정보가 여기의 정보와 일치하는지 확인하는 검증 로직을 비활성화해요. 이 검증은 생성 또는 갱신 시에만 수행돼요.idp_ca_certs— (선택) OIDC 제공자에 연결할 때 신뢰 앵커로 사용할 수 있는 PEM 인코딩 X.509 CA 인증서예요. 이 속성은 여러 번 지정할 수 있어요.issuer— (필수) 제공자의 발급자 URL이에요. 이 값은 생성된 토큰의 issuer 필드와 일치해야 해요.max_age— (선택) 제공자에게 보낼 최대 나이예요. 이 값은 사용자가 다시 인증 도전을 받기 전에 마지막 인증 이후 얼마나 많은 시간이 지나야 하는지를 나타내요.0값은 모든 사용자에게 즉시 재인증을 요구하고,max_age를 설정하지 않으면 Terraform 값이-1이 되어 선택한 OIDC의 기본 TTL이 사용돼요.max_age값을 설정하면 컨트롤러에 설정된auth_token_time_to_live파라미터와 함께 동작해요.auth_token_time_to_live값이 만료되기 전에는,max_age가 먼저 만료되더라도 제공자가 사용자에게 다시 인증을 요구하지 않아요.prompt— (선택) 이 속성을 구성하면 OIDC 인증 서버가 로그인할 때 사용자에게 재인증, 계정 선택, 또는 동의를 요청해요. 인증 과정의 동작을 커스터마이즈하기 위해 다음 중 하나 이상의 추가 속성을 선택적으로 구성할 수 있어요.none— (선택) 인증 서버가 인증이나 동의 프롬프트를 전혀 표시하지 않아요.login— (선택) 인증 서버가 사용자가 로그인하기 전에 재인증을 요청해요.consent— (선택) 인증 서버가 Boundary에 정보를 반환하기 전에 사용자에게 동의를 요청해요.select_account— (선택) 인증 서버가 사용자 계정을 선택하도록 요청해요.select_account설정은 사용자가 여러 계정을 가질 때 유용할 수 있어요.
Note: 클라우드 제공자들은
prompt를 서로 다른 방식으로 구현해요. 여러 클라우드 제공자에서 OIDC 인증을 구성하면 동작의 차이를 느낄 수 있어요.
signing_algorithm— (필수) 허용되는 서명 알고리즘이에요. 이 속성은 여러 값에 대해 여러 번 지정할 수 있어요.
LDAP 인증 방법 속성
ldap 인증 방법은 다음의 추가 속성을 가져요.
state— 인증 방법의 상태예요.inactive,active-private,active-public중 하나예요.start_tls— (선택)true이면 암호화되지 않은 연결을 수립한 후 StartTLS 명령을 발행해요. 기본값은false예요.insecure_tls— (선택)true이면 LDAP 서버 SSL 인증서 검증을 건너뛰어요. 이것은 안전하지 않으며 주의해서 사용해야 해요. 기본값은false예요.discover_dn— (선택)true이면 사용자의 bind DN(Distinguished Name)을 발견하기 위해 anon bind를 사용해요. 기본값은false예요.anon_group_search— (선택)true이면 LDAP 그룹 검색을 수행할 때 anon bind를 사용해요. 기본값은false예요.upn_domain— (선택) 설정하면userPrincipalDomain이 인증하는 사용자에 대한 UPN 문자열을 구성하는 데 사용돼요. 구성된 UPN은[username]@UPNDomain으로 나타나요. 예:example.com— 이 경우 Boundary는 사용자를 인증할 때[email protected]으로 바인딩해요.urls— (필수) 연결할 LDAP 서버를 지정하는 LDAP URL들이에요. 각 LDAP 인증 방법에는 최소한 하나의 URL이 있어야 해요. 연결을 시도할 때 URL은 지정된 순서대로 시도돼요.user_dn— (선택) 설정하면 사용자 검색을 수행할 기본 DN이에요. 예:ou=Users,dc=example,dc=com.user_attr— (선택) 설정하면 사용자가 인증할 때 전달된 로그인 이름과 일치하는 사용자 엔트리의 속성을 정의해요. 예:cn,uid.user_filter— (선택) 설정하면 LDAP 사용자 검색 필터를 구성하는 데 사용하는 Go 템플릿이에요. 템플릿은 다음 컨텍스트 변수에 접근할 수 있어요:[UserAttr, Username]. 기본user_filter는({{.UserAttr}}={{.Username}})이고,upn-domain파라미터가 설정되면(userPrincipalName={{.Username}}@UPNDomain)이에요.enable_groups— (선택)true이면 인증된 사용자의 그룹이 인증 중에 발견돼요. 기본값은false예요.group_dn— (선택) 설정하면 그룹 검색을 수행할 기본 DN이에요. 예:ou=Groups,dc=example,dc=com. Note: 기본값이 없으므로 지정하지 않으면 그룹 검색에 기본 DN이 사용되지 않아요.group_attr— (선택) 설정하면 사용자 그룹 구성원을 열거하기 위해group_filter가 반환한 객체에서 따라갈 LDAP 속성이에요. 예: 그룹 객체를 반환하는group_filter쿼리에는cn을 사용하세요. 사용자 객체를 반환하는 쿼리에는memberOf를 사용하세요. 기본값은cn이에요.group_filter— (선택) 설정하면 그룹 구성원 쿼리를 구성할 때 사용하는 Go 템플릿이에요. 템플릿은 다음 컨텍스트 변수에 접근할 수 있어요:UserDN,Username. 기본값은(|(memberUid={{.Username}})(member={{.UserDN}})(uniqueMember={{.UserDN}}))이며, 여러 일반적인 디렉터리 스키마와 호환돼요.certificates— (선택) 설정하면 LDAP 제공자에 연결할 때 신뢰 앵커로 사용할 수 있는 ASN.1 DER 형식의 PEM 인코딩 x509 인증서들이에요.client_certificate— (선택) 설정하면 클라이언트 인증서로 사용할 ASN.1 DER 형식의 PEM 인코딩 x509 인증서예요. 선택적client_certificate_key를 지정한다면 반드시 설정해야 해요.client_certificate_key— (선택) 설정하면 PKCS #8, ASN.1 DER 형식의 PEM 인코딩 인증서 키예요. 선택적client_certificate를 지정한다면 반드시 설정해야 해요.bind_dn— (선택) 설정하면 사용자 및 그룹 검색을 수행할 때 바인딩할 엔트리의 distinguished name이에요. 예:cn=vault,ou=Users,dc=example,dc=com.bind_password— (선택) 설정하면 사용자 검색을 수행할 때bind_dn과 함께 사용할 비밀번호예요. 선택적bind_dn을 지정한다면 반드시 설정해야 해요.use_token_groups— (선택)true이면 사용자의 Active DirectorytokenGroups구성 속성을 사용해 그룹 구성원을 찾아요. 이것은 중첩 그룹을 포함한 모든 보안 그룹을 찾아요.account_attribute_maps— (선택) 설정하면 커스텀 속성에서 표준 fullname과 email 계정 속성으로의 속성 매핑이에요. 이 매핑은key=value로 표현되며, key는from_attribute, value는to_attribute와 같아요. 예:preferredName=fullName. 모든 속성 이름은 대소문자를 구분하지 않아요.maximum_page_size— (선택) 설정하면 인증된 사용자의 그룹 구성원을 검색할 때 사용할 최대 ldap 검색 결과 크기를 지정해요. LDAP 서버의 최대 결과 크기에 도달하는 것을 피하기 위해 이 설정을 사용할 수 있어요.dereference_aliases— (선택) 설정하면 검색할 때 별칭이 어떻게 역참조되는지 제어해요.
참조되는 곳(Referenced by)
- Account
- Global
- Managed group
- Organization
서비스 API 문서
이 리소스와 관련된 서비스는 다음과 같아요.
- Auth method service
- Auth token service