sidebarIdM実験室いろんなアイデンティティ管理系製品やサービスの実験の記録をしていきます。後は、関連するニュースなどを徒然と。Connectでカスタムコネクタを使用するこんにちは、富士榮です。AD以外のシステムとの同期を実現していました。Connectorなどが同梱され始めたのは1年くらい前ですね。実はこの構成、オフィシャルに公開されていなかっただけで、Premierサポートとの契約があれば使うことは出来たんですが、なかなかハードルが高いので、これまであまり言及してきませんでした。LDAPコネクタ構成https://docs.microsoft.com/ja-jp/azure/active-directory/active-directory-playbook-building-blocks#generic-ldap-connector-configuration流石に、こんな注意書きが添えられていてハードルを上げまくっています。やってみるとそれほど難しくはありませんが。関する知識を必要とします。サポートを使ってお問い合わせください。ConnectがGAしたタイミングで公開されたドキュメントに書いてある構成が徐々に実現してきている、ということですね。Connectを使って接続する構成はFR(今後サポート)となっており、正式にサポートされたわけではないので、実際に利用する場合はPremierサポートと十分に協議をすることをお勧めします。2017開催!コンシューマから学術、エンタープライズまでIDに関与している人は参加必須ですこんにちは、富士榮です。Summit(JICS)2014から3年、久しぶりにJICSが復活します。今年は、ゲストが豪華です。Foundationの崎村さん、というこれまた必聴のセッションで畳みかけ。私もモバイル・ソーシャルのトラックとトラスト・フレームワークのトラックの2つを見ており、2コマ+VTR再放送で都合3コマも登壇するのですが、自分が出ている時間帯のセッションが聞けないのが非常に残念です。定員は1000名くらいだったと思いますが、希望のセッションを登録時に選択する方式なので、早めに登録しないと聞けないセッションもあると思うので、ぜひ早めに登録を!登録はこちらから。イベント2017年8月14日月曜日APIゲートウェイでSaaSのIDを簡単に管理する2こんにちは、富士榮です。ServerとID管理システムを使ってSaaS(今回はSalesforce.com)へのプロビジョニングを簡単に行う、という仕組みを作っていきます。Connect)を使ってユーザを作成します。Serverで定義されたリソース(実際はSalesforce.comのUserテーブル)に対してJSON形式で作成したいユーザの情報をPOSTするだけです。◆投げ込むJSONを確認するSalesforce.comの開発者ドキュメントを見ると、Userテーブルに新規レコード(つまり新規ユーザ)を作成する際に必須となる属性を確認します。API開発者ガイド)Userhttps://developer.salesforce.com/docs/atlas.ja-jp.api.meta/api/sforce_api_objects_user.htmこれを見ると、以下の属性が必須との事です。ServerのリソースへPOSTすればよい、ということなので、まずは直接POSTしてみます。EmailEncodingKeyやProfileIdなど、何を値として設定すれば良いのかよくわからない属性もあるので、まずはSalesforce.com上に手動で作成したユーザをGETし、各属性にどのような値が入っているのかを確認すると以下のような値が入っていることがわかるので、この例をテンプレートにPOSTするデータを作成します。Serverに定義したリソースエンドポイントへPOSTをします。Createdが返ってきて実際にユーザが作成されます。Salesforce.comの管理画面からユーザを確認すると実際に作成されていることがわかります。投げ込むJSONがわかったところで、あとはID管理システムでJSONの生成からPOSTを自動化するだけです。Agentとよく似たようなことなので、このコードをカスタマイズしてみます。Agentを改造します。1.スキーマ定義(GetSchemaメソッド)先にリストアップした必須属性を定義します。Username属性をAnchor属性として設定をしています。こんなコードになります。schema;こうすることで管理エージェントで管理対象属性を選択できるようになります。ServerユーザのAuthTokenを指定できるようにします。こんなコードになります。接続パラメータの部分だけで良いのでConnectivityの部分にパラメータを追加しています。}尚、テストなので、ValidateConfigParametersについては処理を入れておらず、指定されたパラメータの値の確認などは行っていません。これで、管理エージェント設定画面で接続関連のパラメータを指定することが出来るようになります。ServerのリソースURIとAuthTokenを指定します。3.インポート処理関連(OpenImportConnection/GetImportEntriesメソッド)まずはOpenImportConnectionで、設定パラメータからリソースURIとAuthTokenの値を取り出し、後続のGetImportEntriesで使えるようにグローバル変数にセットしておきます。Server(を経由してSalesforce.com)からユーザ情報を取得するGetImportEntriesです。Space上のエントリに追加していくだけです。本来はページング処理などをする必要があるのですが、今回はテストなので省略しています。_importReturnInfo;utils.GetContentsWithAccessTokenの中ではx-cdata-authtokenヘッダにAuthTokenをセットし、リソースURIにGETリクエストを投げているだけです。Serverへユーザを出力(プロビジョニング)する処理です。Space内のプロビジョニング対象ユーザを取得してJSON形式に整形してリソースURIへPOSTを行います。break;先ほどと同じく、utils.PostContentsWithAccessTokenではAuthTokenをヘッダにつけてJSONをリソースURIへPOSTしています。大きくはこれで終わりです。Sync\Extensions)へDLLファイルをコピーしておきます。参考までにソースは以下のレポジトリにあげておきます。Agentを組み込む場合、所定の手続きを踏まないとサポート対象外となります。Managerなど汎用的なID管理ツールを使ってください。Serviceに開発したECMA2エージェントを設定します。2.0を選択し、DLLをロードします。後は、先に示した画面の様に接続設定でリソースURI、AuthTokenを設定し、管理対象の属性を選択すれば管理エージェント自体の構成は終了です。Profileの設定です。Connectはインポート、同期、エクスポートの各処理を実行してくれません。Synchronization、Export、など決められた名称にしておかないと30分に一回の自動処理の流れに乗せてくれず処理がスタックするので命名は大事です。Importの処理を実装していないので、プロファイルの定義は行えません。Importの定義が無いのでスキップしますよ~という警告が出ますが特に影響はないので無視します。Service側の設定は完了です。Space上のエントリの属性のマッピング(同期ルール)の設定を行います。Editorを使います。個人的にはFIM/MIMの設定画面よりもこのルールエディタの方が使いやすいので好きだったりします。今回はプロビジョニングだけでいいので、アウトバウンド同期ルールを定義します。ruleをクリックしてルールを作成します。(以下は作成後の画面)LinkTypeにprovisionを選択することで新規にユーザを作成するためのルールとして扱われます。rulesは以下のように設定しています。後は、本命の属性のマッピングです。エンコードやロケール、プロファイルIDなどは面倒なので固定値を入れて、ユーザ固有の値だけMetaverseの情報をマッピングします。これでSaveをするとすべての設定が完了です。Serverを経由してSalesforce.comへもユーザが作成されます。この辺りは前回も紹介したデモの動画を見てもらった方が早いと思います。Serverが上手くハンドリングをしてくれますので、従来の個別開発に比べて相当簡単に各種SaaSなどへのプロビジョニングを構成することが可能になります。Serverのようなデータ統合プラットフォームを活用するのはアリかも知れませんね。よりアクセス解析を行っています。品質向上のみを目的とし、個人の特定などを目的とはしておりません。中で公開されることはあります。問い合わせ不明点等は管理人までご連絡ください。本プライバシーポリシーは予告なく変更/削除することがあります。プライバシーに関するトラブルについては一切の責任を負いかねますのでご了承ください。