Okta 인증 방식

Okta 인증 방식

사용자 지정 GUI 로그인을 지원해요.

이 방식은 Vault Enterprise GUI 사용자의 기본 또는 백업 로그인 방식으로 선택될 수 있어요. 자세한 내용은 사용자 지정 로그인 옵션 관리 가이드를 참고하세요.

okta 인증 방식은 Okta와 사용자 이름/비밀번호 크레덴셜을 사용해 인증할 수 있게 해요. 이렇게 하면 Okta를 사용하는 환경에 Vault를 통합할 수 있어요.

Okta의 그룹과 Vault 정책의 매핑은 users와 groups API를 사용해 관리돼요.

출처: 문서

본문

인증 (Authentication)

기본 경로는 /okta예요. 이 인증 방식이 다른 경로에 활성화되었다면 CLI에서 -path=/my-path를 지정하세요.

$ vault login -method=okta username=my-username

기본 엔드포인트는 auth/okta/login이에요. 이 인증 방식이 다른 경로에 활성화되었다면 okta 대신 그 값을 사용하세요.

$ curl \
    --request POST \
    --data '{"password": "MY_PASSWORD"}' \
    http://127.0.0.1:8200/v1/auth/okta/login/my-username

응답은 auth.client_token에 토큰을 포함해요.

{
  "auth": {
    "client_token": "abcd1234-7890...",
    "policies": ["admins"],
    "metadata": {
      "username": "mitchellh"
    }
  }
}

MFA

로그인 중 Okta Verify Push와 TOTP MFA 방식, 그리고 Google TOTP가 지원돼요. TOTP의 경우 totp 파라미터로 현재 패스코드를 제공할 수 있어요.

$ vault login -method=okta username=my-username totp=123456

Okta 계정에 Okta TOTP와 Google TOTP가 모두 활성화되어 있다면, totp 코드가 속한 provider 이름을 전달해야 해요.

$ vault login -method=okta username=my-username totp=123456 provider=GOOGLE

totp가 설정되지 않고 Okta에서 MFA Push가 구성되어 있으면 로그인 중 Push가 전송돼요.

인증 방식은 Okta Authentication API를 사용해요. 인증된 사용자에 대한 Okta 세션은 관리하지 않아요. 즉 MFA Push가 구성되어 있으면 로그인과 토큰 갱신 중에 모두 요구될 거예요.

이 MFA 지원은 Okta Auth에 통합되며 로그인 작업으로 엄격히 제한된다는 점을 기억하세요. Enterprise MFA와는 관련이 없어요.

구성 (Configuration)

인증 방식은 사용자나 머신이 인증하기 전에 미리 구성되어야 해요. 이 단계들은 보통 운영자나 설정 관리 도구가 수행해요.

CLI를 통해

1. Okta 인증 방식을 활성화합니다.

$ vault auth enable okta

2. Vault가 Okta 계정과 통신하도록 구성합니다.

$ vault write auth/okta/config \
   base_url="okta.com" \
   org_name="dev-123456" \
   api_token="00abcxyz..."

참고: API 토큰 없는 okta 인증 지원은 Vault 1.4에서 구식화(Deprecated)됐어요. 토큰이 제공되지 않으면 Vault는 작동하지만 로컬로 구성된 그룹 멤버십만 사용할 수 있어요. 토큰 없이는 그룹이 조회되지 않아요.

구성 옵션의 전체 목록은 API 문서를 참고하세요.

3. Okta 그룹을 Vault 정책에 매핑합니다.

$ vault write auth/okta/groups/scientists policies=nuclear-reactor

이 예시에서 Okta로 성공적으로 인증하고 "scientists" 그룹의 구성원인 사람은 "nuclear-reactor" 정책이 붙은 Vault 토큰을 받아요.

4. 사용자를 직접 추가할 수도 있습니다.

$ vault write auth/okta/groups/engineers policies=autopilot
$ vault write auth/okta/users/tesla groups=engineers

이렇게 하면 "autopilot" Vault 정책으로 매핑되는 "engineers" 그룹에 Okta 사용자 "tesla"가 추가돼요.

참고: 그룹 멤버십을 통한 사용자-정책 매핑은 토큰 생성 시점에 발생해요. Okta의 그룹 멤버십 변경은 이미 프로비저닝된 기존 토큰에 영향을 주지 않아요. 이 변경 사항을 보려면 사용자가 다시 인증해야 해요. 기존 토큰을 폐기해 강제할 수 있어요.

Okta API 토큰 권한

okta 인증 방식은 Authentication과 User Groups API를 사용해 사용자를 인증하고 그룹 멤버십을 얻어요. 인증 방식 구성에 제공된 api_token은 이 Okta API를 실행할 충분한 권한을 가져야 해요.

인증 방식을 최소 관대한 API 토큰으로 구성하는 것을 권장해요. 그러려면 표준 Read-only Admin 역할을 가진 관리자로 API 토큰을 만드세요. 사용자 지정 역할을 사용해 Okta API 토큰에 최소 권한을 부여할 수도 있어요.

API

Okta 인증 방식은 완전한 HTTP API를 제공해요. 자세한 내용은 Okta Auth API 문서를 참고해 주세요.

Terraform

Vault Terraform 프로바이더로 Okta 인증 리소스를 프로그래밍 방식으로 관리할 수 있어요. 자세한 내용은 Terraform Registry 문서를 참고하세요.

더 알아보기 (Learn more)

  • Okta 인증 방식 전체 API는 Okta Auth API 문서를 참고하세요.
  • Okta Authentication API에 대한 자세한 내용은 Okta 문서를 참고하세요.