1. Azure Active Directoryとは?
そもそも知った経緯について
DataBricksクラスターを立てて、
Azure Data Lake Gen-2 StorageにあるデータをSparkで取得しようとしたところ、認証エラーっぽいエラーが生じた。
調べていくと、
Azure Active Directory となるものがあるらしい。
ということでその存在を知った
2.Azure Active Directoryとは
Azure Active Directory (Azure AD) は、Microsoft Azureのクラウドベースの統合認証およびアクセス管理サービスです。
Azure ADは、組織内のユーザーやグループのアカウントを中央で管理し、それらのアカウントを使用してAzureリソースやクラウドベースのアプリケーションへのアクセスを制御します。また、Azure ADは、外部のクラウドアプリケーションやオンプレミスのアプリケーションとの統合も可能です。
つまり、
Azure ADを1つ作成すれば、それを中心として
シングルサインオンの接続が可能ということ!
自分の場合は、
Azure ADで統合していれば、エラーを吐かれることなく接続ができたということなのですね。
3.ADの設定方法
設定は至ってシンプルです
まずはコンソールからAzure Active Directoryというサービスをクリックします。
左側に『アプリの登録』というのがあるので、それを選択し、その後
新規登録を選択します。
今回は『qiitaLearning』という名前で登録します
アプリケーション (クライアント) ID:
オブジェクト ID:
ディレクトリ (テナント) ID:
それぞれが表示されていると思うので、
先ほど作成したアプリ名と一緒にローカルのメモなどに保存してください
また、DataBricksとの接続を行うために、認証情報を作成します
『証明書とシークレット』というのが左側にあるので、それで適宜設定し、
シークレットキーなどはローカルに大切に保存してください
3.1 サービス プリンシパルに Azure Data Lake Storage Gen2 へのアクセス権を付与する
ストレージリソースへのアクセスを許可するには、サービスプリンシパルにロールを割り当てる必要があります。
Azureポータルから、対象のストレージアカウントを選択し、
『ロールの割り当て』を行います
今回は、Storage File Data Privileged Contributor
というロールを作成した
Azure AD アプリケーション名
に設定しました。
4.その後:キーコンテナーを使用すれば、DataBricksへの接続が可能になる
実際に、キーコンテナーを使用して、接続したい方はぜひこちらを参考にしてみてください。
5.まとめ:ADとキーコンテナーを組み合わせれば、便利にサービスが統合できそう
自分自身データフローの構築を学習しており、データソースなどの接続が多くなればなるほど
こうした一元管理はとても便利だと常々感じます。
また、アクセス面においてもとても便利に働くので、これから使っていきたいと思います。
それでは。