製品をチェック

Active Directory Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

Active Directory アイコン Active Directory JDBC Driver 相談したい

Active Directory ユーザー、グループ、ロール、連絡先などを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。

Active Directory データをR で分析

CData JDBC Driver で標準的なR 関数とお好みの開発環境を使ってActive Directory を分析。

加藤龍彦
デジタルマーケティング

最終更新日:2023-09-21
activedirectory ロゴ

CData

jdbc ロゴ画像
R ロゴ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

Pure R スクリプトおよび 標準SQL を使って、R およびJava をインストール可能なあらゆるマシン上でActive Directory にアクセス。CData JDBC Driver for ActiveDirectory とRJDBC package を使って、R でリモートActive Directory データ を利用できます。CData Driver を使うことで、業界が認めた基準で書かれたドライバーを活用して、オープンソースでポピュラーなR 言語のデータにアクセスできます。この記事では、ドライバーを使ってActive Directory にSQL クエリを実行する方法、および標準R 関数を呼び出してActive Directory をビジュアライズする方法について説明します。

R をインストール

マルチスレッドのMicrosoft R Open を実行すること、またはBLAS/LAPACK ライブラリにリンクされたオープン R を実行することによって、マルチスレッドおよびマネージドコードから利益を得られたドライバーのパフォーマンスにマッチできます。ここでは、Microsoft R Open 3.2.3 を使用します。CRAN レポジトリのJan. 1, 2016 snapshot からパッケージをインストールするために事前設定されています。このsnapshot は再現性を保証します。

RJDBC パッケージをロード

ドライバーを使うにはRJDBC パッケージをダウンロードします。RJDBC パッケージをインストールしたら、次のコードを入力してパッケージをロードします。

library(RJDBC)

JDBC データソースとしてActive Directory に接続

下記の情報を使いActive Directory にJDBC データソースとして接続します。

  • Driver Class:cdata.jdbc.activedirectory.ActiveDirectoryDriver に設定。
  • Classpath:Driver JAR の場所を設定します。デフォルトではインストールディレクトリの[lib]サブフォルダです。

dbConnect やdbSendQuery のようなDBI 関数は、R にデータアクセスコードを書くための統一インターフェースを提供します。

driver <- JDBC(driverClass = "cdata.jdbc.activedirectory.ActiveDirectoryDriver", classPath = "MyInstallationDir\lib\cdata.jdbc.activedirectory.jar", identifier.quote = "'")

これで、DBI 関数を使ってActive Directory に接続しSQL クエリを実行する準備が整いました。dbConnect 関数を使ってJDBC 接続を初期化します。一般的なJDBC 接続文字列は次のとおりです。

conn <- dbConnect(driver,"User=cn=Bob F,ou=Employees,dc=Domain;Password=bob123;Server=10.0.1.2;Port=389;")

ActiveDirectory 接続プロパティの取得・設定方法

接続には以下の情報が必要です。

  • 有効なユーザーおよびパスワード情報 (例:Domain\BobF or cn=Bob F,ou=Employees,dc=Domain)。
  • 接続するサーバーのIP、ホスト名、ポートを含むサーバー情報。
  • BaseDN: 指定されたname にLDAP 検索の範囲を制限します。

    ちなみに、BaseDN を狭い範囲に設定することで大幅にパフォーマンスを改善できます。例えば、cn=users,dc=domain は、cn=users およびその子の範囲に戻り値の結果を制限します。

スキーマ Discovery

ドライバーはActive Directory API をリレーショナルデータベース、ビュー、ストアドプロシージャとしてモデルします。次のコードを使ってテーブルリストを検出します。

dbListTables(conn)

SQL クエリの実行

dbGetQuery 関数を使ってActive Directory API がサポートするすべてのSQL クエリを実行できます:

user <- dbGetQuery(conn,"SELECT Id, LogonCount FROM User")

次のコマンドを使って、結果を[data viewer]ウィンドウで見ることができます。

View(user)

Active Directory データ をプロット

CRAN レポジトリで利用可能なあらゆるデータ初期化パッケージを使ってActive Directory を分析する準備が整いました。ビルトインバーのplot 関数を使って簡単なバーを作成できます。

par(las=2,ps=10,mar=c(5,15,4,2)) barplot(user$LogonCount, main="Active Directory User", names.arg = user$Id, horiz=TRUE) A basic bar plot. (Salesforce is shown.)

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。