【TIPS】Azure Function 内で使用する秘密の文字列をソースコードに直書きしない

全然関係ないですけど、2 級のバッチテストにシュテムターンが入ってたんですよ。知ってました?聞いてないよ。シュテムターンで落とされました。。。全審査員が 64 でしたww(恥)内緒ですけどorz 超ブルーです。   以下の投稿で、Azure Functions の基本的な使い方を紹介しましたが、1 点心残りがあります。 ※URLが日本語になっている。。。ほんとすみません。。。 https://blogs.technet.microsoft.com/junichia/2017/01/27/azure-functions-から定期的に-microsoft-graph-にアクセスする/ それは以下の部分。 既存のコードを以下で上書きして下さい。コード内の Tenant ID、Client ID、Client Secret に先ほど控えた値を埋め込みます。Client Secret を生のまま埋め込むのはアレなので、本当はApp Service のパラメタに登録するのがよいのですが、ひとまずここでは生埋め込みでいっちゃいましょう。パラメタ登録についてはあとで説明します。 力尽きてこの部分を解説していませんでした。ということで、TIPS として書き残しておきます。   Client Secret のような、ソースコードに残したくない文字列は以下のような方法で簡易的に隠ぺいすることができます。   1. Azure Funtions の設定ページを表示 2. 左下の「Functions App の設定」をクリック    3. 「App Serviceの設定に移動」をクリック    4. 「アプリケーションの設定」をクリック    5. 右ペインをスクロールダウンして「アプリ設定」を表示    6. キーと値を設定と保存    7. ソースコードの ClientSecret…

0

Azure Functions から定期的に Microsoft Graph にアクセスする

Azure Functions って知ってますか ? 一言でいえば、Azure Automation の”開発屋さん版”です(って、適当すぎて怒られそうw)。   Azure Automation は PowerShell スクリプトをクラウド上でジョブ化することができますが、Azure Functions は C#、F#、Node.js、Python、PHP Java などで書いたプログラムを WebJob として登録することができます。いずれも、サーバーを置くことなくジョブを実行することができる、いわゆるサーバーレスを実現するためのコンポーネントです。 PowerShell 好きの私的には Automation が好みではありますが、悔しいことに Functions のほうが高機能であることは否めません。何がいいって、入力や出力の定義が超簡単。これはAutomationにはない部分です。詳しくは以下の手順で。   Azure Functions の概要https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-overview   ためしに使ってみようかってことで、ここでは、Microsoft Graph にアクセスしてユーザー一覧を取得し、これを Azure Blob に保存するジョブを作成してみることにします。 Microsoft Graph にアクセスするので Azure AD 側の設定も必要になります、そこも含めて手順を書いておきますので参考にしてください。   1.  Azure Functions アカウントの作成   Azure Portal  の Marketplace で Function…

0

Azure Functions から定期的に Microsoft Graph にアクセスする

Azure Functions って知ってますか ? 一言でいえば、Azure Automation の”開発屋さん版”です(って、適当すぎて怒られそうw)。   Azure Automation は PowerShell スクリプトをクラウド上でジョブ化することができますが、Azure Functions は C#、F#、Node.js、Python、PHP Java などで書いたプログラムを WebJob として登録することができます。いずれも、サーバーを置くことなくジョブを実行することができる、いわゆるサーバーレスを実現するためのコンポーネントです。 PowerShell 好きの私的には Automation が好みではありますが、悔しいことに Functions のほうが高機能であることは否めません。何がいいって、入力や出力の定義が超簡単。これはAutomationにはない部分です。詳しくは以下の手順で。   Azure Functions の概要https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-overview   ためしに使ってみようかってことで、ここでは、Microsoft Graph にアクセスしてユーザー一覧を取得し、これを Azure Blob に保存するジョブを作成してみることにします。 Microsoft Graph にアクセスするので Azure AD 側の設定も必要になります、そこも含めて手順を書いておきますので参考にしてください。   1.  Azure Functions アカウントの作成   Azure Portal  の Marketplace で Function…

0

Azure リソースの RBAC でカスタムロールを作成する

※ この投稿は PowerShell Advent Calendar 2016 に参加しています   Azure 上の全てのリソースは Azure AD に登録されたユーザーやグループを使用してアクセス制御が行えます。この時に使用するアクセス制御の方法を RBAC(Role Based Access Control)と言います。   Azure ポータル(https://portal.azure.com/)で何らかのリソース(いかの場合は仮想マシン)を選択すると、必ずメニューの中に「アクセス制御(IAM)」が表示され、ここを起点としてRBACを設定することができます。     RBAC の概念を簡単に図にすると、以下のようになります。リソースに直接アクセス権を設定するのではなく、ROLE を介してアクセス権を得ることになります。ROLE には「アクション」が定義されており、これが Azure のリソースに対して行える権限を表しています。   ここでは「仮想マシン作成協力者」というロールのアクションを見てみましょう。以下が仮想マシン作成協力者に定義されているアクション(アクセス許可)の一覧です。 見ていただくとわかりますが、リソースプロバイダーに対してアクセス権が設定されていることがわかります。リソースプロバイダーについてはここでは解説しませんが、リソースの種類だと思ってください。Microsoft Compute は仮想マシンに関連したリソースを意味しています。ここには仮想マシンや仮想マシンノスケールセットなどが含まれています。Microsoft Network はネットワークに関連したリソースを意味しており、仮想ネットワーク、ネットワークインターフェースなどのリソースが含まれています。   Microsoft Computeをクリックして表示した画面が以下です。Virtual Machine に対してフルコントロールが与えられているのがなんとなくわかりますか?Availability Sets には「読み取り」「書き込み」「削除」の権限が与えられています。   さて、ここからがいよいよ PowerShell の出番です。これらを PowerShell から確認してみましょう。   まずは、以下の PowerShell コマンドレットで Azure AD にログオンします。…

0

<秋の夜長は Ignite> 9/26 Microsoft Ignite 2016 Keynote を日本語解説付きで中継します!

すっかり秋ですね。朝シャワーが徐々につらくなる季節になりました。 さて、秋から冬にかけては大きなイベントが 2 つ開催されます。 1 つ目は アトランタで開催される Ignite(イグナイト)2016。もともと春に開催予定でしたが、諸事情(ご想像通りです)により秋にずれ込みました。 そして、Ignite 2016 を受けて 11/1-2 にお台場で開催される Japan Tech Summit 2016 です。 国内でも、Tech Summit の準備であわただしくなってきました。 が、まずは Ignite でどのような発表があるのか見ておかなければいかん!キーノートは夜だけど真夜中ってほどじゃないし、せっかくなのでライブ中継しちゃおう~ ってことで、以下のオンラインイベントを開催します。   キーノートの内容をやさしく解説してくれるのは、以下の素敵な Geeks です。 左から、順にご紹介します。 Drew Robbins 日本マイクロソフト株式会社 デベロッパー エバンジェリズム統括本部 テクニカル エバンジェリズム マネージャー 井上 章日本マイクロソフト株式会社 デベロッパー エバンジェリズム統括本部 テクニカル エバンジェリスト 蔵本雄一 日本マイクロソフト株式会社 マイクロソフトテクノロジーセンター セキュリティアーキテクト 小塚大介 Microsoft Corporation Developer Experience and Evangelism …

0

初の日本語版 Azure Active Directory 専門書~脱オンプレミス! クラウド時代の認証基盤 Azure Active Directory 完全解説

Gartner 社から発表された Magic Quadrant(マジック クアドラント) によれば、Azure AD Premium が IDaaS(Identity and Access Management as a Service)部門で Leader 枠に位置づけられています。 Gartner からリリースされているレポート(無償で読めます)によれば、IAM 分野における IDaaS の採用率は 2020 年までに 40% に上るとみられており、今後ますますクラウド上での IAM に注目が集まりそうです。 Gartner による分析では、IAM を大きな 3 つの機能の集合体であるととらえており、これらの機能が B2B や B2C を問わずさまざまなシナリオで動作することが前提となっています。 IGA(Identity and Governance Management) 少なくとも顧客の持つIdentity ストアとの同期が行え、管理用のインターフェースが提供されていて IDaaS から顧客のディレクトリを管理できる ユーザー自身でパスワードをリセット Identityのライフサイクル管理機能 さまざまなシステムへの自動プロビジョニング アクセスのリクエスト(セルフサービス含む) ポリシーの適用により重要なシステムへのアクセスに対するガバナンス Access 少なくとも、Web プロキシやフェデレーションを使用したアプリへの SSO…

0

Azure AD のごみ箱(recycle bin)

ちょっと小ネタを。 Active Directory にゴミ箱機能が実装されたのは Windows Server 2008 R2 からでした。覚えてます? 実は、Azure Active Directory にもゴミ箱があります。 ちょっと以下の画面ショットをご覧ください。これは、Office 365 に用意されている「削除済みのユーザー」というメニューです。 Office 365 上で削除されたユーザーは、いったんここ(ゴミ箱)に移動されます。移動されたユーザーは、30日後に完全に削除されます。逆に言えば、30日未満であればもとのアクティブなユーザーとして復活することが可能です。 ここであることに気づきますよね。 そうです。Office 365 のユーザー管理簿は Azure Active Directory ですから、そもそも Azure Active Directory 自身にゴミ箱機能があるんじゃないか? まさにその通りです。 現在の旧ポータルで提供されている Azure Active Directory の管理画面では、念ながらゴミ箱を参照することはできませんが、PowerShell を使用すれば確認することができます。 まずは、Connect-MSOLService コマンドレットで Azure AD のテナントにログオンしましょう。 次に、Get-MSOLUser  -RetuenDeletedUsers コマンドを入力してみてください。ごみ箱に入っているユーザーを確認することができます。 削除されているユーザーが、「いつ」削除されたかを確認するには SoftDeleteionTimestamp プロパティを参照します。   このユーザーは 30 日後に削除されるわけですが、それがいつなのか?を確認するには SoftDeleteionTimestamp に…

0

Azure Automation の Webhook 機能が超便利。OMS からの Webhook 呼び出しもサポート。KeyVault と連携すれば面倒な URL 管理も楽々!

Azure Automation はご存知ですか? 数ある Azure の機能の中でも、私が一番好きなものです。Automation を使用すると、Windows PowerShell スクリプトを Azure 上で実行することができます。 Azure 上で実行すると何がうれしいかというと、スクリプトを実行する環境を用意しておく必要が無いのです。 普段あまり意識しませんが、スクリプトを実行するためにはいくつかの条件を満たす必要があります。 スクリプトを実行するサーバー、またはクライアントが生きている スクリプトによって処理されるターゲットが生きている ネットワークが生きている スクリプト実行に必要なモジュールがインストールされている など。 こうした面倒な環境をすべてクラウドに任せてしまえるのが Azure Automation です。 Azure Automation の概要は以下の動画でどうぞ。 で、Azure Automation には Webhook 機能も実装されています。Webhook とは何かといえば、WEB の API だと思ってください。 普通スクリプトを実行するには、以下のようにスクリプトファイルを PowerShell のコンソールから入力して実行します。 PS C:> ./hogehoge.ps1 Azure Automation だと、スクリプト(正確には Runbook:ランブック と言います)を選択して「実行ボタン」をクリックすれば実行できます。 Azure Automation 上の Runbook は、「スケジュール」機能を使用してスケジューリングすることもできます。その他、Windows Server の機能を使用してスクリプトをタスクマネージャーに登録しておいて、時間が来たり何らかのイベントが発生したら実行する、なんてこともできますよね。 で、注目していただきたいのは以下の Webhook …

0

IT 業界私的英雄"外"伝 ー 嘘のような未来の始まりです!

2007 年 4 月 21 日に日本のマイクロソフトに入社してからまもなく丸 9 年が経過し、10 年目に突入します。 入社して2か月後、大胆にも System Center の発表イベントに登壇し、System Center Essentials という懐かしい製品を担当しました。 あまりの緊張に自己紹介を忘れ、セッション途中でふと思い出し「あ、こんにちは安納です」と東京ダイナマイト張りの自己紹介を行ったことは、いまでは懐かしい思い出です。ホールの後方で見ていた当時直属の上司 長坂さん、奥主さん、田辺さん(今はなぜか V 社に)がずっこけいてる様子がよく見え、「あー、こんな広い会場でも一番後ろの人の顔まで見えるのか」と感動したものです。 ちなみにこのイベントは、現在は会長の樋口さんの登壇デビューでもあり、そういう意味では樋口会長と私は同期であると言えなくもないです(こ、こえぇぇこと言ってる。。。。気がする。。。)。 はじめてのセミナーは、確か Active Directory でした。あの頃はまだ Windows Server 2003 R2 を使っていたはずです。このセミナーは、高添さん骨折によるピンチヒッターでした。まだ新宿のサザンタワーにオフィスがあった時代です。なつかしいですね。Zoomit の使い方に慣れておらず、注目してほしいところに丸をつけるつもりが塗りつぶしてしまうという Zoomit アルアルもよい思い出かと。 初めての出張も、確か高添さんとじゃなかったかな。この辺の記憶が定かではありませんが、場所は仙台でした。 私は前職の影響で「資料のようなスライド」を作る癖がありました。文字がビッチリ書いてあるような。”読めばわかる”資料です。 一方で、高添さんの資料はシンプルなんです。当時の超馬鹿な私から見れば、「え?それでいいんすか?オヤビン?」って感じです。 で、セミナーが始まり高添さんが話し始めて驚きました。 さっきまで「文字が無くてスカスカですけど?」なスライドに明確な意味が出てくるんですよ。スライドとスライドが物語のようにつながってくるんですよ! なんですかこれ!?この感覚、高添さんのセッションに出たことがある方はわかると思うんですが、「この素材にはこの調味料!」的な組み合わせなんです。 「このスライドにはこの説明しかない!」。逆も真です。「この説明にはこのスライドしかない!」んです。スライドと説明が互いに欲しあっているという(いやらしい言い方だな)。高添さんは物語を語るようにテクノロジーを語ります。まるで一流の紙芝居(ってのがあるのかどうかわかりませんが)を見ているような感覚です。 それまで私はスライドで語ろうとしていました。言葉はスライドの補足だと思っていたんですね。だからビッチリと文字を書きこまざるを得なくなるんです。しかし高添さんは全く逆だったんです。伝えるのはスライドじゃなくて高添自身さんであり、主体はエバンジェリストである高添さん自身であると。聖書に語り部たるエバンジェリストがいるように、これこそが テクニカル エバンジェリストに求められている役割なのであると理解したのです。 今でも、忙しいとついついスライドを主体にしてしまいたくなるのです。何でもかんでも書き込むと楽なんですよねぇ~。読めるからww。でも、スライドを極限までシンプルにすると、ストーリーを組み立てて覚える必要があるので時間もかかるし大変なんです。でも、そのほうが聴き手には響くんです。間違いなく。 これを知れたのは、これから始まる私のエバンジェリスト人生にとって非常に大きな収穫でした。 ちょっと話が変わりますが、入社前は Windows Server Management という分野の MVP でした。今は亡き、柳原さんの推薦によるものです。 今だから言いますが、「オレ、ケッコウ、クワシイ、ナカナカ、イケテル、トミタヤスコ、スキ」と思っていましたヨ。 ほんと恥ずかしい(赤面)。 で、こんなオイラなら…

0