Dataproc のセキュリティに関するベスト プラクティス

Dataproc 環境を保護することは、機密データの保護と不正アクセスを防ぐために不可欠です。このドキュメントでは、ネットワーク セキュリティ、Identity and Access Management、暗号化、安全なクラスタ構成に関する推奨事項など、Dataproc のセキュリティ ポスチャーを強化するための重要なベスト プラクティスについて説明します。

ネットワーク セキュリティ

  • プライベート VPC に Dataproc をデプロイする。Dataproc クラスタ専用の Virtual Private Cloud を作成し、他のネットワークや公共のインターネットから分離します。

  • プライベート IP を使用する。Dataproc クラスタを公共のインターネットへの公開から保護するには、セキュリティと分離を強化するためにプライベート IP アドレスを使用します。

  • ファイアウォール ルールを構成する。 Dataproc クラスタとの間のトラフィックを制御する厳格なファイアウォール ルールを実装します。必要なポートとプロトコルのみを許可します。

  • ネットワーク ピアリングを使用する。分離を強化するには、Dataproc VPC と他の機密性の高い VPC との間に VPC ネットワーク ピアリングを確立し、制御された通信を行います。

  • コンポーネント ゲートウェイを有効にする。YARN、HDFS、Spark サーバー UI などの Hadoop エコシステム UI に安全にアクセスするためのクラスタを作成するとき、ファイアウォール ポートを開く代わりに、Dataproc コンポーネント ゲートウェイを有効にします。

Identity and Access Management

  • 権限を分離する。クラスタごとに異なるデータプレーン サービス アカウントを使用します。サービス アカウントに、クラスタがワークロードを実行するために必要な権限のみを割り当てます。

  • Google Compute Engine(GCE)のデフォルトのサービス アカウントに依存しないでください。クラスタにデフォルトのサービス アカウントを使用しないでください。

  • 最小権限の原則を遵守する。Dataproc サービス アカウントとユーザーに必要最低限の権限のみを付与します。

  • ロールベース アクセス制御(RBAC)を適用する。クラスタ別に IAM 権限を設定することを検討してください。

  • カスタムロールを使用する。Dataproc 環境内の特定のジョブ機能に合わせて、きめ細かいカスタム IAM ロールを作成します。

  • 定期的に確認する。IAM の権限とロールを定期的に監査し、過剰な権限や未使用の権限を特定して削除します。

暗号化

  • データ保存時の暗号化を実施します。 保存データの暗号化には、Cloud Key Management Service(KMS)または顧客管理の暗号鍵(CMEK)を使用します。さらに、組織のポリシーを使用して、クラスタ作成時の保存データの暗号化を適用します。

  • 転送中のデータを暗号化する。Dataproc コンポーネント(Hadoop セキュアモードを有効にする)と外部サービス間の通信で SSL / TLS を有効にします。これにより、移動中のデータが保護されます。

  • 機密データに注意してください。PII やパスワードなどの機密データの保存や受け渡しには注意してください。必要に応じて、暗号化ソリューションとシークレット管理ソリューションを使用します。

安全なクラスタ構成

  • Kerberos を使用して認証する。クラスタ リソースへの不正アクセスを防ぐには、Kerberos 認証を使用して Hadoop セキュアモードを実装します。詳細については、Kerberos による安全なマルチテナンシーをご覧ください。

  • 強力なルート プリンシパル パスワードと、KMS ベースの安全なストレージを使用する。Kerberos を使用するクラスタの場合、Dataproc はクラスタ内で実行中のすべてのオープンソース コンポーネントのセキュリティ強化機能を自動的に構成します。

  • OS Login を有効にする。SSH を使用してクラスタノードを管理する際のセキュリティを高めるために、OS Login を有効にします。

  • Google Cloud Storage(GCS)でステージング バケットと一時バケットを分離する。権限の分離を確実にするため、Dataproc クラスタごとにステージング バケットと一時バケットを分離します。

  • Secret Manager を使用して認証情報を保存するSecret Manager は、API キー、パスワード、証明書などの機密データを保護します。これを使用して、Google Cloud 全体のシークレットの管理、アクセス、監査を行います。

  • カスタムの組織の制約を使用するカスタムの組織のポリシーを使用して、Dataproc クラスタでの特定のオペレーションを許可または拒否できます。たとえば、クラスタの作成または更新を行うリクエストが、組織のポリシーによって設定されたカスタム制約検証を満たしていない場合、リクエストは失敗し、エラーが呼び出し元に返されます。

次のステップ

その他の Dataproc セキュリティ機能について学習する。