機密データを保護し、不正アクセスを防止するために、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 のその他のセキュリティ機能の詳細については、以下をご覧ください。