바운드 주체(Bound Subjects) 오류 트러블슈팅

바운드 주체(Bound Subjects) 오류 트러블슈팅

디버깅 데이터가 바운드 주체(bound subjects)에 문제가 있음을 시사하는 경우를 해결해 봐요.

출처: 문서

본문

디버깅 데이터 예시

[DEBUG] auth.saml.auth_saml_b1886dfe: validating user context for role: api=callback role_name=default-saml
role="{
  "token_bound_cidrs":null,
  "token_explicit_max_ttl":0,
  "token_max_ttl":0,
  "token_no_default_policy":false,
  "token_num_uses":0,
  "token_period":0,
  "token_policies":["default"],
  "token_type":0,
  "token_ttl":0,
  "BoundSubjects":["*@example.com *@ext.example.com"],
  "BoundSubjectsType":"glob",
  "BoundAttributes":{"groups":["VaultAdmin","VaultUser"]},
  "BoundAttributesType":"string",
  "GroupsAttribute":"groups"
}"
user context="{
  "attributes":
  {
    "groups":["Domain Users","VaultAdmin"],
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress":["[email protected]"]
  },
  "subject":"[email protected]"
}"

분석

SAML 역할은 BoundSubjects에 관련 도메인의 쉼표로 구분된 목록을 가진 단일 문자열을 기대하는데, 제공된 문자열이 잘못된 형식(말포밍)이에요.

해결 방법

문제를 해결하려면 SAML 역할을 업데이트하고 BoundSubjects 문자열을 수정하세요.

$ vault write auth/<SAML_PLUGIN_PATH>/role/<ADFS_ROLE> \
bound_subjects="<CORRECTED_DOMAIN_LIST>"

예를 들면:

$ vault write auth/saml/role/adfs-default \
bound_subjects="*@example.com, *@ext.example.com"

더 알아보기 (Learn more)

  • SAML 인증 메서드 문서
  • SAML API 문서
  • AD FS 랩 환경 구축하기