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 セキュリティ機能について学習する。