センシティブ データを保護し、不正アクセスを防止するには、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全体で Secret の管理、アクセス、監査を行えます。
カスタム組織制約を使用する。カスタムの組織のポリシーを使用して、Dataproc クラスタでの特定のオペレーションを許可または拒否できます。たとえば、クラスタの作成または更新を行うリクエストが、組織のポリシーによって設定されたカスタム制約検証を満たしていない場合、リクエストは失敗し、エラーが呼び出し元に返されます。
次のステップ
他の Dataproc セキュリティ機能の詳細を確認する。