ビュー:

始める前に

まず、開始する前にの6つのチェックをすべて完了してください。特に、C1FSSが複数のプロジェクトにまたがって実行されている場合は開始しないでください。また、各バケットリスナーが保護するバケットと、各バケットのC1FSS通知idおよびtopicを記録していることを確認してください。これらの詳細はロールバックする際に必要です。
TrendAI Cloud One File Storage Security (C1FSS) からTrendAI Vision One™ File Security Storage (V1FSS) へのGoogle Cloud Platformでのアップデートは、この短時間停止プロセスに従うことができます。C1FSSの検索がV1FSSの検索開始前に停止するため、この方法では両方の製品が同じオブジェクトを検索して処理する際に発生する競合状態を回避できます。オブジェクトが二重に検索されることはなく、fss-メタデータが繰り返し変更されることもなく、両方の製品によってオブジェクトが移動されることもありません。
スキャンは手順2と手順3の間で一時停止します。その間にアップロードされたオブジェクトはどちらの製品でもスキャンされません。両方のアクションは単一のアクションであるため、その間隔は通常数分であり、その期間は展開手順ではなく、あなた次第です。

手順

  1. V1FSSをインストールし、C1FSSが保護するバケットのスキャンをオンにしないでください。
    1. TrendAI Vision Oneコンソールで、[Cloud Security][File Security]に移動し、[インベントリ]ページの[ストレージ]の下で[GCP]を選択します。
    2. [Add a single Google Cloud Project]をクリックし、[単一のGoogle Cloudプロジェクト]を選択して[一般情報]ページで必要なフィールドを入力してください。
    3. [機能と権限]ページで[File Security Storage]を有効にし、File Securityスキャナーを展開したい地域を選択してください。
      重要
      重要
      [Before you begin]に記録したC1FSSが実行されるすべてのリージョンを選択します。完全な展開手順については、Google Cloud PlatformにFile Security Storageをデプロイするを参照してください。
      重要
      重要
      このプロジェクトがすでに別の機能のためにTrendAI Vision Oneに接続されている場合、新しい接続を作成しないでください。既存の接続にFile Security Storageを追加し、再生成されたパッケージがプロジェクトがすでに持っていたすべての機能を引き続き保持するようにしてください。
    4. Google Cloudコンソールで[Cloud Shell]を開き、TrendAI Vision Oneコンソールの[Google Cloud プロジェクトを追加]ページに表示される手順に従って、デプロイメントパッケージをアップロードして抽出します。
    5. プロモートまたは隔離プラグインを使用する場合は、インストールする前にプロモートと隔離の設定を今すぐ構成してください。
      更新、昇格、および隔離設定を参照してください。設定を今すぐ構成することで、V1FSSがオブジェクトをスキャンするが移動しないという状況を回避できます。このパスでは重複がないため、両方の製品が同じオブジェクトを移動するリスクはありません。
    6. 作成される内容を確認し、その後V1FSSをデプロイします。
      ./deploy.sh precheck
      ./deploy.sh install
      precheckコマンドは何も変更しません。これはTerraformのプランであり、権限チェックではありません。
      installコマンドは、プロジェクト内にTerraformステートバケットを作成し、クラウドアカウント管理モジュールとFile Security Storageモジュールを適用し、プロジェクトをTrendAI Vision Oneに自動的に登録します。別途登録手順はありません。出力はdeploy_gcp.logに書き込まれます。Cloud Shellが途中でタイムアウトした場合は、再接続し、デプロイメントディレクトリに戻り、同じコマンドを再度実行してください。進行状況はシェルではなくTerraformリモートステートに記録されるため、コマンドは停止したところから続行されます。
    7. デプロイメントが完了した後、プロジェクトが[インベントリ]ページの[GCP]に表示され、プロジェクト内のバケットがすべて保護されていない状態でリストされていることを確認してください。
      注意
      注意
      バケットをTrendAI Vision Oneに同期するには時間がかかる場合があります。
    8. C1FSSが保護するバケットに対しては、まだスキャンをオンにしないでください。
      手順3までオフにしておくことで、ダウンタイムを短く保つことができます。
      オプションとして、C1FSSが保護していないバケットのスキャンを今すぐオンにし、何かを移行する前にV1FSSが機能することを確認するために使用してください。そのバケットにはC1FSSの通知設定がないため、重複するものはありません。
    チェックポイント
    • プロジェクトは[インベントリ]ページの[GCP]に表示されます。
    • C1FSSが保護するすべてのバケットはプロジェクトの下にリストされており、依然として保護されていないと表示されます。
    • C1FSSはまだスキャン中です。各バケットの通知設定は依然としてCloud Functionsのトピックを指しており、その…-bucket-listener関数は変更されていません。
  2. C1FSSバケット通知を削除します。
    重要
    重要
    ここからダウンタイムが始まります。この手順と手順3の間にアップロードされたオブジェクトは、どちらの製品でもスキャンされません。
    通知設定を削除すると、C1FSSインフラストラクチャはそのままにしてイベントの配信が即座に停止されるため、手順3で問題が発生した場合でも再デプロイせずに元に戻すことができます。これは、作業中にバケットが保護されていないため、ゼロダウンタイムのパスよりもこのパスで重要です。
    1. バケットの通知設定を一覧表示し、C1FSSのものを特定します。この時点では、V1FSSスキャンがまだ有効になっていないため、唯一のものです。
      gcloud storage buckets notifications list gs://<bucket>
      C1FSS構成には、cloud-functions-<project>-<tenant>-tpというidと、Google管理のテナントプロジェクト内のtopicがあります。
      重要
      重要
      設定を削除する前に、idtopicを完全に記録してください。これらはロールバックを確認するために使用します。
    2. C1FSS通知設定を削除します。
      gcloud storage buckets notifications delete \
        projects/_/buckets/<bucket>/notificationConfigs/<c1-notification-id>
    3. リストが空になったことを確認し、この地域のすべてのバケットに対して繰り返します。
      gcloud storage buckets notifications list gs://<bucket>
    4. プロモートまたは隔離プラグインを使用している場合は、プラグイン機能も今すぐ削除してください。これにより、C1FSSがオブジェクトを移動することとスキャンすることの両方を停止します。
      これは通知の削除ではなく機能の削除です。なぜなら、プラグインはバケットからではなく、C1FSS検索結果のPub/Subトピックからトリガーされるからです。
      gcloud functions delete <plugin-function-name>
      重要
      重要
      プラグインを削除する前に、その設定を記録してください。ロールバックするために必要であり、プラグインはV1FSSに存在しないため、これが最後の設定です。以下のコマンドで読み取ることができるPROMOTE_STORAGE_BUCKETPROMOTE_MODEQUARANTINE_STORAGE_BUCKETQUARANTINE_MODEを記録してください。
      gcloud functions describe <plugin-function-name> --format="value(environmentVariables)"
  3. スキャンをオンにするには、[Before you begin]で記録したバケットを使用します。
    この手順が完了するとダウンタイムが終了します。
    オプションとして、C1FSSが保護したことのないバケットのスキャンを有効にすることもできます。これにより、V1FSSがオブジェクトを独立してスキャンすることを確認できます。
  4. V1FSSが動作していることを確認してください。
    このパスでは帰属は明確です。なぜなら、C1FSSはもう何もスキャンしていないからです。
    1. バケットに新しいファイルをアップロードします。
      Google Cloudコンソールで、[クラウドストレージ][Buckets]に移動し、バケットを開いて[ファイルをアップロード]をクリックします。
    2. 検索結果がオブジェクトにあることを確認してください。
      クラウドストレージにはタグではなくオブジェクトメタデータがあります。クラウドストレージブラウザでオブジェクトをクリックしてカスタムメタデータを確認するか、Cloud Shellで読み取ってください。
      gcloud storage objects describe gs://<bucket>/<object> --format="value(custom_fields)"
      fss-scan-result問題なしであることを期待します。
    3. TrendAI Vision One File Securityページで検索アクティビティを確認してください。
    4. EICARテストファイルをバケットにアップロードしてください。
      Cloud Shellで次のコマンドを実行し、最後の行のバケット名のみを変更してください。
      curl -sSL https://secure.eicar.org/eicar.com.txt -o eicar.com.txt && \
      gcloud storage cp eicar.com.txt gs://<bucket>/v1fss-verify-eicar.com.txt
      注意
      注意
      EICARは標準的な不正プログラム対策テスト文字列であり、実際の不正プログラムではありません。
    5. オブジェクトメタデータを確認してください。
      fss-scan-resultmaliciousであることを予期します。
    6. 検索結果が同期され、不正プログラムの検出がTrendAI Vision Oneに表示されるのを待ちます。
    7. プロモートと隔離の設定を引き継いだ場合、オブジェクトが実際に移動することを確認してください。
      検索が成功しても、ファイルが正しい場所に到達するかどうかはわかりません。宛先バケット、フォルダレイアウト設定、宛先のIAM権限は、いずれも誤っている可能性のある別々の要素です。次のすべてを確認してください:
      • EICARオブジェクトはソースバケットから消え、隔離バケットに表示されます。
      • オブジェクトは予想されるパスにあります: gs://<quarantine>/<object>use_source_bucket_as_folder = falseの場合、またはgs://<quarantine>/<source-bucket>/<object>trueの場合。
      • クリーンオブジェクトは、プロモート先に対して同様に機能します。
      注意
      注意
      V1FSSの宛先を空のままにすることを選択した場合、オブジェクトの移動が停止することを予期してください。これらのオブジェクトは今後、元のバケットにタグ付けされて留まります。下流の何かが隔離バケットやプロモートバケットを読み取る場合、オブジェクトの受信が停止します。
  5. 古いC1FSSスタックを削除してください。
    Google Cloud Platform用TrendAI Vision One File Security Storageへの手動アップデート - ゼロダウンタイムの手順4に従ってください。手順2ですでにプラグイン機能を削除していることを除いて、手順は両方のアップデートパスで同じです。スタックを削除する前に、サービスアカウントやカスタムロールを含むプラグインの残りのリソースを削除してください。

次のステップ

アップデートが完了しました。V1FSSがバケットをスキャンしており、C1FSSは廃止されました。

短時間のダウンタイム更新のロールバック 親トピック

C1FSSからV1FSSへの更新中に問題が発生した場合、次の手順に従ってC1FSSにロールバックできます。このパスでは、ゼロダウンタイムパスの逆順になります。まずC1FSSを復元し、その後V1FSSをオフにして、どちらの製品もスキャンしない時間がないようにします。

手順

  1. C1FSSバケットリスナー機能を再デプロイします。
    通知設定のみが削除されたため、関数とそのソースはそのままであり、変更なしで再デプロイされています。Google Cloudコンソールで[Cloud Functions]に移動し、…-bucket-listener関数を開き、[編集]をクリックし、何も変更せずに[配信]をクリックします。
    重要
    重要
    gcloud storage buckets notifications createを使用して通知設定を直接再作成しないでください。ターゲットトピックはGoogle管理プロジェクト内にあり、IAMの表面にアカウントが到達できないため、記録したidtopicに関係なく、コマンドはPERMISSION_DENIEDで失敗します。
    C1FSSのTerraform生成がある場合、storages/ディレクトリでterraform applyを実行することも可能で、状態が完全である必要はありません。関数が存在しているだけで十分です。
    通知設定が戻り、手順2で記録した内容と一致していることを確認してください。
    gcloud storage buckets notifications list gs://<bucket>
  2. プラグイン関数を削除した場合、プラグインディレクトリでterraform applyを使用し、手順2で記録した設定を用いて再作成してください。
    注意
    注意
    新しいdeployment_name値は新しいリソース名のサフィックスを生成するため、再作成されたインスタンスは削除したものと同じ名前にはなりません。
  3. その後、TrendAI Vision OneコンソールでFile Security[インベントリ]ページに移動し、バケットのスキャンをオフにしてください。
    これはV1FSS通知設定のみを削除します。TrendAI Vision Oneの削除パスはトピック名でフィルタリングされるため、C1FSS設定には影響を与えません。
    C1FSSは更新前と同様にバケットをスキャンします。

次のステップ

重要
重要
ロールバックは、C1FSSスタックを削除する前にのみ可能です。それらが削除された後にロールバックするには、C1FSSをゼロから再展開する必要があります。