3.5. 내부 OAuth 서버에 대한 토큰 비활성 타임아웃 구성

설정된 비활성 기간 후에 만료되도록 OAuth 토큰을 구성할 수 있습니다. 기본적으로 토큰 비활성 타임아웃은 설정되어 있지 않습니다.

참고

토큰 비활성 타임아웃이 OAuth 클라이언트에도 구성된 경우 해당 값은 내부 OAuth 서버 구성에 설정된 타임아웃을 덮어씁니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있습니다.
  • IDP(ID 공급자)를 구성했습니다.

절차

  1. OAuth 구성을 업데이트하여 토큰 비활성 타임아웃을 설정합니다.

    1. OAuth 오브젝트를 편집합니다.

      $ oc edit oauth cluster

      spec.tokenConfig.accessTokenInactivityTimeout 필드를 추가하고 타임아웃 값을 설정합니다.

      apiVersion: config.openshift.io/v1
      kind: OAuth
      metadata:
      ...
      spec:
        tokenConfig:
          accessTokenInactivityTimeout: 400s 1
      1
      적절한 단위를 사용하여 값을 설정합니다(예: 400초는 400s, 30분은 30m). 허용되는 최소 타임아웃 값은 300s입니다.
    2. 파일을 저장하여 변경 사항을 적용합니다.
  2. OAuth 서버 Pod가 다시 시작되었는지 확인합니다.

    $ oc get clusteroperators authentication

    다음 출력에 표시된 것처럼 PROGRESSINGFalse로 표시될 때까지 다음 단계를 진행하지 마십시오.

    출력 예

    NAME             VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE
    authentication   4.9.0     True        False         False      145m

  3. 쿠버네티스 API 서버 pod의 새 버전이 출시되었는지 확인합니다. 이 작업에는 몇 분 정도 걸립니다.

    $ oc get clusteroperators kube-apiserver

    다음 출력에 표시된 것처럼 PROGRESSINGFalse로 표시될 때까지 다음 단계를 진행하지 마십시오.

    출력 예

    NAME             VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE
    kube-apiserver   4.9.0     True        False         False      145m

    PROGRESSINGTrue가 표시되면 몇 분 기다렸다가 다시 시도하십시오.

검증

  1. IDP의 ID로 클러스터에 로그인합니다.
  2. 명령을 실행하고 성공했는지 확인합니다.
  3. ID를 사용하지 않는 경우 구성된 타임아웃보다 대기 시간이 길어집니다. 이 절차의 예에서는 400초 이상 기다립니다.
  4. 동일한 ID의 세션에서 명령을 실행해 봅니다.

    구성된 타임아웃보다 비활성 기간이 길어 토큰이 만료되므로 이 명령은 실패할 것입니다.

    출력 예

    error: You must be logged in to the server (Unauthorized)