このドキュメントでは、次の手順を含む、 Google Cloud 権限と Cloud Storage をステップ バイ ステップで構成する方法について説明します。
- 転送先の Cloud Storage バケットを準備します。
- データを保護するための Cloud Key Management Service 鍵の準備。
- Transfer Appliance チームに Cloud Storage バケットの構成データを提供します。
準備
Transfer Appliance チームからのメールが Google Transfer Appliance の準備権限とストレージ という名であることを確認します。このメールの内容は 次のとおりです。
転送に必要なサービス アカウントの名前。
アプライアンスの構成に必要なセッション ID。
アカウントの設定が完了したら入力するフォーム。
転送先の Cloud Storage バケットの準備
Cloud Storage にデータを保存するには、バケットを準備する必要があります。バケットは、Cloud Storage でデータを格納する基本的なコンテナです。
2 つのサービス アカウントを使用して、Transfer Appliance から、準備した転送先の Cloud Storage バケットにデータを転送します。サービス アカウントは、人ではなく、作業を行うためにアプリケーションで使用される特別なアカウントです。このガイドでは、サービス アカウントを使用することで、Transfer Appliance が Cloud Storage リソースを使用して、アプライアンスから Cloud Storage バケットにデータをコピーします。アプライアンスから Cloud Storage バケットにデータをコピーするためにこれらのアカウントが必要とするロールを付与します。
転送先の Cloud Storage バケットを準備するには、次の手順に従います。
「Google Transfer Appliance Preparing Bucket」 というタイトルのメールで、Transfer Appliance チームにより次のサービス アカウントが用意されます。
この転送に紐付けられたセッション サービス アカウント。次のような形式です。
ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com
この例で、
SESSION_ID
は、この転送に固有のセッション ID です。Transfer Service for On Premises Data サービスに紐付けられたサービス アカウント。アプライアンスから Cloud Storage バケットにデータを転送するために使用します。次のような形式です。
project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com
この例で、
TENANT_IDENTIFIER
は、この特定のプロジェクトに固有の生成された番号です。
次の手順で使用するため、上記サービス アカウントをメモします。
サービス アカウントを使用すると、Transfer Appliance でユーザーに代わってGoogle Cloud リソースを操作し、アプライアンスから Cloud Storage にデータをコピーできます。アプライアンスから Cloud Storage バケットにデータをコピーするためにこれらのアカウントが必要とするロールを付与します。
Cloud Storage バケットは Google Cloud プロジェクトに関連付けられています。選択するバケットは、アプライアンスの注文に使用したプロジェクトと同じプロジェクトに存在している必要があります。
Cloud Storage バケットがない場合は、1 つ作成します。
Google Cloud コンソール
Google Cloud コンソールで Cloud Storage バケットのページを開きます。
Cloud Storage バケットのページに移動します。
[バケットを作成] をクリックして、バケット作成フォームを開きます。
次のバケット情報を入力します。各ステップは、[続行] をクリックして完了します。
[完了] をクリックします。
コマンドライン
gcloud storage buckets create
コマンドを次のように使用します。gcloud storage buckets create gs://BUCKET_NAME --uniform-bucket-level-access --location=LOCATION --project=PROJECT_ID
この例では、次のようになります。
BUCKET_NAME
: 作成するバケットの名前。バケットの命名要件が適用されます。LOCATION
: 目的の Cloud Storage バケットのロケーション。PROJECT_ID
: バケットを作成するプロジェクト ID。
バケットに保持ポリシーを設定しないでください。
Cloud Storage バケットを使用する権限を Transfer Appliance サービス アカウントに付与するには、次の操作を行います。
Google Cloud コンソール
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
プリンシパルにロールが付与されるバケットに関連付けられた [バケット オーバーフロー] メニュー(
)をクリックします。
[バケットの権限を編集] を選択します。
[+ プロジェクトを追加] ボタンをクリックします。
[新しいプリンシパル] フィールドに、次の 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
は、この特定のプロジェクトに固有の生成された番号です。
[ロールを選択] プルダウン メニューから [ストレージ管理者] ロールを選択します。
選択した役割と付与する権限の簡単な説明がパネルに表示されます。
[保存] をクリックします。
コマンドライン
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
: この特定のプロジェクトに固有の生成された番号。
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
Cloud KMS 鍵の準備
アプライアンスを返送する前に、Transfer Appliance では、データを暗号化してアプライアンスを保護します。Transfer Appliance では、データの暗号化に Cloud Key Management Service(Cloud KMS)の公開鍵を使用し、データの復号に秘密鍵を使用します。
転送先の Cloud Storage バケットの準備のセッション サービス アカウントを使用して、アプライアンスから Cloud Storage バケットにデータをアップロードします。
暗号鍵の管理には次のオプションがあります。
Google-owned and Google-managed encryption keys。Cloud KMS 鍵の作成と管理をリクエストできます。この方法を使用する場合は、 Google Cloud プロジェクトの構成が完了し、アプライアンスを受け取るで説明されている手順に進むことができます。
暗号鍵を自分で作成して管理します。転送に使用する暗号鍵は、次の手順で作成して管理します。Cloud KMS 非対称復号鍵を準備し、セッション サービス アカウントを鍵に追加します。セッション サービス アカウントは、非対称復号鍵を使用してデータを復号し、Cloud Storage にコピーします。
Cloud KMS 鍵を準備する手順は次のとおりです。
Cloud Key Management Service キーリングがない場合は、次の手順で作成します。
Google Cloud コンソール
Google Cloud コンソールで [暗号鍵] ページに移動します。
[キーリングを作成] をクリックします。
[キーリングの名前] フィールドに、キーリングの名前を入力します。
[鍵リングの場所] プルダウンから、
"us-east1"
などの場所を選択します。[作成] をクリックします。
コマンドライン
gcloud kms keyrings create KEY_RING --location=LOCATION --project=PROJECT_ID
この例では、
LOCATION
: キーリングの Cloud Key Management Service のロケーション。例:global
KEY_RING
: キーリングの名前。PROJECT_ID
: ストレージ バケットが属する Google Cloud プロジェクト ID。
次の操作を行って、非対称復号鍵を作成します。
Google Cloud コンソール
Google Cloud コンソールで [暗号鍵] ページに移動します。
鍵を作成するキーリングの名前をクリックします。
[鍵を作成] をクリックします。
[作成する鍵の種類] で [生成された鍵] を選択します。
[鍵名] フィールドに、鍵の名前を入力します。
[保護レベル] プルダウンをクリックし、[ソフトウェア] を選択します。
[目的] プルダウンをクリックし、[非対称復号] を選択します。
[アルゴリズム] プルダウンをクリックし、[4096 ビット RSA - OAEP パディング - SHA256 ダイジェスト] を選択します。
[作成] をクリックします。
コマンドライン
次のコマンドを実行して、非対称復号鍵を作成します。
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。
次の手順に従い、セッション サービス アカウントをプリンシパルとして非対称鍵に追加します。
Google Cloud コンソール
Google Cloud コンソールで [暗号鍵] ページに移動します。
非対称鍵を含むキーリングをクリックします。
使用する鍵のチェックボックスをオンにします。
情報パネルで [プリンシパルを追加] をクリックします。
[プリンシパルの追加] が表示されます。
[新しいプリンシパル] フィールドに、Transfer Appliance チームから提供されたセッション サービス アカウントを入力します。次のような形式です。
ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com
この例で、
SESSION_ID
は、この転送に固有のセッション ID です。[ロールを選択] フィールドに、[Cloud KMS 暗号鍵の公開鍵閲覧者] ロールを追加します。
[別の役割を追加] をクリックします。
[ロールを選択] フィールドに [クラウド KMS 暗号鍵の復号化] ロールを追加します。
[保存] をクリックします。
コマンドライン
次のコマンドを実行して、セッション サービス アカウントに
roles/cloudkms.cryptoKeyDecrypter
ロールを付与します。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.cryptoKeyDecrypter
この例では、次のようになります。
KEY
: Cloud Key Management Service 鍵の名前。例:ta-key
KEY_RING
: キーリングの名前。LOCATION
: キーリングの Cloud Key Management Service のロケーション。例:global
SESSION_ID
: この転送に固有のセッション ID。
次のコマンドを実行して、セッション サービス アカウントに
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。
次の手順を実行して、非対称鍵のパスを取得します。
Google Cloud コンソール
Google Cloud コンソールで [暗号鍵] ページに移動します。
非対称復号鍵を含むキーリングをクリックします。
非対称復号鍵の名前をクリックします。
目的の鍵バージョンを選択して、その他アイコン(more_vert)をクリックします。
[リソース名をコピーする] をクリックします。
鍵の形式の例を次に示します。
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 チームでは、
NAME
の下にある/cryptoKeyVersions/VERSION_NUMBER
で終わる文字列が必要です(VERSION_NUMBER
は鍵のバージョン番号)。
Transfer Appliance チームにバケット構成データを提供する
Cloud Storage バケットに関する情報を収集するため、「Google Transfer Appliance の準備権限とストレージ」というタイトルのメールを送信します。入力された情報を使用して、Transfer Appliance から Cloud Storage への転送を構成します。
メールに記載されているリンクからアクセスできるフォームに、次の情報を入力します。
- Google Cloud プロジェクト ID。
- [暗号化] で選択します。
- Google-owned and Google-managed encryption key(Google に暗号鍵の管理を依頼した場合)。
- 顧客管理の暗号鍵(独自の暗号鍵を管理する場合)。[顧客管理の暗号鍵を選択] プルダウン メニューから目的の暗号鍵を選択します。
- この転送に使用される Google Cloud Cloud Storage の宛先バケット名。
- 省略可: オブジェクト接頭辞。オブジェクト接頭辞がない場合、オブジェクトはファイルシステム上のファイル名の前にソースのパス(ルートパスは含まない)を付けて、Cloud Storage に転送されます。たとえば、次のファイルがあるとします。
/source_root_path/file1.txt
/source_root_path/dirA/file2.txt
/source_root_path/dirA/dirB/file3.txt
file1.txt
dirA/file2.txt
dirA/dirB/file3.txt
/
文字の後ろで、かつオブジェクトの転送元のパス名(ソースのルートパスは含まない)の前になります。これにより、他の転送ジョブから転送されたオブジェクトを区別できるようになります。 次の表に、ソース オブジェクトのパスが/source_root_path/sub_folder_name/object_name
の場合の、オブジェクト接頭辞と Cloud Storage 内のオブジェクト名の例を示します。接頭辞 転送先のオブジェクト名 なし /destination_bucket/sub_folder_name/object_name
prefix/
/destination_bucket/prefix/sub_folder_name/object_name
次のステップ
ネットワーク上で動作するように Transfer Appliance の IP ネットワーク ポートを構成します。