2014年の Active Directory 利用シナリオを総復習しておきましょう!

年末ですね。早いもんです。そりゃートシもとりますし、割と真剣に国の行く末を考えたりもするようになります。 行動原理の90%が食欲で、半ズボンこそが男のたった一つの勲章だって信じていたアノ頃が懐かしいです。 トシをとったといえば、Active Directory もそうです。2000 年に誕生し、いまじゃなんと 14 歳! コンピューターは人間の 20 倍速くトシをとる(当社比)と言われてますから、人間で言えば 280 歳です!AD280年! そりゃー進化もしますし、魔法のような機能だって使えるようになります。 ご存知のように、2015 年には新しい Active Directory が登場します。 さらに、クラウドには Azure Active Directory という全く新しいアイデンティティ・プロバイダーなどというキザなアイツが誕生しました。 ちなみに、クラウドは人間の30倍速く歳をとると言われてます。 今、現状を整理しておかないと、もう進化に追いつけなくなります。今が最後のチャンスなのです。 ということで、これまでの歴史を復習するために最適なコンテンツをご紹介しますので、是非除夜の鐘をきく前に一通り復習しておきましょう。   クラウド時代の Active Directory 次の一手シリーズ 第 1 回 Active Directory の位置づけ http://www.microsoftvirtualacademy.com/training-courses/cloud-activedirectory-onlineseminar-series1 第 2 回 Active Directory ドメイン サービスの新しい役割 http://www.microsoftvirtualacademy.com/training-courses/cloud-activedirectory-onlineseminar-series2 第 3 回 Active Directory フェデレーション サービスの役割 解説編…

0

【IaaS】 Active Directory on IaaS の構築手順書を公開しました

Active Directory の最新情報をキャッチアップ! クラウド時代の Active Directory 次の一手シリーズ 第1回~6回 公開中! 第 1 回 Active Directory の位置づけ 第 2 回 Active Directory ドメイン サービスの新しい役割 第 3 回 Active Directory フェデレーション サービスの役割 解説編 第 4 回 Active Directory フェデレーション サービスの役割 構築編 第 5 回 認証のためのプロキシ Web Application Proxy 第 6 回 Microsoft Azure Active Directory とは Active Directory…

5

【Azure】 No certificate was found in the certificate store with thumbprint に見舞われたら

Windows Azure を Windows PowerShell をはじめとするコマンドラインから管理するためのモジュールが以下からダウンロードしてインストールすることができます。 http://www.windowsazure.com/en-us/downloads/?fb=ja-jp これにより、Windows PowerShell のコマンドレットや、Azure.cmd コマンド等が使える用意なり、それはそれは大変便利な環境になります。 が、難点は、コマンドがどこを触っているのかさっぱりわからないこと。 特に、以前は証明書の作成も含めて自分でやらなければならなかった管理証明書(API証明書)のインストールやアップロードなんかは、以下のコマンドレットを使用して簡単に行えるようになりました。 Get-AzurePublishSettingFile このコマンドレットにより、AzureポータルからAzureサブスクリプション情報と管理証明書が格納された「 .publishsettings 」ファイルをダウンロードすることができます。ファイルのダウンロードと同時に、「管理証明書」に証明書が登録されます(超便利!) Import-AzurePublishSettingFile –PublishSettingFile <ダウンロードした .publishsettings ファイル> これにより、Get-AzurePublishSettingFile でダウンロードしたファイルを、ローカルの PowerShell 環境に取り込むことができます。もちろん、管理証明書もローカルにインストールされます(超便利!)。 Import-AzurePublishSettingFile コマンドレットを実行して .publishsettings ファイルを取り込むと何が行われるかというと、以下の通りです。 管理証明書(Azureサブスクリプションに登録されたものと同じもの)が現在のユーザーの[個人]-[証明書]にインストールされる %UserProfile%\AppData\Roaming\Windows Azure Powershell 配下に設定ファイルが作成される ここに保存したサブスクリプション情報が裏で使用されて管理プロセスが動きます。 これ、非常に便利なのですが、「環境をきれいにしよう」なんつってうっかりローカルの証明書を消してしまったりするとさぁ大変。 以下のようなエラーが出て、コマンドレットがことごとく使えなくなります PS C:\windows\system32> Select-AzureSubscription コマンド パイプライン位置 1 のコマンドレット Select-AzureSubscription 次のパラメーターに値を指定してください: (ヘルプを表示するには、「!?」と入力してください。) SubscriptionName: junichia Select-AzureSubscription : No certificate was…

0

【IDM】Windows Azure Active Directory と Office 365 と外部 IdP の関係(予想)

※この投稿は、あくまでも現在公開されているドキュメントやBLOG、および自身による動作検証をもとにしたものであり、マイクロソフトが正式にドキュメント化しているものではありません。あくまでも「ご参考」ということでよろしくお願いいたします。検証作業等の参考になれば幸いです。 Windows Azure Active Directory と Office 365 の関係を調べていると疑問がつきません。 特に、Access Control Service との関係など、なにがどうなっていて、どこまで認証部分をカスタマイズできて、何ができなくて。。。といったことで夜も眠れなくなります。 そこで、「こんなかんじなんじゃないか?」という予想をまとめたものが以下の図です。 なんとなく、Access Control Service(ACS) が使われているように思いがちなのですが、従来 MFG(Microsoft Federation Gateway)と呼ばれていた STS(Security Token Service)が使われているような気がします(MFGと呼んでいるかどうかは定かではありません)。ただ、MFG の Endpoint が以下のURLなので、全くACSを使っていないというわけでもなさそうで。。。 https://account.accesscontrol.windows.net/<テナントのURL> ちなみに、ACS の Endpoint は以下のような URL になります。 https://<Namespace名>.accesscontrol.windows.net/   ちなみに、以下の図で赤丸を付けた部分は、Set-MsolDomainAuthentication というコマンドレットを使用して関連付けることができます。選択できるプロトコルは WS-Federation と SAML 2.0 なので、いずれかに対応した独自 STS を開発すれば「理論上」は MFG の IdP として関連付けることができるはずです。 逆に、MFG の RP として ACS を登録する方法については…

0

【IDM】Office 365 と Windows Azure AD の電話による二要素認証

Office 365 と Windows Azure Active Directory の組み合わせで、二要素素認証が使用できるようになりました(2013年3月5日現在 プレビュー)。 Windows Azure, now with more enterprise access management! http://blogs.msdn.com/b/windowsazure/archive/2013/03/04/more-identity-and-access-management-improvements-in-windows-azure.aspx これはどのような仕組みかというと。。。。以下をご覧ください。 ユーザーがブラウザを使用して ID とパスワードを使用してサインインします。ここでIDとパスワードの検証が正しく行われると、事前に登録してある携帯電話やスマフォに電話がかかってきます。これに「#」を押して応答することで認証が成立するというものです。設定によっては、右側の図のように、ショートメッセージが送られてきて、そこに書かれているコードを入力して返信すれば認証することもできます。   この仕組みを使用するには、はじめに Office 365 を契約(評価版でもOK)します。この時にサインアップしたID(例 hogehoge@hogeorg.onmicrosoft.com)を使って Windows Azure の管理画面(例 https://manage.windowsazure.com/hogeorg.onmicrosoft.com/ )にアクセスしてログオンします。 Windows Azure Active Directory の管理画面を開くと、Office 365 で作成したドメインが表示されています。 ※この機能も新しく実装されたものです ドメインをクリックしてユーザー一覧を開いてください。Office 365 で登録したユーザー一覧が表示されます。 ※この機能も新しく実装されたものです 二要素認証を使用したいユーザーをクリックして、プロファイルを開くと、以下のように「多要素認証が必要です」をチェックできるようになっています。 このまま保存すれば、以降、IDとパスワードに加えて電話による応答が要求されるようになります。 実際の流れは以下の通りです。   1. サインイン画面で ID とパスワードを入力 2. 以下のような画面が表示される…

2

【Active Directory】Windows Azure 仮想マシンに Acive Directory を展開するためのガイドライン 1

Active Directory を Windows Azure 上の IaaS として展開するためのガイドラインが公開されていました。 元記事 Guidelines for Deploying Windows Server Active Directory on Windows Azure Virtual Machines(英語) このガイドラインでは、Windows Azure 仮想マシン(Azure VM)上にADを展開する際の留意点について解説されています。 せっかくですので、内容を補足しつつ、ざくっと日本語で。 —- Windows 2000  とともに登場した Active Directory は、この10年で大きく進化しました。挙げればきりがありませんが、2012年はActive Directoryにとってさらに大きな飛躍の年になります。クラウドへの進出です。まさに飛躍ですね。 上の図でも触れられている通り、これまで Active Directory と Windows Azure の連携には「ハイブリッドクラウドシナリオ」が用意されてきました。Windows Azure上に展開したアプリケーションを利用するための独自に認証基盤を用意するのではなく、オンプレミスの Active Directory Domain Service(AD DS)で認証を行い、Active Directory Federation Service(AD FS)から発行されたセキュリティトークンを使用して、Azure 上のアプリケーションへのアクセスを認可するという方式です。これにより、クラウド上にパスワードを保存することなく、企業内から SSO でクラウドアプリが使用できます。 AD…

0

【PowerShell】証明書を使用して暗号化したパスワードを復号する

※ この投稿は PowerShell Advent Calendar 2011 に参加しています。 前回以下の投稿をしました。 【PowerShell】証明書を使用してパスワードを暗号化する 前回の投稿では、自己署名証明書を作成し、その証明書を使ってパスワードを暗号化しました。 今回は、前回暗号化したパスワードを証明書を使用して復号してみます。 前回は、makecert コマンドで作成した証明書の公開キーによってパスワードを暗号化しました。 今回は復号化する必要があるので、相手側には秘密キーを保持しておいてもらう必要があります。 ※なんか順番が逆ですが、今回はひとまず気にせず… 秘密キーを含んだ証明書をエクスポートする方法はおなじみですね。画面遷移を以下に示します。 せっかくなので、PowerShell を使用して秘密キー付証明書(.pfx)をエクスポートする方法も紹介しておきましょう。赤字の部分にはパスワードを入力してください。 $thumbprint = "13B97E99532151A1FC2617636CB04FE07C43C6C2" $Cert = get-item cert:\CurrentUser\MY\$thumbprint $bytes = $Cert.Export("Pfx","P@ssw0rd") [System.IO.File]::WriteAllBytes("c:\tmp\EncPassword.pfx", $bytes) 上記では Thumbprint を使用して証明書を取得していますが、以下のように証明書のファイル名を指定することも可能です。 $Cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("c:\tmp\EncPassword.cer") $bytes = $Cert.Export("Pfx","P@ssw0rd") [System.IO.File]::WriteAllBytes("c:\tmp\EncPassword.pfx", $bytes) 作成された証明書(.pfx)は、相手方(復号する側)の PC にインストールされていなければなりません。 証明書で暗号化した文字列を復号するには、以下のようなスクリプトを使用します。 ## 暗号化や復号化に必要な System.Security アセンブリを読み込む Add-type –AssemblyName System.Security ##暗号化したパスワードのBase64文字列 $Password…

0

【WP/Azure for ITPro】Windows Phone から Windows Azure AppFabric ACS を使用する

※この投稿は Windows Azure Advent Calender に参加しています Windows Phone で Windows Azure AppFabric Access Control Service からセキュリティトークンを受け取るにはためには、面倒なコードを書く必要があります。でも安心してください。うってつけのライブラリがあります。 必要なソフトウェアは以下の2つです。 Windows Phone SDK 7.1 Windows Auzre Platform Trainig Kit 2011 Novenver Update(英語版) Windows Phone SDK は Windows Phone アプリの開発環境なので、ここでの説明はよいでしょう。 ■Windows Phone 用 ACS コントロールの準備 重要なのは、Windows Azure Platform Training Kit(WAPTK) です。WAPTK を解凍すると、C:\WAPTK 配下に自習用のラボファイルが作成されます。この中に、Windows Phone 用のライブラリが用意されてます。 以下のフォルダが、Windows Phone 用の ACS用ライブラリです。…

0

【PowerShell】証明書を使用してパスワードを暗号化する

※ この投稿は PowerShell Advent Calendar 2011 に参加しています。 証明書というと、つい SSL で使用するサーバー証明書を思い浮かべてしまいますが、パスワードを暗号化してどこかに格納しておきたいとか、パスワードを誰かに伝えるために暗号化して渡したい..なんていうシチューエションにも証明書が使われることがあります。 パスワードを暗号化する場合、シードと呼ばれる文字列を決めておき、これを用いて暗号化するという方法が良く使われますが、この方法の場合、シード自身の漏えいを配慮する必要があります。そこで、よく使われるのが証明書を使用してパスワードの暗号化する方法です。証明書を使用する方法であれば、証明書がインストールされていなければ復号化することもできないため、文字列のシードで管理するよりは安全性が高まります。Windows Azure なんかでも、この方法を使用したパスワードの暗号化を要求されることが多く、IT Pro にとっても身に着けておきたい手法だと言えます。 証明書による暗号化は、PowerShell を使用すると簡単です。 1.証明書の準備 まずは暗号化に使用する証明書を作成しましょう。 証明書の作成は PowerShell ではなく、通常のコマンドを使用します。 ここでは自己署名証明書を使用することにします。自己署名証明書を作成する方法はいくつもありますが、代表的な方法は以下の2通りです。  IIS の管理コンソールで作成する Makecert コマンドを使用する 前者の場合、作成できる主体名は自分自身のみなので、ちょっと自由度が落ちるんですよね。ま、解凍できればよいので何でも構わないといえば構わないのですが…。 それよりも、Makecert コマンドを覚えて置いたほうが今後役に立ちます。Makecert コマンドは、Windows SDK に含まれているので、これをインストールしておく必要があることに注意してください。 Windows SDK for Windows 7 | MSDN makecert コマンドは、以下のような比較的深いパスにインストールされています。 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64 通常のコマンドプロンプトやPowerShellコンソールではパスが通っていないので、一度上記のフォルダに移動する必要があるので注意しましょう。 Makecert コマンドで証明書を作成するための書式は以下の通りです。以下の書式では、CN=Encpassword という主体名の証明書を、ハッシュアルゴリズム sha1…

1

【Azure/WP for ITPro】SQL Server と SQL Azure を同期する Data Sync サービス

既にご存知の方も多いかもしれませんが、かねてより期待されていた Data Sync サービスがパワーアップしてリリースされています。 ※ 2011/10/20 追記 ~ 現時点では CTP PREVIEW です これまでのようにラボサイト等に行く必要は無く、Windows Azure 管理コンソールから使用できるようになっています。それも、とても分かりやすい直観的な GUI で使えます!超感激です。ひでき感激です。 ※ みよ!この超わかりやすい GUI を!萌え死にしそうです。 このサービス、個人的にとても期待しておりました。というのも、Windows Phone の企業利用シナリオで社内データを使用したいと考えた場合、現在の Windows Phone では良い方法が見当たらないからです。 Data Sync サービスを使用すれば、Windows Phone に VPN が実装されていなくても、Windows Azure を経由して社内データを参照したり更新することができるわけですねぇ。 Data Sync サービスの特長を以下に挙げておきます。 SQL Azure 上に HUB となるデータベースを配置して、クラウドとオンプレミスの同期を行う もちろん クラウド同志の同期もできる 現在同期可能なのは、SQL Azure と SQL Server。 複数の SQL Server や…

0