Skip to main content

アプリケーションレイヤーの保護

アプリケーションレイヤーの保護には、ユーザー認証やデータベース認証、デジタル証明書、暗号化などを検討する必要があります。

ビルトインのユーザー認証

Server のビルトイン認証では、クライアント側の JavaScript がローカルの SHA256 関数を呼び出してパスワードをハッシュ化し、ソルトを付与してからそのハッシュを Server に送信、そして MongoDB に保存されたユーザーデータベースのパスワードハッシュと比較することでユーザー認証が行われます。Server はハッシュ化された値のみを保存し、ユーザーのパスワードの平文を扱うことはありません。

注記

ビルトイン認証のパスワードハッシュ化に使用するアルゴリズムを更新しました。22.1 より前のバージョンでは、クライアントがローカルの bcrypt ライブラリを呼び出してパスワードをハッシュ化し、ソルトを付与してからハッシュ値を Server に送信していました。

Server で利用可能な他の認証方法の詳細については、このガイドの 認証セクション を参照してください。

データベース認証

Alteryx Server は、ほとんどのアプリケーション情報を組み込みの Mongo データベースで保持します。インストール時に、データベース内の情報にアクセスするためのアプリケーションユーザー ID とパスワードが生成されます。User-Managed Mongo や MongoDB Atlas など他のデータベースオプションについては、 コントローラー のヘルプページを参照してください。

トランスポート暗号化

暗号化により、パスワード、ユーザーセッション情報、トランザクションなどの機密データを転送中の漏洩や改ざんを防止することができます。不正な人物による傍受を防ぐため、TLS 1.2 以降を実装した HTTPS を使用して Server への接続を暗号化することをお勧めします。HTTPS の運用はシステム設定で設定できます。TLS がバージョン 1.2 以上でネゴシエートされるようにするには、このガイドの オペレーティングシステムレイヤーの保護 セクションで説明されているように、 Schannel の設定変更が必要な場合があります。

詳細については、 Server SSL/TLS を設定 を参照してください。

保存データのセキュリティ

プロセスの実行中、Server は一時ファイル、メタ情報、ログファイルの形式で永続的な証拠を作成します。この保存データは Mongo DB と Server のローカルストレージに物理的に保存されます。以下では、保存データに関する一般的な懸念事項と、それらに対処するために実装できるテクニックについて説明します。

注記

User-managed MongoDB Enterprise や MongoDB Atlas のインスタンスは、保存時の暗号化をサポートしています。詳細については、 MongoDB ドキュメンテーション を参照してください。

YXDB 形式の一時ファイルは、Alteryx のプロセス実行中にデータを格納するために使用されます。これらのファイルには、実行時にワークフローを介してストリーミングされる実際のデータが含まれることがあります。

一時ファイルは Engine の呼び出しに適用範囲が限定され、下流プロセスで不要になり次第、または Alteryx ワークフローの実行が終了した後すぐに削除されます。Alteryx プロセスがクラッシュした場合、これらのファイルが残ることがあります。その場合も、一時ファイルはサービスの再起動時に自動的に削除されます。

一時ファイル保存先の最上位ディレクトリはAlteryx Serverの システム設定 > Engine Settings > Temporary Directory で設定されます。各 Engine の呼び出しは、この場所の下にある別のサブディレクトリに個々の一時ファイルを格納します。

一時ファイルストレージの強化

以下の推奨事項に沿って一時ファイルの保護を強化することができます。

  • 十分な RAM (メモリ) を確保し、Alteryx が使用するディスクストレージ (スワッピング) が少なくなるようにします。

  • システム設定  > Engine Settings Allow Users to Override (ユーザーによるオーバーライドを許可) オプションを無効にして、ユーザーが他の場所に書き込むことを拒否します。詳細については、 エンジン のヘルプページを参照してください。

  • システム設定 > Engine Settings 内の Browse Everywhere Settings  オプションを無効にし、Alteryx Browse Everywhereファイル (YXBE)が作成されないようにします。

  • 暗号化されたドライブの一時ファイルディレクトリを見つけます (BitLocker などを使用)。

  • 自動バックアップから一時ファイルディレクトリを除外します。

SSO または IWA に認証が設定されている場合、Server はログインに使用される資格情報を所有または保存しません。Server のビルトイン認証を使用する場合、ソルトを付与したパスワードのハッシュのみが保存されます。

Server のバッキング MongoDB 認証に Server が使用するパスワードは、オペレーティングシステムが提供する暗号化関数を使用して保存時に暗号化されます。

Server ログを使用すると、エラー、警告、情報、デバッグメッセージを追跡できます。ログファイルには Server のイベント、ワークフロー、アクセスされたデータファイル、および特定のジョブで処理されたレコード数に関する情報が含まれています。ただし、消費、処理、出力される実際のデータは含まれません。ログは、Engine、Server UI ノード、Alteryx Service に対して収集されます。

ワークフローが読み込めない場合はカスタマーサポートにお問い合わせください。

ログは次の場所に保存されます。

  • Server UI ノードのログは C:\ProgramData\Alteryx\Gallery\Logs に保存され、alteryx-2017-09-13.csv といった名前になります

  • Server / サービスログは C:\ProgramData\Alteryx\Service に保存され、AlteryxServiceLog_2017-06-04_00-46-07.log といった名前になり、最新のログには AlteryxServiceLog.log という名前が付けられます

  • Engine ログは既定で無効になっていますが、[システム設定] で有効にすることができます。

    注記

    Engine ログには、ワークフロー実行中に Engine が呼び出した他のプロセスから返されたスタックトレースやエラーメッセージが含まれることがあり、これらのメッセージが外部プロセスに渡されたデータやメタデータの流出につながる可能性があります。このため、許可された担当者によるトラブルシューティングの実行中にのみ、Engine ログを有効にすることをお勧めします。

  • システムレベルのログは、Windows のイベントビューワーで見ることができます。

転送中のデータのセキュリティ

Alteryx Server のコンポーネントは、データとワークフローを転送します。転送プロセスのさまざまな段階で、転送中のデータは設定に応じて暗号化されたり、露出されたりします。

  • Server のフロントエンド UI は、HTTP (TCP ポート 80 のプレーンテキスト) が既定となっています。Server を HTTPS (ポート 443 の SSL/TLS) 向けに設定することをお勧めします。

  • 分散型 Server クラスター (このガイドの「展開のタイプ」を参照) 内のノード間通信もポート 80 を使用しますが、コントローラートークン、ソルト、時間情報を使用して AES-256 暗号化で暗号化されます。これにより、安全かつ迅速なデータ転送を可能にしています。

  • コントローラー上で動作する組み込み MongoDB は、暗号化されていない TCP/IP ソケット (TCP ポート 27018) でリッスンします。オールインワンの Server インスタンスでは、ソケットリスナーはローカルホストのみで、ネットワークに露出されることはありません。組み込み MongoDB を使用した分散型 Server (このガイドの 展開のタイプ を参照) を実行する場合、他のクラスターノードからコントローラーの MongoDB への接続は暗号化されません。データベース通信を TLS/SSL で暗号化するには、User-Managed MongoDB (または MongoDB Atlas) に切り替える必要があります。

  • データソース (Oracle と SQL Server) とレポートプラットフォーム (Tableau と PowerBI) の暗号化方法は、サードパーティの ODBC ドライバーやコネクタによって定義されます。

送信中のデータは、パスワードのハッシュ化とソルト付与、およびこのガイドの Server の強化 セクションで説明されているランタイムクライアント API トークンの生成によって保護されます。送信中のデータを完全に保護するために、TLS 1.2以上を使用した HTTPS でServerへの接続を暗号化することをお勧めします。

資格情報ストレージ

Server の設定と使用状況に応じて、Server にさまざまな資格情報が保存されることがあります。この機密情報がどのように扱われるかを確認します。

実行中のワークフローは、以下のような資格情報を使用して複数の外部データソースに接続することがあります。

  • ワークフロー内にインラインで組み込まれ、保護方法は非表示またはユーザー/マシン (DPAPI) 暗号化 (従来の方法、非推奨)

  • 実行時に DCMe 暗号化ストレージから取得

  • 管理されたデータ接続または Gallery Alias に保存。

管理されたデータ接続の場合、ワークフロー XML に「 __ENCPWD__ 」と表示され、データ接続の設定方法に応じて、対応する資格情報が以下の XML ファイルのいずれかに暗号化された形式で保存されます。

  • %UserProfile%\AppData\Roaming\Alteryx\Engine\GalleryAlias.xml

  • %ProgramData%\Alteryx\Engine\SystemAlias.xml

  • %ProgramData%\Alteryx\Engine\SystemConnections.xml

統合 Windows 認証や SAML では、Server のユーザー資格情報が Server によって所有または保存されることはありません。

ビルトイン認証では、Server のユーザー資格情報はハッシュ化され、ソルトが付与された後、再度ハッシュ化されます。

コントローラートークンや Mongo DB パスワードなどの内部秘密は、Windows Crypto API を使用してマシンごとに暗号化され、キーの場所は %ProgramData%\Microsoft\Crypto\RSA\MachineKeys となります。詳細については、 コントローラー のヘルプページを参照してください。

デジタル証明書

デジタル証明書は、信頼できる認証局によって署名された、Server の身元を証明するものです。クライアントブラウザから Server への暗号化された接続を適切にサポートするには、Server 用のデジタル証明書を作成し、Server ホストにインストールする前に、組織が信頼する CA によって署名されている必要があります。詳細については、 Server SSL/TLS を設定 を参照してください。