보안 게이트웨이 관리

이 페이지에서는 일반적인 보안 게이트웨이 관리 작업을 완료하는 방법을 설명합니다.

셸 환경 설정

설정 프로세스를 간소화하고 보안 게이트웨이 API와 상호작용하려면 작업 셸에서 다음 환경 변수를 정의하세요.

  • 일반 매개변수

    API="beyondcorp.googleapis.com"
    API_VERSION=v1
    PROJECT_ID=MY_PROJECT_ID
    APPLICATION_ID=MY_APPLICATION_ID
    APPLICATION_DISPLAY_NAME="MY_APPLICATION_DISPLAY_NAME"
    HOST_NAME=MY_HOST_NAME

    다음을 바꿉니다.

    • MY_PROJECT_ID: 보안 게이트웨이가 생성되는 프로젝트의 ID입니다.
    • MY_APPLICATION_ID: 애플리케이션의 ID입니다(예: github). 이름은 최대 63자(영문 기준)까지 입력할 수 있으며 소문자, 숫자, 하이픈을 포함할 수 있습니다. 첫 번째 글자는 문자여야 하고 마지막 글자는 문자 또는 숫자일 수 있습니다.
    • MY_APPLICATION_DISPLAY_NAME: 표시할 사람이 읽을 수 있는 이름입니다.
    • MY_HOST_NAME: 애플리케이션의 호스트 이름입니다. 예를 들면 github.com입니다. 호스트 이름의 최대 길이는 253자(영문 기준)이며 다음 형식 중 하나를 따라야 합니다.

      • 유효한 IPv4 주소
      • 유효한 IPv6 주소
      • 유효한 DNS 이름
      • 별표 (*)
      • 별표 (*)와 유효한 DNS 이름
  • 보안 게이트웨이 매개변수

    SECURITY_GATEWAY_ID=MY_SECURITY_GATEWAY_ID
    SECURITY_GATEWAY_DISPLAY_NAME="MY_SECURITY_GATEWAY_DISPLAY_NAME"

    다음을 바꿉니다.

    • MY_SECURITY_GATEWAY_ID: 보안 게이트웨이의 ID입니다. ID는 최대 63자이며 소문자, 숫자, 하이픈을 포함할 수 있습니다. 첫 번째 글자는 문자여야 하고 마지막 글자는 문자 또는 숫자일 수 있습니다.
    • MY_SECURITY_GATEWAY_DISPLAY_NAME: 보안 게이트웨이의 사람이 읽을 수 있는 이름입니다. 이름의 최대 길이는 63자(영문 기준)이며 인쇄 가능한 문자만 포함할 수 있습니다.

보안 게이트웨이 업데이트

다음 예에서는 기존 보안 게이트웨이의 허브를 업데이트하는 방법을 보여줍니다.

gcloud

gcloud beta beyondcorp security-gateways update ${SECURITY_GATEWAY_ID} \
  --project=${PROJECT_ID} \
  --location=global \
  --hubs=us-central1,us-east1
      

REST

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-X PATCH \
-d "{ \"hubs\": {\"us-central1\": {}, \"us-east1\": {}} }" \
"https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}?update_mask=hubs"
      

보안 게이트웨이의 세부정보 가져오기

보안 게이트웨이의 세부정보를 가져오려면 다음 명령어를 실행합니다.

gcloud

gcloud beta beyondcorp security-gateways describe ${SECURITY_GATEWAY_ID} \
  --project=${PROJECT_ID} \
  --location=global
      

REST

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}"
      

보안 게이트웨이 나열

프로젝트의 모든 보안 게이트웨이를 나열하려면 다음 명령어를 실행합니다.

gcloud

gcloud beta beyondcorp security-gateways list \
  --project=${PROJECT_ID} \
  --location=global
      

REST

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways"
      

보안 게이트웨이 삭제

보안 게이트웨이를 삭제하려면 다음 명령어를 실행합니다.

gcloud

gcloud beta beyondcorp security-gateways delete ${SECURITY_GATEWAY_ID} \
  --project=${PROJECT_ID} \
  --location=global
      

REST

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-X DELETE \
"https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}"
      

애플리케이션 리소스 업데이트

다음 예는 기존 애플리케이션을 업데이트하는 방법을 보여줍니다. 수정 가능한 필드는 다음과 같습니다.

  • display_name
  • endpoint_matchers

update_mask를 사용하여 업데이트할 필드를 제어할 수 있습니다. 다음 예는 endpoint_matchers 필드를 업데이트하는 방법을 보여줍니다.

gcloud

gcloud beta beyondcorp security-gateways applications update ${APPLICATION_ID} \
  --project=${PROJECT_ID} \
  --security-gateway=${SECURITY_GATEWAY_ID} \
  --location=global \
  --endpoint-matchers="hostname=${HOST_NAME}"
      

REST

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-X PATCH \
-d "{ \"endpoint_matchers\": [{hostname: \"${HOST_NAME}\"}] }" \
"https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}/applications/${APPLICATION_ID}?update_mask=endpoint_matchers"
      

애플리케이션 리소스의 세부정보 가져오기

애플리케이션의 세부정보를 가져오려면 다음 명령어를 실행합니다.

gcloud

gcloud beta beyondcorp security-gateways applications describe ${APPLICATION_ID} \
  --project=${PROJECT_ID} \
  --security-gateway=${SECURITY_GATEWAY_ID} \
  --location=global
      

REST

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}/applications/${APPLICATION_ID}"
      

애플리케이션 리소스 나열

보안 게이트웨이의 모든 애플리케이션을 나열하려면 다음 명령어를 실행합니다.

gcloud

gcloud beta beyondcorp security-gateways applications list \
  --project=${PROJECT_ID} \
  --security-gateway=${SECURITY_GATEWAY_ID} \
  --location=global
      

REST

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}/applications"
      

애플리케이션 리소스 삭제

애플리케이션을 삭제하려면 다음 명령어를 실행합니다.

gcloud

gcloud beta beyondcorp security-gateways applications delete ${APPLICATION_ID} \
  --project=${PROJECT_ID} \
  --security-gateway=${SECURITY_GATEWAY_ID} \
  --location=global
      

REST

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-X DELETE \
"https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}/applications/${APPLICATION_ID}"