Dataproc セキュリティのベスト プラクティス

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

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

  • Dataproc をプライベート VPC にデプロイする。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 を有効にします。これにより、転送中のデータが保護されます。

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

安全なクラスタ構成

  • 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 のその他のセキュリティ機能の詳細については、以下をご覧ください。