[Fortify] SSC Token 생성&삭제 스크립트 (bash)

#!/bin/bash
##############################################################################
#
# Fortify SSC에서 토큰을 생성 또는 삭제한다.
# 생성된 토큰은 "$TOKEN_DIR/토큰명"으로 저장된다.
# 다 스크립트에서는 TOKEN=$(cat "$TOKEN_DIR/토큰명")으로 정의하여 사용한다.
#
# crontab -e (매월 5일 7:00에 토큰 갱신)
# 0 7 5 * * /opt/scripts/get_ssc_token.sh
#
##############################################################################
FORTIFY_CLIENT="fortifyclient"
SSC_URL="http://10.10.10.31:8083/ssc"
SSC_USER='admin'
SSC_PW='MyPasswd12'
TOKEN_DIR="/root/ssc_tokens"
TMP_FILE1="/tmp/ssc_token.tmp"

##############################################################################
#
# 토큰이 저장될 토큰 디렉토리를 만든다.
#
##############################################################################
function make_token_dir() {
  if [ ! -d ${TOKEN_DIR} ]
  then
    mkdir -p ${TOKEN_DIR}
  fi
}

##############################################################################
#
# SSC에서 토큰을 발급받아 ${TOKEN_DIR}/<Token name>에 저장한다.
# 사용 예)
# get_ssc_token "AnalysisUploadToken" 90
# get_ssc_token "ScanCentralCtrlToken" 90
#
##############################################################################
function get_ssc_token() {
  ${FORTIFY_CLIENT} -url ${SSC_URL} -user ${SSC_USER} -password ${SSC_PW} token -gettoken ${1} -daysToLive ${2} | grep "Authorization Token" > ${TMP_FILE1}
  sed -i 's/\r$//g' ${TMP_FILE1}
  TOKEN_VALUE=$(cat ${TMP_FILE1})
  rm -f ${TMP_FILE1}
  TOKEN_VALUE=${TOKEN_VALUE#"Authorization Token: "}
  echo ${TOKEN_VALUE}

  # 이미 토큰 파일이 있을 경우 삭제
  if [ -f ${TOKEN_DIR}/${1} ]
  then
    rm -f ${TOKEN_DIR}/${1}
  fi

  echo -n ${TOKEN_VALUE} > ${TOKEN_DIR}/${1}
}

##############################################################################
#
# ${1} 계정으로 생성한 모든 토큰을 삭제한다.
# 사용 예)
# remove_ssc_token "admin"
#
##############################################################################
function remove_ssc_token() {
  ${FORTIFY_CLIENT} -url ${SSC_URL} -user ${SSC_USER} -password ${SSC_PW} invalidatetoken -invalidateForUser ${1}
}

##############################################################################
#
# 시작
#
##############################################################################
make_token_dir

##############################################################################
# 모든 토큰 삭제
##############################################################################
remove_ssc_token ${SSC_USER}

##############################################################################
# 토큰 생성
##############################################################################
get_ssc_token "ScanCentralCtrlToken" 90
get_ssc_token "AnalysisUploadToken" 90

##############################################################################
# 생성된 토큰 보기
##############################################################################
#${FORTIFY_CLIENT} -url ${SSC_URL} -user ${SSC_USER} -password ${SSC_PW} listtokens
위로 스크롤