2.3. roxctl CLI를 사용하여 인증
인증의 경우 API 토큰, 관리자 암호 또는 roxctl 중앙 로그인
명령을 사용할 수 있습니다.
API 토큰을 효과적으로 사용하려면 다음 지침을 따르십시오.
- 연속 통합(CI)이 있는 프로덕션 환경에서 API 토큰을 사용합니다. 각 토큰에는 특정 액세스 권한이 할당되어 수행할 수 있는 작업을 제어할 수 있습니다. 또한 API 토큰에는 브라우저 기반 로그인과 같은 대화형 프로세스가 필요하지 않으므로 자동화된 프로세스에 적합합니다. 이 토큰에는 TTL(Time-to-live) 값이 1년이며 원활한 통합 및 운영 효율성을 위한 유효 기간을 더 연장할 수 있습니다.
- 테스트 목적으로만 관리자 암호를 사용하십시오. 프로덕션 환경에서 사용하지 마십시오.
-
로컬 대화형 용도로만
roxctl 중앙 로그인
명령을 사용합니다.
2.3.1. API 토큰 생성
절차
-
RHACS 포털에서 플랫폼 구성
통합으로 이동합니다. - 인증 토큰 범주로 스크롤한 다음 API 토큰 을 클릭합니다.
- 토큰 생성을 클릭합니다.
- 토큰 이름을 입력하고 필요한 액세스 수준(예: 지속적 통합 또는 센서생성자)을 제공하는 역할을 선택합니다.
생성 을 클릭합니다.
중요생성된 토큰을 복사하여 안전하게 저장합니다. 다시는 볼 수 없습니다.
2.3.2. API 토큰 내보내기 및 저장
절차
인증 토큰을 생성한 후 다음 명령을 입력하여
ROX_API_TOKEN
변수로 내보냅니다.$ export ROX_API_TOKEN=<api_token>
(선택 사항): 토큰을 파일에 저장하고 다음 명령을 입력하여
--token-file
옵션과 함께 사용할 수도 있습니다.$ roxctl central debug dump --token-file <token_file>
다음 지침을 참조하십시오.
-
-password
(-p
)와--token-file
옵션을 동시에 사용할 수 없습니다. -
ROX_API_TOKEN
변수를 이미 설정하고--token-file
옵션을 지정한 경우roxctl
CLI는 인증에 지정된 토큰 파일을 사용합니다. -
ROX_API_TOKEN
변수를 이미 설정하고--password
옵션을 지정한 경우roxctl
CLI는 인증에 지정된 암호를 사용합니다.
2.3.3. 인증 공급자를 사용하여 roxctl로 인증
Central에서 인증 공급자를 구성하고 roxctl
CLI를 사용하여 로그인 프로세스를 시작할 수 있습니다. ROX_ENDPOINT
변수를 설정하고 roxctl central login
명령을 사용하여 로그인 프로세스를 시작하고, 브라우저 창에서 인증 공급자를 선택한 다음, 다음 절차에 설명된 대로 roxctl
CLI에서 토큰 정보를 검색합니다.
사전 요구 사항
- 선택한 OIDC(OpenID Connect)와 조각 또는 쿼리 모드와 같은 인증 공급자를 선택했습니다.
절차
다음 명령을 실행하여
ROX_ENDPOINT
변수를 중앙 호스트 이름 및 포트로 설정합니다.export ROX_ENDPOINT=<central_hostname:port>
다음 명령을 실행하여 Central에 대한 로그인 프로세스를 시작합니다.
$ roxctl central login
-
roxctl
CLI 내에서 URL이 출력되어 사용할 인증 공급자를 선택할 수 있는 브라우저 창으로 리디렉션됩니다. 인증 공급자로 로그인합니다.
성공적으로 로그인한 후 브라우저 창에 인증이 성공했음을 나타내며 브라우저 창을 닫을 수 있습니다.
roxctl
CLI는 액세스 토큰, 액세스 토큰 만료 시간, 발행된 경우 새로 고침 토큰과 같은 세부 정보, 이러한 값이 로컬에 저장됨을 알리는 등 토큰 정보를 표시합니다.출력 예
Please complete the authorization flow in the browser with an auth provider of your choice. If no browser window opens, please click on the following URL: http://127.0.0.1:xxxxx/login INFO: Received the following after the authorization flow from Central: INFO: Access token: <redacted> 1 INFO: Access token expiration: 2023-04-19 13:58:43 +0000 UTC 2 INFO: Refresh token: <redacted> 3 INFO: Storing these values under $HOME/.roxctl/login… 4
중요환경을 설정하여 구성이 저장된 디렉터리를 확인합니다. 기본적으로 구성은
$HOME/.roxctl/roxctl-config
디렉터리에 저장됩니다.-
$ROX_CONFIG_DIR
환경 변수를 설정하면 구성이$ROX_CONFIG_DIR/roxctl-config
디렉터리에 저장됩니다. 이 옵션은 가장 높은 우선 순위를 갖습니다. -
$XDG_RUNTIME_DIR
환경 변수를 설정하고$ROX_CONFIG_DIR
변수가 설정되지 않은 경우 구성은$XDG_RUNTIME_DIR /roxctl-config
디렉터리에 저장됩니다. -
$ROX_CONFIG_DIR
또는$XDG_RUNTIME_DIR
환경 변수를 설정하지 않으면 구성이$HOME/.roxctl/roxctl-config
디렉터리에 저장됩니다.
-