저장소 CLI 설정하기
HashiCorp Vault 명령행 인터페이스(CLI)를 이미 사용 중인 경우 CLI 형식 및 지침을 사용하여 IBM Cloud® Secrets Manager과 상호작용할 수 있습니다.
모든 오퍼레이션은 Vault CLI에서 사용 가능한 가이드라인을 따릅니다. Vault CLI 사용에 대해 자세히 알아보려면 Vault 설명서를 확인하세요.
전제조건
-
IBM Cloud API 키를 작성하거나 IBM Cloud IAM 액세스 토큰을 생성하십시오.
계정 인증 정보를 제공하여 Vault에서 사용자가 누구이며 Secrets Manager 인스턴스에 대해 특정 Vault 명령을 실행할 수 있는 올바른 레벨의 액세스 권한이 있는지 파악할 수 있습니다.
-
선택 사항입니다: 다운로드 및 설치
jq.jq을(를) 사용하면 JSON 데이터를 분할할 수 있습니다. 이 학습서에서는jq을(를) 사용하여 IAM ID 서비스 API를 호출할 때 리턴된 액세스 토큰을 확보하고 사용합니다.
환경 설정
먼저 Vault를 사용하여 Secrets Manager 서비스 인스턴스에 액세스하도록 환경을 설정하십시오. 먼저 Vault 인증에 필요한 자격 증명을 설정하는 셸 스크립트를 만드는 것부터 시작하세요.
-
프로젝트 디렉토리에서
login-vault.sh파일을 작성하십시오.touch login-vault.sh -
다음 스크립트를 복사하여
login-vault.sh에 붙여넣고 플레이스홀더 값을 업데이트하십시오.#!/bin/sh IBM_CLOUD_API_KEY="xxxxx" export VAULT_ADDR="https://<instance_ID>.<region>.secrets-manager.appdomain.cloud" export IAM_TOKEN=`curl -s -X POST \ "https://iam.cloud.ibm.com/identity/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Accept: application/json" \ -d "grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=$IBM_CLOUD_API_KEY" | jq -j ".access_token"`다음 표에 따라 플레이스홀더 값을 바꾸십시오.
토큰 추출에 필요한 필수 변수 가변 설명 IBM_CLOUD_API_KEYSecrets Manager 인스턴스에 대한 뷰어 플랫폼 액세스 권한 및 독자 서비스 액세스 권한 이상이 있는 IBM Cloud API 키입니다. VAULT_ADDRSecrets Manager 인스턴스에 고유한 Vault API 엔드포인트입니다. 고유 엔드포인트 URL은 Secrets Manager UI의 엔드포인트 페이지에서 또는 HTTP 요청으로 검색하여 찾을 수 있습니다.
-
명령행에서
chmod명령을 실행하여 파일을 실행 파일로 표시하십시오.chmod +x login-vault.sh -
스크립트를 실행하여 환경 변수를 설정하십시오.
source ./login-vault.sh -
선택사항입니다. 명령행 창에 환경 변수를 인쇄하여 이 환경 변수가 올바르게 설정되었는지 확인하십시오.
echo $VAULT_ADDR && echo $IAM_TOKEN출력은 다음 예와 유사할 수 있습니다.
https://e415e570-f073-423a-abdc-55de9b58f54e.us-south.secrets-manager.appdomain.cloud eyJraWQiOiIyMDIwMTAxODE3MDEiLCJhbGciOiJSUzI1NiJ9.eyJpYW1faWQi...(truncated)
Vault에 로그인
환경을 구성한 후에 Vault에 로그인하여 Secrets Manager 인스턴스와의 상호작용을 시작하십시오.
-
IBM Cloud IAM 토큰을 사용하여 Vault에 인증하십시오.
vault write auth/ibmcloud/login token=$IAM_TOKEN다음 화면은 예제 출력을 보여줍니다.
Key Value --- ----- token s.5DQYF57xU1qOAIj2PhnMC39H token_accessor C14JDJ6KtwQKQR5UNR5NIC7J token_duration 1h token_renewable true token_policies ["default" "instance-manager"] identity_policies [] policies ["default" "instance-manager"] token_meta_grant_type urn:ibm:params:oauth:grant-type:apikey token_meta_name test-ibm-cloud-api-key token_meta_resource crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:: token_meta_user iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8 token_meta_bss_acc 791f5fb10986423e97aa8512f18b7e65 -
이전 단계에서 리턴된
token값을 사용하여 Vault에 로그인하십시오.vault login <token>다음 화면은 예제 출력을 보여줍니다.
Success! You are now authenticated. The token information displayed is already stored in the token helper. You do NOT need to run "vault login" again. Future Vault requests will automatically use this token. Key Value --- ----- token s.6yFk0Z1IRi0Yc5DtwIKuENDJ token_accessor BnEHQuAxTiHJGhP1x0hNqagV token_duration 57m58s token_renewable true token_policies ["default" "instance-manager"] identity_policies [] policies ["default" "instance-manager"] token_meta_grant_type urn:ibm:params:oauth:grant-type:apikey token_meta_name test-ibm-cloud-api-key token_meta_resource crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:: token_meta_user iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8 token_meta_bss_acc 791f5fb10986423e97aa8512f18b7e65이제 Vault CLI 명령을 사용하여 Secrets Manager 인스턴스와 상호작용할 수 있습니다. 자세한 내용을 확인하려면 CLI 참조를 확인하십시오.