セキュリティー・モデル

IBM Analytics Engineサーバーレス・インスタンスは、管理者および開発者がセキュアなSparkクラスターを作成できるように設計されたセキュリティー・アーキテクチャーを提供します。

以下のセクションでは、IBM Analytics Engine サーバーのインスタンスのセキュリティー・モデルによって、セキュア・インスタンスへのアクセスとその制御を管理する方法について説明します。

IBM Analytics Engine アクティビティーへのアクセスの制御

IBM Analytics Engineサーバーレス・インスタンスへのアクセスは、IAM認証および許可によって制御されます。 IAM は、IBM Cloud® の ID およびアクセス管理サービスです。 IBMId でログインするときに、ユーザー認証およびアクセス制御が IAM を介して行われます。 IAM トークンの取得方法を参照してください。

サービス・インスタンスの管理者または作成者は、サービス・インスタンスを共有する他のユーザーに対してアクセス権限を付与または拒否できます。 インスタンス構成の変更、Sparkアプリケーションのサブミットとトラッキング、カスタム・ライブラリー・セットを使用したインスタンスのカスタマイズなどの、サービス・インスタンスのライフサイクル管理に関するすべてのアクティビティーは、IAM認証と許可によって制御されます。 サポートされる操作と、それらの各操作に必要なアクセス・レベルを理解するには、 ユーザーへの許可の付与を参照してください。

保存時の暗号化

IBM Cloud Object Storage は、クラスター上で Spark ジョブを実行するために必要なデータを保管するための推奨データ・ストアです。 IBM Cloud Object Storage には、デフォルトの組み込み暗号化が付属しています。 データの暗号化を参照してください。

さらに、大規模なデータの分析シナリオで IBM Cloud Object Storage ストレージ暗号化を使用する代わりに、特に微細化されたアクセス制御が重要な場合に、Parquet モジュラー暗号化を使用できます。 Parquet モジュラー暗号化の操作 を参照してください。

暗号化エンドポイント

クラスターへのすべてのサービス・エンドポイントはSSL暗号化されています(TLS1.2有効)。 さらに、IBM Cloud Object StorageでIBM Analytics Engineを使用すると、Object Storageサービス・インスタンスと IBM Analytics Engineの間のリンクが暗号化されます。

分離とネットワーク・アクセス

各IBM Analytics Engineサーバーレス・インスタンスの取得は、ネットワークおよびセキュリティー・ポイントから他のインスタンスから切断された、独自の分離されたサンドボックスです。

インスタンスにデプロイされたSparkワークロードでは、以下を行うことができます:

  • 同じインスタンスにデプロイされた他のSparkワークロードと通信します。
  • パブリック・インターネットとの通信
  • プライベート・エンドポイントを介して他のIBM Cloud®サービスと接続できます

1つのIBM Analytics Engineインスタンス内のSparkワークロードは、別のインスタンス内のSparkワークロードと通信できません。 インスタンスの分離について詳しくは、インスタンス・アーキテクチャーを参照してください。

コード・セキュリティーの確保

ライブラリーまたはパッケージのカスタマイズをインスタンスに適用する場合は、慎重に行うことをお勧めします。 インスタンスの全体的なセキュリティーを損なうことがないように、信頼できるソースからのセキュア・コードのみを使用する必要があります。

IBMは、インスタンスにアップロードする前に、使用するソース・コード、ライブラリー、およびパッケージをスキャンすることをお勧めします。 信頼できないコードを使用しても、他のコードには影響しませんが、影響を与える可能性があります。

Spark ワークロードの内部ネットワーク・データの暗号化

IBM Analytics Engine では、Spark アプリケーション・コンポーネント間の内部通信を暗号化できます。 プライベート・ネットワークで暗号化を有効にするには、以下の 2 つの方法のいずれかで構成を指定します。

  • IBM Analytics Engine インスタンスのプロビジョニング時に、default_config 属性の下に構成を指定します。

    例:

    
    "default_config": {
        "spark.ssl.enabled":"true"
    }
    
  • ジョブのサブミット時に、 conf の下のペイロードにオプションを指定します。

    例:

    
    {
     "conf": {
    "spark.ssl.enabled":"true"
     }
    }