ODBC 経由で R から Azure Active Directory のデータ を分析
純粋な R スクリプトと標準 SQL で Azure Active Directory のデータ にアクセスできます。CData ODBC ドライバ for Azure Active Directory と RODBC パッケージを使用すると、R からリモート Azure Active Directory のデータ を操作できます。CData ドライバを使用することで、業界で実績のある標準に準拠したドライバを活用し、人気のオープンソース言語 R でデータにアクセスできます。この記事では、ドライバを使用して Azure Active Directory のデータ に SQL クエリを実行し、R で Azure Active Directory のデータ を可視化する方法を説明します。
R をインストール
マルチスレッドや管理コードによるドライバのパフォーマンス向上は、マルチスレッド対応の Microsoft R Open や、BLAS/LAPACK ライブラリにリンクした R を実行することで補完できます。この記事では Microsoft R Open(MRO)を使用します。
Azure Active Directory にODBC データソースとして接続
Azure Active Directory への接続情報と、Windows および Linux 環境での DSN 設定手順を説明します。
Azure Active Directory は、Entra ID(Azure AD)、Azure サービスプリンシパル、またはManaged Service Identity(MSI)による認証をサポートします。 認証手順は、ヘルプドキュメントの「Azure Active Directory への認証」セクションを参照してください。
DSN を設定する際に、Max Rows 接続プロパティも設定することをお勧めします。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時のパフォーマンス向上に役立ちます。
Windows
まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最後のステップです。Microsoft ODBC データソースアドミニストレーターを使用して、ODBC DSN を作成・設定できます。
Linux
Linux 環境で CData ODBC Driver for Azure Active Directory をインストールする場合、ドライバーのインストール時にシステム DSN が事前定義されます。システムデータソースファイル(/etc/odbc.ini)を編集して、必要な接続プロパティを定義することで DSN を変更できます。
/etc/odbc.ini
[CData AzureAD Source] Driver = CData ODBC Driver for Azure Active Directory Description = My Description OAuthClientId = MyApplicationId OAuthClientSecret = MySecretKey CallbackURL = http://localhost:33333
これらの設定ファイルの使用方法の詳細については、ヘルプドキュメント(インストール済みまたはオンライン)を参照してください。
RODBC パッケージを読み込む
ドライバを使用するには、RODBC パッケージをダウンロードします。RStudio で、[ツール] -> [パッケージのインストール]をクリックし、[パッケージ]ボックスに RODBC と入力します。
RODBC パッケージをインストールした後、以下の行でパッケージを読み込みます。
library(RODBC)
注意:この記事では RODBC バージョン 1.3-12 を使用しています。Microsoft R Open を使用すると、Microsoft の MRAN リポジトリのチェックポイント機能を使用して同じバージョンでテストできます。 checkpoint コマンドを使用すると、MRAN リポジトリでホストされている CRAN リポジトリのスナップショットからパッケージをインストールできます。2016年1月1日のスナップショットにはバージョン 1.3-12 が含まれています。
library(checkpoint)
checkpoint("2016-01-01")
Azure Active Directory のデータ にODBC データソースとして接続
以下の行で R から DSN に接続できます。
conn <- odbcConnect("CData AzureAD Source")
スキーマの検出
ドライバは Azure Active Directory API をリレーショナルテーブル、ビュー、ストアドプロシージャとしてモデル化します。以下の行でテーブルの一覧を取得できます。
sqlTables(conn)
SQL クエリを実行
sqlQuery 関数を使用して、Azure Active Directory API でサポートされている任意の SQL クエリを実行できます。
domains <- sqlQuery(conn, "SELECT id, availabilityStatus FROM Domains WHERE isVerified = TRUE", believeNRows=FALSE, rows_at_time=1)
以下のコマンドでデータビューアウィンドウに結果を表示できます。
View(domains)
Azure Active Directory のデータ をプロット
これで、CRAN リポジトリで利用可能なデータビジュアライゼーションパッケージを使用して Azure Active Directory のデータ を分析できます。組み込みのバープロット関数を使用して、シンプルな棒グラフを作成できます。
par(las=2,ps=10,mar=c(5,15,4,2)) barplot(domains$availabilityStatus, main="Azure Active Directory Domains", names.arg = domains$id, horiz=TRUE)