セキュリティ・チェックリスト

DataStax Enterpriseデータベースを保護するために必要なセキュリティ対策のリスト。

DSE Advanced Security(DSE拡張セキュリティ)は、意図的な攻撃やユーザー・エラーによる潜在的な危険に対してDataStax Enterprise(DSE)データベースを強化する機能スイートです。これには、認証と権限管理、転送中のデータと保存されたデータの暗号化、およびデータ監査に対応した高度なメカニズムが含まれます。また、DataStax Enterpriseは、さまざまなパートナー・セキュリティ・ソリューションと互換性があり、業界固有の要件やその他の高度な要件に対応しています。

DSE Advanced Security(DSE拡張セキュリティ)は、社内標準に従ってActive Directory(AD)、Lightweight Directory Access Protocol(LDAP)、Kerberos、Public Key Infrastructure(PKI)、Key Management Interoperability Protocol(KMIP)などの既存の技術と集約的に統合されます。

以下の新機能があります。
  • 行レベル・アクセス制御(RLAC)
  • 検索インデックスのロール・ベース・アクセス制御
  • データベース・クライアントのDSEプロキシ認証
  • 統合型のLDAPロール管理
  • 内部またはLDAPによるJMX認証

DataStax Enterpriseには、エンタープライズレベルのデータベース用の高度なデータ保護機能が搭載されています。

機能 データベース Search Analytics グラフ
認証外部LDAPまたは内部) あり あり あり 一部あり
Kerberos認証 あり あり あり あり
権限管理(RBAC) あり 一部あり 一部あり あり
クライアントとノード間の暗号化 あり あり あり あり
透過的なデータ暗号化 あり あり なし あり
データ監査 あり あり 一部あり あり
注: 一部のDataStaxドライバーによって、クライアント/サーバー通信でKerberosサポートおよびSSLが利用可能になります。ドライバーはDataStax Academyからダウンロードしてください。

DSEデータベースのセキュリティ・チェックリスト

DataStax Enterpriseセキュリティ機能を使用して、トランザクション・ノードのセキュリティを保護します。

DataStax Enterpriseデータベース・ノードのセキュリティ:

  • 認証
    既知のユーザーのみにデータベースへの接続を制限します。DSEは、以下の認証方法を使用したユーザーの検証をサポートしています。
    • 内部:内部データベースへの認証情報の格納
    • LDAP:Active Directoryなどの外部LDAPサービス
    • Kerberos:外部のKey Distribution Server(KDS)に対して確認されるMIT Kerberosチケット

    DSE Unified Authentication(DSE統合認証)の構成」を参照してください。

    制約事項: DSE Unified Authentication(DSE統合認証)は、データベース接続に対してのみサポートされています。ゴシップなどのノード間通信を認証するには、ノード間のSSL証明書を使用します。
  • 権限管理
    ロール・ベース・アクセス制御(RBAC)を使用して、認証ユーザーのデータベース・リソースへのアクセスを制限します。DSEは、以下の方法を使用したロール管理をサポートしています。
    • 内部データベース:ユーザー名またはプリンシパル名とロールの1対1のマッピング
    • LDAP:1対多のマッピング。LDAPにおいて、ユーザーがメンバーであるグループに一致するすべてのロールがユーザーに割り当てられます。

    DataStaxは、認証が有効な場合のRBACのみをサポートしています。「ロールの管理」および「データベース・リソースへのアクセスの権限管理」を参照してください。

  • アクティビティーの監査

    データベース・リソースのアクティビティーをログに記録し、監視します。「DataStax Enterpriseのデータ監査の有効化」を参照してください。

  • 透過的なデータ暗号化(TDE)
    保存されているデータを保護します。DSEは機密データの暗号化において以下のデータを暗号化します。
    • テーブル全体(常にプレーン・テキストで格納されるパーティション・キーを除く)
    • システム・テーブルなど、データが含まれているSSTable(system.batchlogやsystem.paxosなど)
    • 検索インデックス
    • ファイルベースのヒント(DSE 5.0以降)
    • コミット・ログ
    • dse.yamlおよびcassandra.yamlの機密性の高いプロパティ

    外部のKMIPまたはローカル・サービスを使用してデータを暗号化します。「透過的なデータ暗号化について」を参照してください。

  • SSLを使用した転送中のデータの暗号化

    クライアントとデータベース間およびクラスター内のノード間の通信のセキュリティを保護します。「SSLの構成」を参照してください。

DSE Searchのセキュリティ・チェックリスト

DSE Searchのセキュリティ保護

DataStax Enterpriseでは、セキュアなエンタープライズ検索をサポートしています。 セキュリティ・チェックリスト には、DSE Searchやその他の統合コンポーネントのセキュリティ機能についてまとめてあります。

  • 認証
    DataStaxでは、Solr Admin UIを使用する場合とSolrJ APIを使用してcURLを含むコマンドを実行する場合はKerberos認証の使用を推奨しています。
    • DSE SearchクライアントをKerberos認証で認証するには、Simple and Protected GSSAPI Negotiation Mechanism(SPNEGO)を使用します。
    • Kerberos認証を使ってDSE Searchクラスターに対してSolrJ APIを使用するには、クライアント・アプリケーション側が、solrj-auth-README.mdファイルの記述に従って、SolrJ-AuthライブラリーとDataStax Enterprise SolrJコンポーネントを使用する必要があります。
    • Solr Admin UIからコアへのアクセス(廃止予定)を定義します。
    • DSE Unified Authentication(DSE統合認証)の有効化」に従い、CQLシェルを使用してインデックス管理タスクを実行します。
  • 権限管理

    検索インデックスに関するパーミッションを指定するには、認証済みユーザーにロールベース・アクセス制御(RBAC)を使用します。「ロールの管理」、「検索インデックス・パーミッションの管理」、「Solr Admin UIからコアへのアクセス(廃止予定)」を参照してください。行レベル・アクセス制御(RLAC)を使用した行レベルのパーミッションの設定は、DSE SearchまたはDSE Graphでの使用はサポートされていません。

  • アクティビティーの監査

    データベース・リソースのアクティビティーをログに記録し、監視します。「DataStax Enterpriseのデータ監査の有効化」を参照してください。

  • 透過的なデータ暗号化(TDE)

    保存されているデータを保護します。DSEでは、検索インデックスの機密データにKMIPまたはローカル暗号化を利用できます。「検索インデックスの暗号化」を参照してください。

  • SSLを使用した転送中のデータの暗号化

    DSESearchノードでクライアントとノード間の暗号化を使用して、HTTPクライアントとCQLシェル間でSSLを使用する接続を暗号化します。「SSLの構成」を参照してください。

    注: SSLを使用する特定のセキュリティ要件を満たすために、DSE Searchへのクライアント接続のIPアドレスを変更できます。たとえば、サブネットを分離するなどの目的で変更します。
注: DSE Searchノードのセキュリティ構成は、DataStax Enterprise構成によって管理されます。TomcatとSolrでは、他に必要な構成はありません。高度なカスタム設定の場合のみ、web.xmlファイルまたはserver.xmlファイルを変更します。
制約事項: DSE Searchセキュリティ機能には、以下の制限事項があります。
  • TDE:キャッシュされたデータは暗号化されません。暗号化はDSEデータベース側でのみ実行され、その間はパフォーマンスがわずかに低下します。
  • 権限管理:パーミッションは、検索インデックス管理やデータベース内に格納されているデータへのアクセスなど、CQL要求に対してのみ適用されます。パーミッションは、キャッシュやインデックス構成などの検索ファイル・リソースには適用されません。
  • 行レベル・アクセス制御(RLAC)を使用した行レベルのパーミッションの設定は、DSE Searchでの使用はサポートされていません。
  • DSE SearchデータへのHTTPアクセスは、SSLを使用して保護されています(クライアントとノード間の暗号化)。SSLを使用したノード間の暗号化は、内部Solr通信を保護します。
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/cassandra/cassandra.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/cassandra/conf/cassandra.yaml
dse.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/dse.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/dse/conf/dse.yaml
Tomcat server.xmlファイルのデフォルトの場所は、インストール・タイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/tomcat/conf/server.xml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/tomcat/conf/server.xml

DSE Analyticsのセキュリティ・チェックリスト

DSE Analyticsのセキュリティ保護。

DataStaxでは、以下のセキュリティ・プラクティスに従うことを推奨しています。
  • SSLを使用したクライアントとノード間の暗号化を有効にする。
  • Sparkコンポーネントは信頼されるユーザーにのみ公開する。
  • ファイル・システムへのアクセスを信頼されるユーザーにのみ許可する。
以下のように、DataStax Enterprise Analyticsノードのセキュリティを保護します。
  • 認証
    • ノード間およびエグゼキューターごとの共有シークレット。「Sparkノードの構成」を参照してください。
    • 各アプリケーション・エグゼキューターのユーザー(実行ユーザー)と関連データの分離のネイティブ認証。「Sparkノードの構成」を参照してください。
    • SparkのUI内部認証またはLDAP認証。「WebインターフェイスでのSparkの監視」を参照してください。
    • Sparkジョブのユーザー認証。DataStax Enterpriseは、Sparkの内部認証、LDAP認証、およびKerberos認証をサポートしています。
      • 内部およびLDAP:DataStax Enterprise Sparkアプリケーションおよびツールについては、Spark認証コマンドを使用して認証情報を提供します。「内部認証を使用したspark-submitジョブの実行」を参照してください。
      • Kerberos: Kerberosスキームの定義 Sparkコンポーネントが相互に認証されるのではなく、SparkがDSEデータベースに接続されます。Spark Web UIはセキュリティが保護されておらず、Kerberosの使用時にデリゲーション・トークンを含むSpark構成を表示する可能性があります。
  • 権限管理

    Sparkジョブについてデータベースから取得されたデータは、ロールベース・アクセス制御(RBAC)によって保護されます。要求を実行するユーザーは、ロールの割り当てによってデータにアクセスするためのパーミッションが付与されている必要があります。

    注: Spark UIマスターおよびワーカーには権限管理を使用できません。
  • 監査
  • 透過的なデータ暗号化(TDE)

    TDEはデータベースに格納されているデータにのみ適用されます。DSEは、Sparkに使用され、DSEFSまたはローカル一時ディレクトリーに格納されているデータの暗号化をサポートしていません。

  • SSLを使用した転送中のデータの暗号化

    クライアントとノード間の暗号化は、クライアントとコーディネーター・ノードの間にセキュアなチャネルを確立することで、SparkエグゼキューターとDSEデータベース間の接続で転送中のデータを保護します。SSLでは、共有認証サービスを設定する必要がありません。サーバー証明書の作成クライアントとノード間のSSLの有効化が必要です。

    Sparkのノード間通信とクライアントとクラスター間の通信も、dse.yamlでサーバー側のSSLを有効にして、Spark構成ファイルspark-defaults.confでクライアント側のSSLを有効にすることで、SSLを使用して暗号化できます。詳細については、「Spark接続のセキュリティ保護」を参照してください。

    dse.yamlファイルの場所は、インストールのタイプによって異なります。

    パッケージ・インストールInstaller-Servicesインストール

    /etc/dse/dse.yaml

    tarボール・インストールInstaller-No Servicesインストール

    installation_location/resources/dse/conf/dse.yaml

DSE Graphのセキュリティ・チェックリスト

DataStax Enterpriseのセキュリティ機能を使用して、DSE Graphデータ全体、または部分的にセキュリティを保護します。

DataStax Enterpriseは、グラフとデータベース間のセキュアなエンタープライズ操作をサポートしています。 DataStax Enterpriseのセキュリティ機能を使うことで、DSE Graphデータのセキュリティを全体、または部分的に保護できます。
  • 認証

    トランザクション用データベースでDSE Unified Authentication(DSE統合認証)を有効にして、DSE Graphデータへのアクセスを認証ユーザーにのみ許可し、DSE Graphのremote.yamlで認証情報を構成します。「DSE Graphの認証情報の提供」を参照してください。

  • 権限管理
    DSE Graphのキースペースとテーブルのロールを定義して、グラフ・データへのアクセスを制限します。「DSE Graphキースペースへのアクセスの管理」を参照してください。
    注: RBACはキャッシュされたデータには適用されません。行レベル・アクセス制御(RLAC)を使用した行レベルのパーミッションの設定は、DSE SearchまたはDSE Graphでの使用はサポートされていません。

    DseGraphRpcオブジェクトの実行パーミッションを定義したロールに付与します。

  • アクティビティーの監査

    DSE Graph関連データベース・リソースのアクティビティーをログに記録して、監視します。「DataStax Enterpriseのデータ監査の有効化」を参照してください。

  • 透過的なデータ暗号化

    DSE Graphインデックス・テーブルのデータを暗号化します。「透過的なデータ暗号化」を参照してください。

    注: キャッシュされたデータは暗号化されません。暗号化によってパフォーマンスが多少低下する場合があります。
  • SSLを使用した暗号化データベース接続

    DSE Graphの転送中のデータを暗号化します。DSE Graphノードでクライアントとノード間のSSL暗号化を有効にするには、cassandra.yamlファイルでclient_encryption_optionsを設定します。「クライアントとノード間の暗号化」を参照してください。

  • Graphサンドボックス:

    Graphサンドボックスは、デフォルトで有効になっていて、Javaパッケージ、スーパークラス、タイプの実行を許可または禁止するよう構成できます。「Graphサンドボックス」を参照してください。

制約事項:
DSEでは、Graphの権限管理に以下の制限事項があります。
  • GremlinクエリーがCQLなどのクエリー・タイプ間で区別されないという制限があります。
  • CQLを使用する個々のパーミッションを使用して、パーミッションは頂点ラベル単位で適用され、CQLを使用してテーブル・レベルで登録されます。
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/cassandra/cassandra.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/cassandra/conf/cassandra.yaml
dse.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/dse.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/dse/conf/dse.yaml
remote.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/graph/gremlin-console/conf/remote.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/graph/gremlin-console/conf/remote.yaml