【NEWS】Dynamics CRM 2015リリース

設置型もリリースされていました。

http://www.microsoft.com/ja-jp/download/details.aspx?id=45012

 

広告

【Tips】Onlineで多要素認証を構成する

クラウドファーストを志向する場合、モビリティーが確保されているかと共に

セキュリティが確保されているかが重要な要素となってくる。

インターネット上の情報はイントラネット上の情報より、はるかに高い危険性にさらされている。

このような状況下に存在する情報に対し、操作性を確保しつつ高いセキュリティが求められる。

Dynamics CRM Online(Azure Active Directory)では多要素認証を提供し、セキュリティを高める方法を提供している。

認証方法の概要は以下である。

1. Dynamics CRM Online用のID/PWでログインをしようとする。

2. CRM画面が立ち上がるのではなく、事前に登録した電話番号に電話もしくはSMSで6桁の数字が送付される旨の画面が表示され、実際に送付が行われる。

3. 2.で取得した6桁の数字を入力してログインする。

上記の画面は省略し、事前の全体設定に関して記載してみる。

まずは通常のDynamics CRM Online管理画面を起動する。

そもそも、この多要素認証はAzure Active Directoryの標準機能である。

Dynamics CRMのアカウント管理にはAzure Active Directoryが利用されている。

今回紹介の機能はこの機能を利用している。

さて、実際の設定画面であるが、[ユーザー>アクティブなユーザー]をクリックし、アカウントビューを表示させる。

表示した画面から、[複数の要素を含む認証要件を設定する]の[セットアップ]をクリックする。

2014-10-29 14_18_31

多要素認証を行いたいアカウントを選択し、[有効にする]をクリック

2014-10-29 14_33_16

[multi-factor authenticationを有効にする]をクリック

2014-10-29 14_28_22

[閉じる]をクリック

2014-10-29 14_36_33

以上で全体設定は完了。実際にユーザーでアクセスしてみる。

2014-10-29 15_37_53

多要素認証のセットアップ画面が表示される。[今すぐセットアップ]をクリック

2014-10-29 15_39_34

下記のように連絡先を設定し、[次へ]をクリック。※電話番号の先頭の0は不要。

2014-10-29 15_44_04

[今すぐ確認]をクリック

2014-10-29 15_42_21

下記のようにワンタイムの6桁数値が携帯電話に送付される。

iphone

数値を入力する。[確認]をクリック。

2014-10-29 15_47_17

[次へ]をクリック

2014-10-29 15_47_26

[これらのアプリケーションにこのアカウントを使用しない]をクリック。

※追加のセキュリティに関しては後述。

2014-10-29 15_47_33

Dynamics CRM Onlineの画面が立ち上がる。

2014-10-29 15_54_05

以上が初期設定である。次回以降のログインは概要で記載した3ステップである。

途中で記載した追加のセキュリティに関しては下記を参照されるとよいと思う。

http://community.office365.com/ja-jp/b/office_365_community_blog/archive/2014/02/12/multi-factor-authentication-for-office-365.aspx

簡単にいうと、O365のサインインページ以外からのアクセスに対する多要素認証サービスである。

最新版のOffice製品は、アプリケーション起動後にログインが行われる。

この認証はO365ログインページを利用するわけでないため、多要素認証を要求されない。

このようなケースに対する多要素認証機能である(と理解している)。

Dynamics CRMにおいてはどのようなことが考えられるであろうか。

思いつくことはOutlookクライアントであるが、2014年10月時点ではサポートされないようである。

2014-10-30 14_52_08

このようなエラーが表示され、構成を完了することができない。

逆にいうと、追加のセキュリティを設定すると通常の多要素認証以外からのログオンができなくなる。

通常のの多要素認証以外からの不正ログオンリスクを0にすることができるかもしれない。

ただ、この機能は拡張がなされる可能性が非常に高い。

変更情報をきっちりと追いかける必要がある。

【Tips】組織のインポートでユーザーをマッピングさせたい

データベースのデータごとテナントを復元する方法として、

組織のインポートという機能があることは以前に紹介した。

今回はこの機能に対するTipsを記載する。

設置型環境では、別のドメインで構成されているDynamics CRM環境のデータベースを

また新たなドメインで構成されているDynamics CRM環境に移設することがある。

この際、以前に紹介した方法のみで対応すると、ユーザー情報がマッピングされない。

今回はユーザーのマッピング方法に関して記載する。

大きな手順は以下である。

①マッピングファイルをダウンロードする。

②マッピングファイルでマッピングする。

③マッピングファイルを利用してインポートする。

 

①マッピングファイルをダウンロードする。

組織のインポートウィザードで以下の画面まで遷移する。

[カスタムマッピングオプションを選択する]にチェックをいれ、[次へ]をクリック

2014-10-20 18_33_26

[新しいマッピングファイルの生成]にチェックをいれ、[参照]をクリック

2014-10-20 18_33_34

ダウンロードするファイル名を入力

2014-10-20 18_33_58

[次へ]をクリック

2014-10-20 18_34_04

ファイルがダウンロードされる。

2014-10-20 18_36_38

②マッピングファイルでマッピングする。

ファイルを開く。バックアップファイルのドメイン、ユーザー情報が記入されている。

※以下ではタブ区切りにしているが、ダウンロード直後は1行で記載されている。

2014-10-20 18_38_44

例えば以下のように新環境のユーザーをマッピングする。

2014-10-20 18_39_12

ファイルを保存する。

 

③マッピングファイルを利用してインポートする。

組織のインポートウィザードで以下の画面まで遷移する。

[既存のマッピングファイルを使用]にチェックをいれ、[参照]をクリック

2014-10-20 18_39_36

編集したファイルを参照する

2014-10-20 18_40_54

[つぎへ]をクリック

2014-10-20 18_41_34

マッピングされる。[次へ]をクリック以降は通常の組織のインポートと同じ。

2014-10-20 18_41_47

以上。

【Tips】特定のユーザーに特定のフィールドを操作させてくない

前々回、レポートを非表示にするというテーマで非表示への対処法を記載した。

これに類似するような要件で掲題の要望もよく発生する。

「操作させたくない」は「見せたくない」を含むものとして捉えて頂いても構わない。

このような要望に対して、どのような実装方法があるだろうか。

ぱっと思いつくものとしては以下があげられる。

・OnloadのJScriptで非表示にするなど、スクリプトによる制御

・保存時にデータベース上の値と比較して、警告を表示させるようなPluginによる制御

・フィールドセキュリティ機能を利用した制御

簡易な実装、簡易な運用を想定したとき、上記の方法はいずれも難がある。

上2つに関しては単純であるがコーディングが発生する。

フィールドセキュリティに関してはユーザーの増加時、グループに参加させるなど追加運用が発生する。

他には方法はないだろうか。

1つ提案できる方法としては「複数フォームとセキュリティロールによる制御」である。

例えば、取引先企業に[取引先企業番号]という項目が存在するとする。

これは、顧客を判別するキー項目であるとし、一般のユーザーには変更等操作をさせたくないとする。

この場合、まずは以下のようにフォームを2つ準備する。

・取引先企業番号フィールドに対し制御がないフォーム

2014-10-21 13_49_07

・取引先企業番号フィールドに対し制御があるフォーム

2014-10-21 13_49_21

これらのフォームに対し、以下のセキュリティロールを2つ作成する。

2つというところがポイントであり、設定内容は全く同じでかまわない。

2014-10-21 13_52_45

作成したセキュリティロールはそれぞれのフォームに割り当てる。

割り当てる手順はフォームのカスタマイズの[セキュリティロールの有効化]

2014-10-21 13_56_35

上記の場合は制御なしであるため、制御なしと位置付けたセキュリティロールに割り当てる。

2014-10-21 13_55_26

制御ありも同様に設定することで準備は完了である。

あとはユーザーへのセキュリティロール付与であるが、これは制御すべきか否かで適用すればいい。

制御しないユーザーの表示:crmuser1([営業担当者 編集可]のセキュリティロール付与)

[企業番号制御なし]のフォームのみが表示され、番号は編集できる状態のものが表示される。

2014-10-21 14_03_22

制御しするユーザーの表示:crmuser2([営業担当者 読み取り専用]のセキュリティロール付与)

[企業番号制御あり]のフォームのみが表示され、番号は編集できない状態のものが表示される。

2014-10-21 14_06_23

以上。

フォームとセキュリティロールを利用した対処法を提示してみた。

注意点はレポート時と同様「高度な検索」である。

上記の例は読み取り専用であったが、フォーム上非表示とした場合は高度な検索に注意が必要である。

列の追加をしてしまえば、高度な検索で値が表示されてしまう。

これも制御したいということであれば、Pluginで制御するような複雑な制御が必要となってくる。

従って、要件レベルを確認すると共に制御の程度が低い対処法でも

問題ないと位置付けて設計/実装することが大切である。

【Tips】既定のレポートを非表示にしたい。

TipsのカテゴリにはQA形式にて実装方式を記載するというような内容も投稿したいと思う。

wordpress.comのウェブサイト分析機能を利用すると、検索元キーワードが表示されることがある。

そのキーワードから困っていると思われる内容をピックアップし、回答してみたいと思う。

今回は「使用可能なレポート」という検索キーワードを発見した。

よくあることは掲題の内容である。

既定のレポートは正直、何の役にも立たないことが大半である。

不要なものは削除(または非表示)にしたいのは一般的なことである。

以下、考え方と対処法を記載する。

Dynamics CRMはパッケージソフトウェアである以上、既定でさまざまな機能が準備されている。

不要な場合にどうするか。「一般ユーザーから非表示になるようにする」が原則だと考える。

不要なものは削除するという考え方もあるが、仕様が公開されていない以上、何に影響があるかは不明である。

また一方で、今後のバージョンアップで有益な機能となるかもしれない。

このようなことを考慮すると、削除よりも非表示が望ましいと考える。

では、非表示にする場合、どのようにするか。2段構えで準備するのがよいと思われる。

1つ目は「システム管理者以外は原則非表示になるようにする」

2つ目は「見えにくいようにする」

前者に関しては原則的にセキュリティロールを考慮して対処を行う。

例えば、全体的にレポートの閲覧権限は「ユーザー」にするというポリシーを適用し、

既定のレポートの所有者をシステム管理者的ユーザーに割り当てるというような対処である。

これは、確実に非表示にできるというメリットを受けられるが、

実施可否がポリシーに依存するものであり、うまく対処できないケースが発生する。

後者に関しては、「表示形式の値を外す」という対処である。

2014-10-20 16_58_00

2014-10-20 16_58_12

2014-10-20 16_58_15

このような設定を行うと、一般的な利用シーンからは非表示になると思われる。

※要検証ください。

ただし、よくありがちな考慮すべきポイントがある。高度な検索である。

高度な検索は、さまざまな検索条件を設定して検索できる優れた機能である一方、

システム的な内容として隠したい情報も検索できてしまうツールである。

レポートに関しても、レポートエンティティに対して、絞込み条件を設定せずに検索すると

非表示としたレポートも検索されてしまうことには注意しておきたい。

ただ、今回の要件は単に「邪魔くさい」というものである可能性が高く、

見えてしまったら業務上多大な影響があるものではないと思われる。

このようなものであれば、影響度合いを説明しながら、もっとも容易な方法で対処するのが望ましいと思われる。