본문 바로가기
WIKI 기술 지식 베이스

HTTP basic authentication

원문 보기 위키 갱신

출처: 문서

본문

HTTP basic authentication

HTTP basic authentication은 OpenSearch 및 해당 리소스에 액세스하기 위해 사용자 이름과 비밀번호로 로그인하도록 요청하는 간단한 challenge-and-response 프로세스를 제공해요. http_authenticator 섹션에서 type을 basic으로 지정하여 HTTP basic authentication을 활성화할 수 있어요. 다음 예제와 같아요:

_meta:
  type: "config"
  config_version: 2

config:
  dynamic:
    authc:
      basic_internal_auth_domain:
        description: "Authenticate using HTTP basic against the internal users database"
        http_enabled: true
        transport_enabled: true
        order: 1
        http_authenticator:
          type: basic
          challenge: true
        authentication_backend:
          type: internal

또한 authentication_backend의 유형으로 internal을 지정하여 내부 사용자 데이터베이스를 인증 백엔드로 지정할 수 있어요. 이 백엔드에 대한 자세한 내용은 내부 사용자 데이터베이스를 참조하세요.

HTTP 인증자의 유형으로 basic이 지정되고 인증 백엔드의 유형으로 internal이 지정되면, HTTP basic authentication과 함께 추가 인증 백엔드를 사용할 계획이 없는 한 config.yml에서 추가 구성이 필요하지 않아요. 이 유형의 설정과 관련된 고려 사항 및 challenge 설정에 대한 자세한 내용은 계속 읽어보세요.

challenge 설정

대부분의 경우 basic authentication에서는 challenge를 true로 설정하는 것이 적절해요. 이 설정은 HTTP 헤더의 Authorization 필드가 지정되지 않았을 때 Security 플러그인의 동작을 정의해요. 기본적으로 이 설정은 true예요.

challenge가 true로 설정되면 Security 플러그인은 상태 UNAUTHORIZED(401)를 클라이언트에 응답으로 보내요. 클라이언트가 브라우저로 클러스터에 액세스하는 경우 인증 대화상자가 표시되고 사용자에게 사용자 이름과 비밀번호를 입력하라는 메시지가 나타나요. 이는 HTTP basic authentication이 유일하게 사용되는 백엔드일 때 일반적인 구성이에요.

challenge가 false로 설정되고 요청에 Authorization 헤더가 지정되지 않은 경우, Security 플러그인은 클라이언트에 WWW-Authenticate 응답을 보내지 않으며 인증에 실패해요. 이 구성은 구성된 인증 도메인에 여러 challenge http_authenticator 설정이 포함된 경우 자주 사용돼요. 예를 들어 basic authentication과 SAML을 함께 사용하려는 경우가 그럴 수 있어요. 이 구성의 예제와 더 자세한 설명은 SAML 문서의 다중 인증 도메인 실행을 참조하세요.

여러 HTTP 인증자를 정의할 때는 proxy 및 clientcert와 같은 non-challenging 인증자를 먼저 배치하고 challenging HTTP 인증자를 마지막에 배치해야 해요. 예를 들어, non-challenging HTTP basic authentication 백엔드가 challenging SAML 백엔드와 함께 사용되는 구성에서는 HTTP basic authc 도메인에 order: 0을 지정하고 SAML 도메인에 order: 1을 지정할 수 있어요. {: .note }

내부 사용자 데이터베이스

HTTP basic authentication을 사용할 때 내부 사용자 데이터베이스는 내부 사용자를 저장하고 해시된 비밀번호 및 역할과 같은 기타 사용자 속성을 포함해요. 사용자와 해당 설정은 internal_users.yml 구성 파일에 저장돼요. 이 파일에 대한 자세한 내용은 보안 구성 문서의 internal_users.yml을 참조하세요.

더 알아보기 (Learn more)