Upgrade to Pro — share decks privately, control downloads, hide ads and more …

セキュアかつスムーズなデータアクセス!Alteryxにおける認証情報管理の今をご紹介

 セキュアかつスムーズなデータアクセス!Alteryxにおける認証情報管理の今をご紹介

2023年7月20日に開催された Alteryx Inspire On Tour Tokyo にて、「セキュアかつスムーズなデータアクセス!Alteryxにおける認証情報管理の今をご紹介」というタイトルで登壇した際の資料です。

TomokiYasuhara

July 21, 2023
Tweet

More Decks by TomokiYasuhara

Other Decks in Technology

Transcript

  1. 6 接続情報・認証情報の増加 • データソースの多様化に伴い、接続情報・認証情報も増加 ◦ 接続情報 ▪ データソースに接続するための詳細情報 • ホスト名、ポート番号、ドライバ名、エンドポイント

    など ◦ 認証情報 ▪ ユーザーを識別し、そのユーザーがデータソースに対して権限を持っているこ とを証明するための情報 • ユーザー名、パスワード • アクセスキー など ▪ 1つのデータソースに複数の認証情報 • 読み取り専用アクセス • 読み書きアクセス • 特定のテーブルにのみ読み取りアクセス など
  2. 7 接続情報・認証情報管理が煩雑化 • 管理者 ◦ 多数の接続情報・認証情報の管理 ◦ 情報の通知・共有 ◦ 認証情報の更新

    →多くの情報を安全に管理しなければならない • ユーザー(Alteryx ユーザー) ◦ ワークフローごとに使用する接続・認証情報が異なる ◦ パワーユーザーほど多くの認証情報を使用する ▪ 読み取り専用アクセス ▪ 読み書きアクセス • ローカルデータを組み合わせた分析 • 一時テーブル・テーブルの作成 ◦ 迅速なデータ利活用には、データソースへのスムーズなアクセスが必要
  3. 15 データ接続の管理 • 接続情報の共有 ◦ Alteryx Server 上で、他ユーザーへの接続情報の共有が可能 ▪ Designer

    からログインすることで、接続情報の同期が可能 ◦ ODBC 接続の場合、他の環境でもドライバのインストール・共通の DSN 設定の構成が必要 ▪ DSN レス接続の場合、共通の DSN 設定の構成は不要 ※接続作成時に、接続文字列を直接記述する
  4. 17 In-DB 接続の管理 • In-DB の接続情報は「In-DB接続の管理」機能で管理される ◦ 作成した接続情報をツールから指定する ◦ In-DB

    での接続先情報は Alteryx 側で設定ファイルとして保持 ◦ 「データ接続の管理」で作成した接続を使用する場合、直接、接続文字列 を記述する(GUIで選択することはできない) ◦ DSN レス接続時の対応は他の方法と同様 • 接続・認証情報の共有 ◦ 特定の接続情報をファイル(.indbc)として出力し、ワークフローと一緒 に共有する ◦ ※ドライバのインストール、共通の DSN 設定だけではワークフローを他の 環境に移してもそのまま実行できない 参考:DevepoersIO「Alteryxにおけるデータ入出力の際とIn-DBを使った際とでのODBC接続の設定の違い」
  5. 18 Alteryx における接続・認証情報の管理方法:まとめ • ツール設定で管理 ◦ データベース・コネクタカテゴリなどが対象 ◦ ワークフローを共有することで接続の共有も可能 •

    データ接続の管理 ◦ 主に ODBC によるデータベース製品への接続が対象 ◦ Alteryx Server 経由で共有可能 • In-DB 接続の管理 ◦ In-DB 接続専用 ◦ 接続情報はファイル(.indbc)として共有 ◦ 「データ接続の管理」で作成した接続を使用する際は、接続文字列を記述する (GUI では選択できない) • ※いずれにおいてもODBC 接続時に DSN を指定する場合、各環境で同様の DSN の 構成が必要
  6. 19 従来の方法の課題 • 従来の方法でもそれぞれメリットはあるが ◦ 各コネクタツールの接続情報は、一元管理できない ▪ SaaS のアクセスキー などの管理

    ◦ 「データ接続の管理」で作成した接続情報を簡単に In-DB 接続から呼び出せない ▪ 接続文字列の記述が必要 • いずれの方法であっても ◦ 同一データソースで認証情報が異なる場合、異なる接続を作成する必要がある ◦ ODBC接続に DSN レス接続を使用する場合、接続文字列の記述が必要 ◦ 認証情報は、アプリケーション上に保持される DCM(データ接続マネージャー )だとどうか?
  7. 21 DCM の概要 • 接続・認証情報を一元管理するためのストレージ ◦ Version 2021.4 より利用可能 •

    「データソース」と「資格情報」を定義し、その組み合わせを 「接続(Connection)」として、データソースへの接続に使用する
  8. 26 DCM を使うメリット • DCM の特徴として、以下をご紹介 ◦ DCM がサポートするツール・コネクタ ◦

    DSN レス接続の接続情報管理 ◦ 外部保管庫によるシークレットの管理 ◦ Alteryx Server との連携
  9. 29 In-DB ツールも対応 • In-DB ツールも DCM に対応 ◦ 通常のデータ入力ツールと同様に、In-DB

    接続の管理から GUI で呼び出し 可能 ◦ ※接続先情報が設定ファイルとして保持される点は変わらない
  10. 32 DSN レス接続の接続情報管理 • データソース作成時に、接続文字列の記述が不要 • 主要なデータベース製品は DSN レス接続に対応 参考:DevelopersIO「DSN

    レス接続のパターンと特徴 #Alteryx」 【DCM】 【ツール設定に記述・データ接続の管理・In- DB接続の管理】 GUI で各項目を 入力するのみ odbc:DRIVER={MySQL ODBC 8.0 Unicode Driver}; server=XXXX; database=sampledb; USER=User; PASSWORD=XXXXXXXX; 接続文字列の記述が必要
  11. 34 外部保管庫によるシークレットの管理 • 外部保管庫 ◦ Version 2022.3 以降 ◦ 外部の保管庫からシークレットを取得し、ワークフローで使用

    → 認証情報・アクセスキーなどのシークレットがアプリケーションに 存在しないため、より安全に! • サポートされている保管庫 ◦ Hashichorp Vault ◦ CyberArk Conjur ◦ AWS Secrets Manager ※Version 2023.1 以降 参考:DCM 外部保管庫
  12. • AWS Secrets Manager ◦ 管理者:外部保管庫にシークレットを保管 ◦ ユーザー:DCM で以下を設定 ①:外部保管庫にアクセスするための接続(IAM

    アクセスキー) ②:外部保管庫の認証情報を使用する接続 参考:公式Doc「AWS Secrets Manager Configuration」、DevelopersIO「[Ver 2023.1 新機能] DCM の外部保管庫として AWS Secrets Manager が利用可能になりました」 35 外部保管庫:イメージ 管理者 ① ② ユーザー • シークレットの管理をAWSに任せられる ◦ 暗号化 ◦ ローテーション • Alteryx は、外部保管庫への接続・認証情報を保 持
  13. 36 外部保管庫:例(データソースとして S3を使用) 【IAM アクセスキー認証】 【Assume Role】 ・S3 にアクセスする権限を持つユーザーの IAMア

    クセスキーを Secrets Manager から取得 ・Assume Role に必要なアカウントID、Role名を Secrets Manager から取得 • 対応するツールで必要な認証情報を取得可能
  14. 38 Alteryx Server との連携:DCM の同期 • DCM は Alteryx Server

    のユーザーと同期が可能 ◦ DCM を同期したユーザーは、Alteryx Server 上で、DCM を含むワークフ ローの実行が可能 Server:https://XXXX/gallery User:ServerUser1 ServerUser1は、DCM を含むワークフロー を実行できる
  15. 39 Alteryx Server との連携:接続(Connection) の共有 • 接続の共有 ◦ Alteryx Server

    上のあるユーザーが、他ユーザーの DCM で定義された接続 (Connection)を含むワークフローを実行可能とする 参考:Maveryx Community「How to: Set up DCM for Designer and Server」、DevelopersIO「Alteryx の DCM の概要」 Server:https://XXXX/gallery User:ServerUser1 ・ServerUser2 に DCM を含むワークフローを共有 ・ServerUser2 に 対象の「接続」を共有 ↓ ServerUser2は、このワークフローを実行できる ※ワークフローを共有しただけでは、ServerUser1 の接続情報を 利用できないため、実行不可
  16. 40 Alteryx Server との連携:DCM の複数ユーザー間での共有 • DCM の共有 ◦ ※前提

    ▪ DCM はユーザー個人の接続・認証情報の管理場所 ◦ 同じ DCM を複数の Designer 端末と同期することも可能 ▪ Server ユーザー1に対して、複数の Designer 端末 ▪ 各端末で DCM を変更すると、再同期時に上書きされるので、扱いには 注意が必要 • Designer では DCM を編集しない など • DCM はバックアップの取得も可能
  17. 41 DCM の特徴まとめ • DCM の特徴 ◦ データベース以外の接続・認証情報を管理可能 ◦ ODBC接続時の

    DSN レス接続の設定も可能かつ容易 ◦ 外部保管庫による認証情報の管理 ◦ Alteryx Server との連携(DCM の同期・接続の共有) →ユーザー単位での利用であれば、従来の管理方法に加え上記の 機能も備えるため、よりスムーズかつ安全なアクセスが可能 • Alteryx Server を利用できる環境であれば、Designer の複数端末との DCM 同期も可能 →DSN レス接続を使用すれば、接続の共有はより容易に
  18. 43 さいごに • Alteryx における接続・認証情報管理の方法は複数ある ◦ ツール設定で管理 ◦ データ接続の管理 ◦

    In-DB接続の管理 ◦ DCM • 各管理機能を有効に使えればユーザーが、安全にストレスなくデータソースに 接続できます • 各組織に合った方法を選択し、ユーザーによるデータ利活用の促進を!
  19. 44