Cloud Storage에서 어플라이언스로 데이터를 내보내기 위한 Google Cloud 권한 및 Cloud Storage 단계별 구성

이 문서에서는 다음과 같은 Google Cloud 권한 및 Cloud Storage 단계별 구성에 대해 설명합니다.

  • Cloud Storage 버킷을 준비합니다.
  • 데이터 보안을 위해 Cloud Key Management Service 키를 준비합니다.
  • Transfer Appliance팀에 Cloud Storage 버킷 구성 데이터를 제공합니다.

시작하기 전에

Transfer Appliance팀으로부터 Google Transfer Appliance 권한이라는 제목의 이메일을 받았는지 확인합니다. 이 이메일에는 다음이 포함됩니다.

  • 전송에 필요한 서비스 계정의 이름

  • 어플라이언스를 구성하는 데 필요한 세션 ID

  • 계정을 구성한 후 작성해야 하는 양식

Cloud Storage 버킷에 대한 권한 준비

Google에서는 서비스 계정 2개를 사용하여 데이터를 전송합니다. 서비스 계정은 사용자가 아닌 애플리케이션에서 사용하는 특수 계정입니다. 이 경우 서비스 계정을 사용하면 Transfer Appliance가 개발자 대신 Cloud Storage 리소스를 사용하여 Cloud Storage와 어플라이언스 간에 데이터를 전송할 수 있습니다. 이러한 계정에 데이터를 전송하는 데 필요한 역할을 부여합니다.

Cloud Storage 버킷을 준비하려면 다음 단계를 따르세요.

  1. Transfer Appliance팀은 Google Transfer Appliance 권한이라는 제목의 이메일에서 다음 서비스 계정을 제공합니다.

    • 이 특정 전송과 연결된 세션 서비스 계정입니다. 예시는 다음과 같습니다.

      ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      이 예시에서 SESSION_ID는 특정 전송의 세션 ID입니다.

    • Cloud Storage와 어플라이언스 간에 데이터를 전송하는 데 사용되는 Transfer Service for On Premises Data 서비스에 연결된 서비스 에이전트입니다. 이 항목은 다음 예시와 같이 표시됩니다.

      project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

      이 예시에서 TENANT_IDENTIFIER는 이러한 특정 프로젝트와 관련해서 생성된 번호입니다.

    다음 단계를 위해 서비스 계정을 기록해 둡니다.

    서비스 계정을 사용하면 Transfer Appliance에서 개발자 대신 Google Cloud 리소스를 조작하여 Cloud Storage와 어플라이언스 간에 데이터를 전송할 수 있습니다. 이러한 계정에 Cloud Storage와 어플라이언스 간에 데이터를 전송하는 데 필요한 역할을 부여합니다.

  2. Cloud Storage 버킷은 Google Cloud 프로젝트에 연결되어 있습니다. 선택한 버킷은 어플라이언스 주문에 사용된 것과 동일한 프로젝트에 있어야 합니다.

  3. Cloud Storage 버킷을 사용하도록 Transfer Appliance 서비스 계정에 권한을 부여하려면 다음을 수행합니다.

    Google Cloud 콘솔

    1. Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.

      버킷으로 이동

    2. 주 구성원에게 역할을 부여할 버킷과 관련된 버킷 더보기 메뉴()를 클릭합니다.

    3. 버킷 권한 수정을 선택합니다.

    4. + 주 구성원 추가 버튼을 클릭합니다.

    5. 새 주 구성원 필드에 다음 ID를 입력합니다.

      • 세션 서비스 계정입니다. 예시는 다음과 같습니다.

        ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

        이 예시에서 SESSION_ID는 특정 전송의 세션 ID입니다.

      • Transfer Service for On Premises Data 서비스 에이전트입니다. 이 항목은 다음 예시와 같이 표시됩니다.

        project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

        이 예시에서 TENANT_IDENTIFIER는 이러한 특정 프로젝트와 관련해서 생성된 번호입니다.

    6. 역할 선택 드롭다운 메뉴에서 스토리지 관리자 역할을 선택합니다.

      선택한 역할 및 부여되는 권한에 대한 간단한 설명이 창에 표시됩니다.

    7. 저장을 클릭합니다.

    명령줄

    gcloud storage buckets add-iam-policy-binding 명령어를 사용합니다.

    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
    --role=roles/storage.admin
    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com \
    --role=roles/storage.admin

    예를 들면 다음과 같습니다.

    • BUCKET_NAME: 사용자가 만들려는 버킷 이름입니다.
    • SESSION_ID: 특정 전송의 세션 ID입니다.
    • TENANT_IDENTIFIER: 이 특정 프로젝트와 관련해서 생성된 번호입니다.

Cloud KMS 키 준비

Transfer Appliance는 데이터를 암호화하여 어플라이언스의 데이터를 보호합니다. Cloud Key Management Service(Cloud KMS) 공개 는 Transfer Appliance에서 데이터를 암호화하는 데 사용되며, 비공개 키는 데이터를 복호화하는 데 사용됩니다.

Google에서는 Cloud Storage 버킷에 대한 권한 준비의 세션 서비스 계정을 사용하여 Cloud Storage 버킷의 데이터를 어플라이언스에 업로드합니다.

암호화 키를 관리하기 위한 옵션은 다음과 같습니다.

  • 암호화 키를 직접 만들고 관리. 아래 안내에 따라 전송에 사용되는 암호화 키를 만들고 관리합니다. Cloud KMS 비대칭 복호화 키를 준비하고 키에 세션 서비스 계정을 추가합니다.

Cloud KMS 키를 준비하려면 다음 안내를 따르세요.

  1. Cloud Key Management Service 키링이 없으면 다음을 수행하여 키링을 만듭니다.

    Google Cloud 콘솔

    1. Google Cloud 콘솔에서 암호화 키 페이지로 이동합니다.

      암호화 키 페이지로 이동

    2. 키링 만들기를 클릭합니다.

    3. 키링 이름 필드에 원하는 키링의 이름을 입력합니다.

    4. 키링 위치 드롭다운에서 "us-east1"과 같은 위치를 선택합니다.

    5. 만들기를 클릭합니다.

    명령줄

    gcloud kms keyrings create KEY_RING --location=LOCATION --project=PROJECT_ID
    

    예를 들면 다음과 같습니다.

    • LOCATION: 키링의 Cloud Key Management Service 위치입니다. 예를 들면 global입니다.
    • KEY_RING: 키링의 이름입니다.
    • PROJECT_ID: 스토리지 버킷이 속한 Google Cloud 프로젝트 ID입니다.
  2. 다음을 수행하여 비대칭 복호화 키를 만듭니다.

    Google Cloud 콘솔

    1. Google Cloud 콘솔에서 암호화 키 페이지로 이동합니다.

      암호화 키 페이지로 이동

    2. 키를 만들 키링의 이름을 클릭합니다.

    3. 키 만들기를 클릭합니다.

    4. 어떤 유형의 키를 만들고 싶으신가요? 섹션에서 생성된 키를 선택합니다.

    5. 키 이름 필드에 키의 이름을 입력합니다.

    6. 보호 수준 드롭다운을 클릭하고 소프트웨어를 선택합니다.

    7. 용도 드롭다운을 클릭하고 비대칭 복호화를 선택합니다.

    8. 알고리즘 드롭다운을 클릭하고 4096비트 RSA - OAEP 패딩 - SHA256 다이제스트를 선택합니다.

    9. 만들기를 클릭합니다.

    명령줄

    다음 명령어를 실행하여 비대칭 복호화 키를 만듭니다.

    gcloud kms keys create KEY --keyring=KEY_RING \
    --location=LOCATION --purpose=asymmetric-encryption \
    --default-algorithm=rsa-decrypt-oaep-4096-sha256 \
    --project=PROJECT_ID
    

    예를 들면 다음과 같습니다.

    • KEY: Cloud Key Management Service 키의 이름입니다. 예를 들면 ta-key입니다.
    • KEY_RING: 키링의 이름입니다.
    • LOCATION: 키링의 Cloud Key Management Service 위치입니다. 예를 들면 global입니다.
    • PROJECT_ID: 스토리지 버킷이 속한 Google Cloud 프로젝트 ID입니다.
  3. 다음을 수행하여 세션 서비스 계정을 비대칭 키에 주 구성원으로 추가합니다.

    Google Cloud 콘솔

    1. Google Cloud 콘솔에서 암호화 키 페이지로 이동합니다.

      암호화 키 페이지로 이동

    2. 비대칭 키가 포함된 키링을 클릭합니다.

    3. 원하는 비대칭 키의 체크박스를 선택합니다.

    4. 정보 패널에서 주 구성원 추가를 클릭합니다.

      주 구성원 추가가 표시됩니다.

    5. 새 주 구성원 필드에 Transfer Appliance팀에서 제공한 세션 서비스 계정을 입력합니다. 예시는 다음과 같습니다.

      ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      이 예시에서 SESSION_ID는 특정 전송의 세션 ID입니다.

    6. 역할 선택 필드에 Cloud KMS CryptoKey 공개 키 뷰어 역할을 추가합니다.

    7. 저장을 클릭합니다.

    명령줄

    1. 다음 명령어를 실행하여 세션 서비스 계정에 roles/cloudkms.publicKeyViewer 역할을 부여합니다.

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
      --role=roles/cloudkms.publicKeyViewer
      

      예를 들면 다음과 같습니다.

      • KEY: Cloud Key Management Service 키의 이름입니다. 예를 들면 ta-key입니다.
      • KEY_RING: 키링의 이름입니다.
      • LOCATION: 키링의 Cloud Key Management Service 위치입니다. 예를 들면 global입니다.
      • SESSION_ID: 특정 전송의 세션 ID입니다.
  4. 다음을 수행하여 비대칭 키의 경로를 가져옵니다.

    Google Cloud 콘솔

    1. Google Cloud 콘솔에서 암호화 키 페이지로 이동합니다.

      암호화 키 페이지로 이동

    2. 비대칭 복호화 키가 포함된 키링을 클릭합니다.

    3. 비대칭 복호화 키의 이름을 클릭합니다.

    4. 원하는 키 버전을 선택하고 더보기 를 클릭합니다.

    5. 리소스 이름 복사를 클릭합니다.

      키 형식의 예시는 다음과 같습니다.

      projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER

      예를 들면 다음과 같습니다.

      • PROJECT_ID: 스토리지 버킷이 속한 Google Cloud 프로젝트 ID입니다.
      • LOCATION: 키링의 Cloud Key Management Service 위치입니다.
      • KEY_RING: 키링의 이름입니다.
      • KEY: Cloud Key Management Service 키의 이름입니다.
      • VERSION_NUMBER: 키의 버전 번호입니다.

      Transfer Appliance팀은 사용자의 데이터에 올바른 키를 적용할 수 있도록 버전 번호를 포함한 전체 키 경로를 필요로 합니다.

    명령줄

    다음 명령어를 실행하여 버전 번호를 포함하여 비대칭 키의 전체 경로를 나열합니다.

    gcloud kms keys versions list --keyring=KEY_RING \
    --key=KEY --location=LOCATION \
    --project=PROJECT_ID
    

    예를 들면 다음과 같습니다.

    • KEY_RING: 키링의 이름입니다.
    • KEY: 비대칭 키의 이름입니다.
    • LOCATION: 키링의 Google Cloud 위치입니다.
    • PROJECT_ID: 스토리지 버킷이 속한 Google Cloud 프로젝트 ID입니다.

    다음 샘플 응답은 반환된 출력과 유사합니다.

    NAME STATE
    projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER
    ENABLED
    

    예를 들면 다음과 같습니다.

    • PROJECT_ID: 스토리지 버킷이 속한 Google Cloud 프로젝트 ID입니다.
    • LOCATION: 키링의 Cloud Key Management Service 위치입니다.
    • KEY_RING: 키링의 이름입니다.
    • KEY: Cloud Key Management Service 키의 이름입니다.
    • VERSION_NUMBER: 키의 버전 번호입니다.

    Transfer Appliance팀은 /cryptoKeyVersions/VERSION_NUMBER로 끝나는 NAME 아래에 문자열을 필요로 합니다. 여기서 VERSION_NUMBER는 키의 버전 번호입니다.

Transfer Appliance팀에 버킷 구성 데이터 제공

Google은 Cloud Storage 버킷 정보를 수집하기 위해 Google Transfer Appliance 권한이라는 제목의 이메일을 전송합니다. Google은 개발자가 제공하는 정보를 사용하여 Cloud Storage와 Transfer Appliance 간의 데이터 전송을 구성합니다.

이 이메일에 연결된 양식에 다음 정보를 입력합니다.

  • Google Cloud 프로젝트 ID.
  • 암호화 옵션 선택:
    • 고객 관리 암호화 키: 고객 관리 암호화 키 선택 드롭다운 메뉴에서 암호화 키를 선택합니다.
  • 이 전송에 사용된 Google Cloud Storage 버킷 이름

다음 단계

네트워크에서 Transfer Appliance 작동을 위한 IP 네트워크 포트 구성