Disclaimer 当資料の位置づけ 当資料は IBM DataPower Gateway (IDG) における OAuth 機能の概要と 実装方法および考慮点をまとめたものです Firmware v を前提としています 注意事項 当資料に含まれる情報は可能な限り正確を期しております

Size: px
Start display at page:

Download "Disclaimer 当資料の位置づけ 当資料は IBM DataPower Gateway (IDG) における OAuth 機能の概要と 実装方法および考慮点をまとめたものです Firmware v を前提としています 注意事項 当資料に含まれる情報は可能な限り正確を期しております"

Transcription

1 IBM DataPower Gateway (IDG) OAuth 構成ガイド

2 Disclaimer 当資料の位置づけ 当資料は IBM DataPower Gateway (IDG) における OAuth 機能の概要と 実装方法および考慮点をまとめたものです Firmware v を前提としています 注意事項 当資料に含まれる情報は可能な限り正確を期しておりますが 当資料に記載された内容に関して何ら保証するものではありません ここでの記載内容はあくまでも支援情報であり 使用者の責任において取扱われるものとし 資料の内容によって受けたいかなる損害に関して一切の保証をいたしません 製品の新しいリリース 修正などによって動作 / 仕様が変わる可能性がありますので 必ずマニュアル等で最新の情報をご確認ください 2

3 目次 OAuth 概要 OAuth 構成要素 IDG における OAuth プロトコルのサポート OAuth 構成トポロジー IDG が認証 許可するパターン OAuth 処理フロー (Basic 認証 / Form 認証 ) 認証と許可が分離するパターン IDG の冗長構成について OAuth 構成方法 OAuth 構成手順概要および詳細 OAuth プロセスのカスタマイズ カスタム スコープ検査 許可フォームのカスタマイズ リソース所有者カスタム処理 追加 OAuth 処理 トークン失効管理 IDG におけるトークン失効方法 IDG におけるトークン失効管理 IDG 内部キャッシュの利用と考慮点 外部リポジトリーの利用と考慮点 3

4 OAuth 概要 4

5 OAuth 構成要素 (1/2) リソース オーナー (Resource Owner) 保護されたリソースへのアクセスを許可するエンティティー 人間の場合はエンド ユーザーに相当 OAuth の詳細については RFC 6749 を参照 OAuth クライアント (Client) リソース オーナーの許可を得て リソース オーナーの代理として保護されたリソースに対するリクエストを行うアプリケーション アクセス トークンを使用して保護されたリソースにアクセスする 許可サーバー (Authorization Server) リソース オーナーの認証とリソース オーナーからの許可取得が成功した後 アクセス トークンをクライアントに発行するサーバー リソース サーバーと同一サーバーの場合と異なるサーバーの場合がある リソース サーバー (Resource Server) 保護されたリソースをホストし 保護されたリソースへのリクエストを受理してレスポンスを返すサーバー RFC6749 の日本語訳では Authorization server は 認可サーバー Authorization Code は 認可コード と記述されていますが 本製品の製品マニュアル KnowledgeCenter の日本語訳では 許可サーバー 許可コード と訳されており 本資料中でもその記述を踏襲します あらかじめご了承ください 5

6 OAuth 構成要素 (2/2) アクセス トークン OAuth の詳細については RFC 6749 を参照 リソース オーナーの保護リソースにアクセスするためのクレデンシャル OAuthクライアントが保護リソースへアクセスする際にリソース サーバーに送信する リフレッシュ トークン アクセス トークンを取得するためのクレデンシャル アクセス トークンの期限が切れた場合に 許可サーバーから新規アクセス トークンを要求したり 同一スコープまたはより狭いスコープを持つアクセス トークンを要求するために使用 リソース サーバーには送信されない 6

7 IDG における OAuth プロトコルのサポート (1/5) IDG は OAuth 2.0 をサポート 厳密には RFC6749 The OAuth 2.0 Authorization Framework のドラフト版 (draft-ietf-oauth-v2-31) がベース プロトコルフロー IDG は 2 者間フローと 3 者間フローをサポート 7

8 IDG における OAuth プロトコルのサポート (2/5) 2 者間フロー 以下のいずれかの場合に使用可能 OAuthクライアント = リソース オーナー OAuthクライアントが信頼できる ( リソース オーナーの資格情報を知っている ) 以下のグラント タイプが使用可能 リソース オーナー パスワード クレデンシャル クライアント クレデンシャル リソース オーナー & OAuth クライアント 許可サーバー リソース サーバー アクセス許可要求 認証 / 許可 w/ リソース オーナー資格情報 アクセス トークン (+ リフレッシュ トークン ) リソース アクセス w/ アクセス トークン アクセス トークン再発行要求 w/ リフレッシュ トークン アクセス トークン 8

9 IDG における OAuth プロトコルのサポート (3/5) 3 者間フロー リソース オーナーの資格情報を OAuth クライアントに知らせることなく OAuth クライアントがリソース サーバーによって保護されたリソースへアクセスすることを許可することが可能 許可コード ( または暗黙的付与 ) のグラント タイプを使用 リソース オーナー OAuth クライアント 許可サーバー リソース サーバー Initiate アクセス許可要求 (302 リダイレクト ) 認証 / 許可 w/ リソース オーナー資格情報 許可コード (302 リダイレクト ) アクセス トークン発行要求 w/ 許可コード + OAuth クライアント資格情報 アクセス トークン (+ リフレッシュ トークン ) リソース アクセス w/ アクセス トークン アクセス トークン再発行要求 w/ リフレッシュ トークン アクセス トークン 9

10 IDG における OAuth プロトコルのサポート (4/5) 以下の OAuth クライアントのロールのいずれかまたは両方をサポート 許可サーバー エンドポイント ( 許可エンドポイントおよびトークン エンドポイント ) IDG は保護されたリソースへのアクセス許可をリソース オーナーから取得し OAuth クライアントに対してアクセス トークンを発行する リソース サーバーの適用ポイント IDG はサービス提供者が保持するリソースを保護し OAuth クライアントが保護されたリソースへアクセスするための要求に対して応答する アクセス トークンを使用して要求の受け入れ可否を判断する ロールは OAuth クライアント プロファイル にて指定 同じ OAuth クライアント グループに属するすべての OAuth クライアント プロファイルは 同じロールまたはグループ内で定義されたロールのサブセットを持っている必要がある 10

11 IDG における OAuth プロトコルのサポート (5/5) OAuth ロールが許可サーバー エンドポイントの場合 グラント タイプの指定が必要 以下のグラント タイプをサポート 許可コード OAuth クライアントは許可コードによってアクセス許可を取得する 3 者間フローでのみ使用可能 暗黙的付与 (Implicit) OAuth クライアントはアクセス トークンを取得する際に用いられる仲介のクレデンシャルを利用せず (= 暗黙 ) 直接アクセス トークンを取得する 3 者間フローでのみ使用可能 リソース オーナー パスワード クレデンシャル OAuth クライアントはリソース オーナーのパスワード クレデンシャルを使用してアクセス許可を取得する 2 者間フローでのみ使用可能 クライアント クレデンシャル クライアントのクレデンシャルを使用してアクセス許可を取得する 2 者間フローでのみ使用可能 JSON Web Token (JWT) JWT を使用してアクセス許可を取得する 2 者間フローでのみ使用可能 OpenID Connect (OIDC) 上記グラント タイプの一部として OIDC をサポート 11

12 OAuth 構成トポロジー 12

13 IDG が認証 許可するパターン IDG にて認証および OAuth 許可を行うことが可能 リソース オーナー モバイル アプリ ブラウザー ユーザー情報 リソース OAuth クライアント アプリケーション IBM DataPower Gateway (IDG) 認証サーバー 許可サーバー エンドポイント リソース サーバー適用ポイント アプリケーション サーバー リソース サーバー トークン失効管理サーバー トークン失効情報 13

14 OAuth 処理フロー (Basic 認証 & 許可コード ) IBM DataPower Gateway (IDG) リソース オーナー OAuth クライアント 許可サーバー エンドポイント & リソース サーバー適用ポイント リソース サーバー POST /oauth_request 302 Found Location: /oauth/authz?response_type=code&client_id=<client> &redirect_uri=<uri>&scope=<scope>&state=<state> 401 Unauthorized WWW-Authenticate: Basic realm=login Scope Accept Authorization: Basic: <username>:<password> GET /oauth/authz?response_type=code&client_id=<client>& redirect_uri=<uri>&scope=<scope>&state=<state> POST /oauth/authz selectedscope=<scope>&dp-state=<ticket>& resourceowner=<owner>&redirect_uri=<uri>&scope=<scope> &client_id=<client_id>&approve=true& Basic Authentication Authorization Form 200 OK Publish code POST /oauth/token Authorization: Basic: <client_id>:<secret> grant_type=authorization_code&code=<code >&redirect_uri=<uri> 302 Processed Location: <uri>?code=<code>&state=<state> { "token_type":"bearer", "access_token": <access_token>", "expires_in":3600, "scope": <scope>", "refresh_token": <refresh_token>" } Validate code & Publish token 200 OK GET /resource Authorization: Bearer <access_token> Check token 14

15 OAuth 処理フロー (Form 認証 & 許可コード ) IBM DataPower Gateway (IDG) リソース オーナー OAuth クライアント 許可サーバー エンドポイント & リソース サーバー適用ポイント リソース サーバー POST /oauth_request 302 Found Location: /form/oauth/authz?response_type=code&client_id=<clien t>&redirect_uri=<uri>&scope=<scope>&state=<state> Authentication Form 200 OK Scope Accept POST /form/j_security_check J_username=<username>&j_password=<password>&login=Log in&originalurl=/form/oauth/authz?response_type=code&client_id =<client>&redirect_uri=<uri>&scope=<scope>&state=<state> POST /form/oauth/authz selectedscope=<scope>&dp-state=<ticket>& resourceowner=<owner>&redirect_uri=<uri>&scope=<scope> &client_id=<client_id>&approve=true& Authorization Form Form Authentication Publish code 200 OK Set Cookie: JSESSIONID=xxxxxxxx POST /oauth/token Authorization: Basic: <client_id>:<secret> grant_type=authorization_code&code=<code >&redirect_uri=<uri> 302 Processed Set Cookie: JSESSIONID=yyyyyyyy Location: <uri>?code=<code>&state=<state> { "token_type":"bearer", "access_token": <access_token>", "expires_in":3600, "scope": <scope>", "refresh_token": <refresh_token>" } Validate code & Publish token 200 OK GET /resource Authorization: Bearer <access_token> Check token 15

16 認証と許可が分離するパターン (1/2) 認証は既存の認証サーバーを使用することも可能 認証サーバーがリバース プロキシーとして動作する場合 リソース オーナー モバイル アプリ ブラウザー ユーザー情報 リソース OAuth クライアント アプリケーション 認証サーバー ( リバース プロキシー ) 認証後はパススルー IBM DataPower Gateway (IDG) 許可サーバー エンドポイント リソース サーバー適用ポイント アプリケーション サーバー リソース サーバー トークン失効管理サーバー トークン失効情報 16

17 認証と許可が分離するパターン (2/2) 認証は既存の認証サーバーを使用することも可能 IDG がゲートウェイとして動作する場合 リソース オーナー モバイル アプリ ブラウザー 認証サーバー ユーザー情報 リソース OAuth クライアント アプリケーション IBM DataPower Gateway (IDG) 許可サーバー エンドポイント リソース サーバー適用ポイント アプリケーション サーバー リソース サーバー トークン失効管理サーバー トークン失効情報 17

18 IDG の冗長構成について OAuth を使用する場合の IDG の冗長構成 複数台の IDG で Active-Active 構成が可能 許可コードやトークンに必要な情報が含まれるため セッション維持の必要はない 許可コードやトークンに含まれる有効期限情報で有効 / 無効を判断するため すべての IDG で時刻設定を合わせる必要がある NTP を使用するなど 当方で検証した限りでは 使用済みの許可フォームや許可コード リフレッシュ トークンを再利用できないようにするために IDG では情報を内部にキャッシュすることを確認した 複数台で冗長構成とする場合 キャッシュを共有できないため IDG 台数分は許可フォーム / 許可コード / リフレッシュ トークンが再利用できてしまう可能性がある キャッシュは 状況 > 暗号 > OAuth キャッシュ より確認可能 キャッシュの説明については当資料 IDG 内部キャッシュの利用 (2/3) を参照 18

19 OAuth 構成方法 19

20 OAuth 構成方法 OAuth プロトコルを使用するためには AAA ポリシーを構成する必要があり 下表のいずれかの方法で構成可能 構成方法によりサポートされる OAuth ロールが異なる 構成方法 Web トークン サービス (WTS) マルチプロトコル ゲートウェイ (MPG) サポートされる OAuth ロール 許可サーバー エンドポイント 許可サーバー エンドポイントリソース サーバーの適用ポイント 当資料では MPG を使用する場合の構成手順を記載します 20

21 OAuth 構成手順概要 (1/2) 前提事項 クライアントから IDG へのアクセスは HTTPS を使用 SSL 接続に必要な暗号鍵および証明書の設定が済んでいること IDG における自己署名証明書の作成方法は 後述の ( 参考 ) サーバー証明書および秘密鍵の作成 を参照 認証は IDG 内で行い Basic 認証または Form 認証を使用 OAuth のグラント タイプとして 許可コード を使用 サンプルとしてリソース サーバーも IDG を使用し XML Firewall サービスにてリソースを提供する 本資料で使用する XML Firewall サービスのサンプルは 下記リンク先で提供されるサンプル コードを元に作成 AccountLoopback.zip&method=http&locale= 事前に上記サンプル コードを IDG の任意のドメインにインポートし 更に以下の点を修正して使用 ポート番号を 5071 に変更 サービス > XML ファイアウォール > XML ファイアウオールの編集 より該当 XML Firewall サービスを選択し 一般 タブより設定変更 local:///json_response.xsl 内のリソース オーナーを取得するヘッダー名を修正 修正前 <xsl:variable name="resource-owner" select="str:decode-uri(dp:http-request-header('resourceowner'))"/> 修正後 <xsl:variable name="resource-owner" select="str:decode-uri(dp:http-request-header('dp-owner'))"/> 21

22 OAuth 構成手順概要 (2/2) 構成手順概要 1. OAuth クライアントの登録 1. OAuthクライアント プロファイルの作成 2. OAuthクライアント グループの作成 2. AAA ポリシー作成 1. OAuth 許可およびトークン エンドポイント用 (Form 認証用 ) 2. OAuth 許可およびトークン エンドポイント用 (Basic 認証用 ) 3. リソース サーバー適用ポイント用 3. AAA ポリシーを使用してマルチプロトコル ゲートウェイを構成 1. マルチプロトコル ゲートウェイの作成 2. 処理ポリシーの作成 1. favicon 用リクエスト ルール 2. Form 認証およびOAuth 許可用リクエスト ルール 3. Basic 認証およびOAuth 許可用リクエスト ルール 4. リソース サーバー適用ポイント用リクエスト ルール 5. レスポンス ルール 6. エラー ルール 3. HTTPSフロント サイド ハンドラーの作成 22

23 ( 再掲 ) OAuth 構成手順概要 構成手順概要 1. OAuth クライアントの登録 1. OAuthクライアント プロファイルの作成 2. OAuthクライアント グループの作成 2. AAA ポリシー作成 1. OAuth 許可およびトークン エンドポイント用 (Form 認証用 ) 2. OAuth 許可およびトークン エンドポイント用 (Basic 認証用 ) 3. リソース サーバー適用ポイント用 3. AAA ポリシーを使用してマルチプロトコル ゲートウェイを構成 1. マルチプロトコル ゲートウェイの作成 2. 処理ポリシーの作成 1. favicon 用リクエスト ルール 2. Form 認証およびOAuth 許可用リクエスト ルール 3. Basic 認証およびOAuth 許可用リクエスト ルール 4. リソース サーバー適用ポイント用リクエスト ルール 5. レスポンス ルール 6. エラー ルール 3. HTTPSフロント サイド ハンドラーの作成 23

24 1. OAuth クライアントの登録 (1/5) 1. OAuth クライアント プロファイルの作成 メニューより オブジェクト > 暗号構成 > OAuth クライアント プロファイル を選択し 新規作成 OAuth クライアント毎にロールを指定 ここでは 両方にチェックを入れる サポートするグラント タイプを指定 ここでは 許可コード にチェックを入れる 24

25 1. OAuth クライアントの登録 (2/5) 1. OAuth クライアント プロファイルの作成 ( 続き ) クライアント タイプおよびクライアントの認証方式を指定 ここでは クライアント タイプを 機密 とし クライアント シークレットで認証する クライアント シークレットを明示的に定義する場合 事前に クライアント シークレットの生成 欄のチェックを外す必要があります スコープを正規表現 (PCRE) で指定 ここでは /getaccountinfo または /getcustomerinfo を許可する ^/getaccountinfo /getcustomerinfo を入力 トークン保護のための共有秘密鍵を指定 ( 次頁参照 ) クライアントに許可コードのトークンを渡すためのリダイレクト URL を指定 ( 複数指定可能 ) ここでは 正規表現で HTTPS のすべての URI に合致する S+ を指定 リソース オーナーに送信する許可フォームを生成するための XSLT を指定 ここでは OAuth 用にデフォルトで提供される XSLT を選択 25

26 ( 参考 ) OAuth クライアントの共有秘密鍵 IDGで発行するトークンを暗号化するために使用する秘密鍵 32バイト以上の任意の16 進数 共有秘密鍵の例 : sharedsecretkey.txt 0x ABCDEF ABCDEF ABCDEF ABCDEF 26

27 1. OAuth クライアントの登録 (3/5) 1. OAuth クライアント プロファイルの作成 ( 続き ) キャッシュ方式の指定 ここでは デフォルトの リプレイのみ を選択 OAuth 処理エラーとしてクライアントに詳細なエラーを返答するかどうかの指定 ( デフォルトはチェックなし ) チェックを入れると OAuth エラー応答に詳細情報が含まれる リクエストにスコープが指定されていない場合のデフォルト値 許可フォームの有効期間 (1~600 秒 / デフォルト値 :300) 許可コードの有効期間 (1~600 秒 / デフォルト値 :300) アクセス トークンの有効期間 (1~ 秒 / デフォルト値 :3600) 27

28 1. OAuth クライアントの登録 (4/5) 1. OAuth クライアント プロファイルの作成 ( 続き ) IDG が生成できるリフレッシュ トークンの総数 (0~2048 個 / デフォルト値 :0) リフレッシュ トークンの有効期間 (1 ~ 秒 / デフォルト値 :5400) リソース サーバーに対してヘッダーで情報を付加するかどうかの指定 ここでは すべてにチェックを入れる 28

29 1. OAuth クライアントの登録 (5/5) 2. OAuth クライアント グループの作成 メニューより オブジェクト > 暗号構成 > OAuth クライアント グループ を選択し 新規作成 グループ内の OAuth ロールを指定 ここでは 両方にチェックを入れる OAuth クライアントを選択 29

30 ( 再掲 ) OAuth 構成手順概要 構成手順概要 1. OAuth クライアントの登録 1. OAuthクライアント プロファイルの作成 2. OAuthクライアント グループの作成 2. AAA ポリシー作成 1. OAuth 許可およびトークン エンドポイント用 (Form 認証用 ) 2. OAuth 許可およびトークン エンドポイント用 (Basic 認証用 ) 3. リソース サーバー適用ポイント用 3. AAA ポリシーを使用してマルチプロトコル ゲートウェイを構成 1. マルチプロトコル ゲートウェイの作成 2. 処理ポリシーの作成 1. favicon 用リクエスト ルール 2. Form 認証およびOAuth 許可用リクエスト ルール 3. Basic 認証およびOAuth 許可用リクエスト ルール 4. リソース サーバー適用ポイント用リクエスト ルール 5. レスポンス ルール 6. エラー ルール 3. HTTPSフロント サイド ハンドラーの作成 30

31 2. AAA ポリシー作成 (1/13) 1. OAuth 許可およびトークン エンドポイント用 AAA ポリシー (Form 認証用 ) (OAuth_AZ_Form) メニューより オブジェクト > XML 処理 > AAA ポリシー を選択し フォーム認証用 AAA ポリシーを新規作成 ID 抽出方法を指定 HTML フォーム ベース認証 および OAuth にチェックを入れる デフォルトで提供される HTML フォームを使用 ログインフォームを指定 ここでは OAuth_HTMLForm を新規作成 前手順で作成した OAuth クライアント グループを指定 31

32 2. AAA ポリシー作成 (2/13) 1. OAuth 許可およびトークン エンドポイント用 AAA ポリシー (Form 認証用 ) (OAuth_AZ_Form) ( 続き ) 認証方式を指定 ここでは AAA 情報ファイルの使用 を選択し ファイルを指定する ( ファイル例は次頁参照 ) 32

33 2. AAA ポリシー作成 (3/13) AAA 情報ファイル (OAuth_AAAInfo.xml) IDG ローカルにデフォルトで提供される store:///aaainfo.xml を編集して使用 <?xml version="1.0" encoding="utf-8"?> <AAAInfo xmlns=" <FormatVersion>1</FormatVersion> <Filename>local:///xml/OAuth_AAAInfo.xml</Filename> <Summary>This is an example of the file format.</summary> <Authenticate> <Username>user01</Username> <Password>password</Password> <OutputCredential>USER01</OutputCredential> </Authenticate> OutputCredentialがリソース オーナーとなる <Authenticate> <Username>user02</Username> <Password>password</Password> <OutputCredential>USER02</OutputCredential> </Authenticate> </AAAInfo> 33

34 2. AAA ポリシー作成 (4/13) 1. OAuth 許可およびトークン エンドポイント用 AAA ポリシー (Form 認証用 ) (OAuth_AZ_Form) ( 続き ) リソース抽出方法を指定 処理メタデータ を選択し デフォルトで提供される oauth-scope-metadata を指定する 34

35 2. AAA ポリシー作成 (5/13) 1. OAuth 許可およびトークン エンドポイント用 AAA ポリシー (Form 認証用 ) (OAuth_AZ_Form) ( 続き ) 許可方式を指定 ここでは許可制御をしないため すべての認証クライアントを許可 を選択する 35

36 2. AAA ポリシー作成 (6/13) 2. OAuth 許可およびトークン エンドポイント用 AAA ポリシー (Basic 認証用 ) (OAuth_AZ_Basic) メニューより オブジェクト > XML 処理 > AAA ポリシー を選択し OAuth 許可およびトークン エンドポイント用 AAA ポリシーを新規作成 ID 抽出方法を指定 HTTP 認証ヘッダー および OAuth にチェックを入れる 前手順で作成した OAuth クライアント グループを指定 36

37 2. AAA ポリシー作成 (7/13) 2. OAuth 許可およびトークン エンドポイント用 AAA ポリシー (Basic 認証用 ) (OAuth_AZ_Basic) ( 続き ) 認証方式を指定 ここでは AAA 情報ファイルの使用 を選択し 作成した OAuth_AAAInfo.xml を指定 37

38 2. AAA ポリシー作成 (8/13) 2. OAuth 許可およびトークン エンドポイント用 AAA ポリシー (Basic 認証用 ) (OAuth_AZ_Basic) ( 続き ) リソース抽出方法を指定 処理メタデータ を選択し デフォルトで提供される oauth-scope-metadata を指定する 38

39 2. AAA ポリシー作成 (9/13) 2. OAuth 許可およびトークン エンドポイント用 AAA ポリシー (Basic 認証用 ) (OAuth_AZ_Basic) ( 続き ) 許可方式を指定 前フェーズにてスコープ検査を行っているため すべての認証クライアントを許可 を選択する 39

40 2. AAA ポリシー作成 (10/13) 3. リソース サーバー適用ポイント用 AAA ポリシー (OAuth_RS) メニューより オブジェクト > XML 処理 > AAA ポリシー を選択し リソース サーバー適用ポイント用 AAA ポリシーを新規作成 ID 抽出方法を指定 OAuth にチェックを入れる 前手順で作成した OAuth クライアント グループを指定 40

41 2. AAA ポリシー作成 (11/13) 3. リソース サーバー適用ポイント用 AAA ポリシー (OAuth_RS) ( 続き ) 認証方式を指定 ID 抽出 フェーズでトークンによるリクエスト検査を行っているため 許可フェーズに ID トークンを渡す を選択する 41

42 2. AAA ポリシー作成 (12/13) 3. リソース サーバー適用ポイント用 AAA ポリシー (OAuth_RS) ( 続き ) リソース抽出方法を指定 クライアントにより送信された URL と 処理メタデータ を選択し デフォルトで提供される oauth-scope-metadata を指定する 42

43 2. AAA ポリシー作成 (13/13) 3. リソース サーバー適用ポイント用 AAA ポリシー (OAuth_RS) ( 続き ) 許可方式を指定 前フェーズにてトークン検査を行っているため すべての認証クライアントを許可 を選択する 43

44 ( 再掲 ) OAuth 構成手順概要 構成手順概要 1. OAuth クライアントの登録 1. OAuthクライアント プロファイルの作成 2. OAuthクライアント グループの作成 2. AAA ポリシー作成 1. OAuth 許可およびトークン エンドポイント用 (Form 認証用 ) 2. OAuth 許可およびトークン エンドポイント用 (Basic 認証用 ) 3. リソース サーバー適用ポイント用 3. AAA ポリシーを使用してマルチプロトコル ゲートウェイを構成 1. マルチプロトコル ゲートウェイの作成 2. 処理ポリシーの作成 1. favicon 用リクエスト ルール 2. Form 認証およびOAuth 許可用リクエスト ルール 3. Basic 認証およびOAuth 許可用リクエスト ルール 4. リソース サーバー適用ポイント用リクエスト ルール 5. レスポンス ルール 6. エラー ルール 3. HTTPSフロント サイド ハンドラーの作成 44

45 3. マルチプロトコル ゲートウェイを構成 (1/11) 1. マルチプロトコル ゲートウェイの作成 (OAuthMPG) メニューより コントロール パネル > マルチプロトコル ゲートウェイ を選択して作成 2. 処理ポリシーの作成 へ 3. HTTPS フロント サイド ハンドラーの作成 へ ここでは バックエンドのサービスとして XML Firewall を使用するため 静的バックエンド を選択し URL としてループバックアドレスと XML Firewall のポートを指定 45

46 3. マルチプロトコル ゲートウェイを構成 (2/11) 1. マルチプロトコル ゲートウェイの作成 (OAuthMPG) ( 続き ) バックエンド システムと HTTPS で通信する場合は SSL クライアント プロファイルを構成する ここでは バックエンドへのアクセスは HTTP を使用するため省略 応答タイプの指定 ここでは 非 XML を選択 要求タイプの指定 ここでは 非 XML を選択 46

47 3. マルチプロトコル ゲートウェイを構成 (3/11) 2. 処理ポリシーの作成 (OAuthPolicy) 1. favicon 用リクエスト ルール (OAuthPolicy_rule_favicon) favicon.ico に対するリクエストについては 何もせずにそのままバックエンドへ送信する クライアントからサーバー を選択 マッチング アクション 結果 アクション 47

48 3. マルチプロトコル ゲートウェイを構成 (4/11) 2. 処理ポリシーの作成 (OAuthPolicy) ( 続き ) 2. Form 認証および OAuth 許可用リクエスト ルール (OAuthPolicy_rule_az_form) Form 認証を実施し OAuth 許可処理を行うルール クライアントからサーバー を選択 マッチング アクション 結果 アクション 照会パラメーターを XML に変換する アクション ( 設定はデフォルト ) AAA アクション (AAA ポリシー OAuth_AZ_Form を指定 ) 48

49 3. マルチプロトコル ゲートウェイを構成 (5/11) 2. 処理ポリシーの作成 (OAuthPolicy) ( 続き ) 3. Basic 認証および OAuth 許可用リクエスト ルール (OAuthPolicy_rule_az_basic) Basic 認証を実施し OAuth 許可処理を行うルール クライアントからサーバー を選択 マッチング アクション 結果 アクション 照会パラメーターを XML に変換する アクション ( 設定はデフォルト ) AAA アクション (AAA ポリシー OAuth_AZ_Basic を指定 ) 49

50 3. マルチプロトコル ゲートウェイを構成 (6/11) 2. 処理ポリシーの作成 (OAuthPolicy) ( 続き ) 4. リソース サーバー適用ポイント用リクエスト ルール (OAuthPolicy_rule_rs) アクセス トークン検査を行うルール クライアントからサーバー を選択 マッチング アクション 結果 アクション 照会パラメーターを XML に変換する アクション ( 設定はデフォルト ) AAA アクション (AAA ポリシー OAuth_RS を指定 ) 50

51 3. マルチプロトコル ゲートウェイを構成 (7/11) 2. 処理ポリシーの作成 (OAuthPolicy) ( 続き ) 5. レスポンス ルール (OAuthPolicy_rule_response) ここでは レスポンスに対する処理は何も実施しない サーバーからクライアント を選択 マッチング アクション 結果 アクション 51

52 3. マルチプロトコル ゲートウェイを構成 (8/11) 2. 処理ポリシーの作成 (OAuthPolicy) ( 続き ) 6. エラー ルール (OAuthPolicy_rule_error) デフォルト ( エラー ルールがない場合 ) は 処理エラーが SOAP/XML になります 処理ルール内のエラー時に エラー メッセージを JSON 形式へ変換する処理を実施 エラー を選択 マッチング アクション 結果 アクション XSLT スタイルシートを使用して変換する を選択 フェッチ アクション 変換 アクション 任意の XML ファイルを作成し IDG ローカルにアップロード dummy.xml の例 : <a>dummy</a> XSLT スタイルシートを作成し IDG ローカルにアップロード ( 次頁参照 ) 52

53 3. マルチプロトコル ゲートウェイを構成 (9/11) XSLT スタイルシート (error.xsl) エラー メッセージ ( サービス変数 :error-message) を JSON 形式で出力 <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns:dp=" extension-element-prefixes="dp" exclude-result-prefixes="dp"> <xsl:output method="text" encoding="utf-8" indent="no" media-type="application/json"/> <xsl:template match="/"> <xsl:text>{"errormsg" : "</xsl:text><xsl:value-of select="dp:variable('var://service/error-message')"/><xsl:text>"}</xsl:text> </xsl:template> </xsl:stylesheet> 53

54 ( 参考 ) バックエンド エラーの処理 バックエンド サーバーからエラー コードを受信した場合の IDG での処理を設定可能 設定箇所 マルチプロトコル ゲートウェイの 拡張 タブの バックエンド エラーの処理 オン ( デフォルト ) レスポンス ルールで処理する オフ エラー ルールで処理し 処理が正常終了した場合 クライアントにエラー ルールで指定した応答コードを返す エラー ルール内で 変換 (Transform) アクションなどを使用してエラー コードの扱いを定義する必要がある 54

55 3. マルチプロトコル ゲートウェイを構成 (10/11) 3. HTTPS フロント サイド ハンドラーの作成 (OAuthFSH) リクエストを受け付けるポート番号を指定 ここでは 5070 を使用する デフォルトから GET メソッドを追加 SSL サーバー設定 ( 次頁参照 ) 55

56 3. マルチプロトコル ゲートウェイを構成 (11/11) 3. HTTPS フロント サイド ハンドラーの作成 (OAuthFSH) ( 続き ) 秘密鍵を指定 サーバー証明書を指定 56

57 ( 参考 ) サーバー証明書および秘密鍵の作成 IDG にて自己署名証明書を生成可能 管理 > その他 > 暗号ツール 57

58 実行結果例 (1/6) アクセス許可要求 (Basic 認証 ) Web ブラウザーにて以下の URL にアクセス d=oauthclient01&redirect_uri= %20/getCustomerInfo&state=MyTest リソース オーナーは許可サーバー上のユーザー名 / パスワードを入力して認証 認証後 リソース オーナーは許可するスコープを選択して Submit 許可コード取得 58

59 実行結果例 (2/6) アクセス許可要求 (Form 認証 ) Web ブラウザーにて以下の URL にアクセス ent_id=oauthclient01&redirect_uri= tinfo%20/getcustomerinfo&state=mytest リソース オーナーは許可サーバー上のユーザー名 / パスワードを入力して認証 認証後 リソース オーナーは許可するスコープを選択して Submit 許可コード取得 59

60 実行結果例 (3/6) アクセス トークン発行 curl にて以下のコマンドを実行 curl -k -d "grant_type=authorization_code&code=<authorization_code>&redirect_ur i= --user OAuthClient01:passw0rd 応答電文 : { "token_type":"bearer", "access_token":"aaent0f1dghdbgllbnqwmrgcj7ljvasb6cex82jlcosvw3qegyxi 1W3340IktnooV02aDzKZ6mLFkV3x88HpPz17_GKlqSvN3SFcLJd3YR94GKM8tpp8omrs -ytyqqglgwuozy_sz3n44xgpv4vaoq", "expires_in":3600, "scope":"/getaccountinfo /getcustomerinfo", "refresh_token":"aaehtq9c8-ylokskqaxgyiw0vq1uq- UF7FfEtLG8hf8sEckgbLTakJd8a1CgRP8O5dh1fcG05MIMv3qp53W_y6TpygthAtv87O mdjlm_i5u23kf828-qwajxa_r_b8uonfq" } 60

61 実行結果例 (4/6) リソース アクセス curl にて以下のコマンドを実行 /getaccountinfo curl -k -H "Authorization:Bearer <Access_Token>" 応答電文 : { "name": "myaccount", "balance":1.00 } /getcustomerinfo curl -k -H "Authorization:Bearer <Access_Token>" 応答電文 : [ { "id":0, "name":"user01", "access_token":"aaent0f1dghdbgllbnqwmrgcj7ljvasb6cex82jlcosvw3qegyxi1w3340iktnoov 02aDzKZ6mLFkV3x88HpPz17_GKlqSvN3SFcLJd3YR94GKM8tpp8omrsyTyQQGLgwUOZy_sz3n44XgPv4VAOQ" } ] 61

62 実行結果例 (5/6) アクセス トークンの検査 curl にて以下のコマンドを実行 curl -k -d "grant_type=urn:ibm:datapower:validate&access_token=<access_token>" --user OAuthClient01:passw0rd 応答電文 : OK ( トークンが有効な場合 ) { "valid":true, "token_type":"bearer", "client_id":"oauthclient01", "not_after":" ", "not_after_text":" t11:08:51z", "not_before":" ", "not_before_text":" t10:08:51z", "resource_owner":"user01", "scope":"/getaccountinfo /getcustomerinfo" } NG ( トークンが期限切れの場合 ) { "valid":false } 62

63 実行結果例 (6/6) リフレッシュ トークンによるアクセス トークンの再発行 curl にて以下のコマンドを実行 curl -k -d "grant_type=refresh_token&refresh_token=<refresh_token>&scope=/getac countinfo%20/getcustomerinfo" --user OAuthClient01:passw0rd 応答電文 : { "token_type":"bearer", "access_token":"aaent0f1dghdbgllbnqwmx0mij_6czvofvbl87rvvxhhpyoinziy xpnm9eo-7xz86mzenw11_xboyqtxezw5nobd_aihv- OHeEN8pS1HhzEvZONpVSvXghHPzmXJVf9t-FAfy10UPasIawztAZH0xg", "expires_in":3600, "scope":"/getaccountinfo /getcustomerinfo", "refresh_token":"aag6vimfp_kwee0yobrbuwju0bfpv9fnoa- 1lQdBPjgBiESyKld0fSBO5iU2pAMrjGcuGdW1BXd6Fe3jm5SeVWgsOToS4O1Pur6Ukq0BisnOtMqCR83lw92gp1LMNrBFvs" } 63

64 ( 参考 ) バックエンド サーバーへの情報連携 HTTP ヘッダーにリソース オーナー クライアント ID スコープを付加することが可能 OAuth クライアント プロファイルの 拡張 タブ > HTTP ヘッダーの作成対象 にて設定 64

65 Tips: 許可コード アクセストークン発行後は 同じ許可コードは有効期限内であっても再利用不可 ただし 冗長構成の場合は注意が必要です 詳細は当資料 IDG の冗長構成について を参照してください リフレッシュトークン 有効なアクセストークンがある場合でもリフレッシュトークンで新規アクセストークンを発行可能 その際 古いアクセス トークンは失効されない そのため 有効なアクセストークンが複数できてしまうことが考えられます アクセストークン再発行に使用したリフレッシュトークンは 有効期限内であっても再利用不可 スコープ ただし 冗長構成の場合は注意が必要です 詳細は当資料 IDG の冗長構成について を参照してください IDG ではスコープを厳密にチェックするため 正確に定義する必要がある 例えば 許可スコープが /getaccountinfo の場合 /getaccountinfo/xxxx はスコープ検査により拒否される 許可スコープを /getaccountinfo* とすることで /getaccountinfo/xxxx へのアクセスも許可される 65

66 エラー応答例 (1/7) OAuth 処理エラー 例 : 不正な response_type が指定された場合 リクエスト curl -i -k " uthclient01&redirect_uri= stomerinfo&state=mytest" --user user01:password レスポンス OAuth クライアント プロファイルの 詳細エラー 設定にチェックがない場合 302 Processed Location: OAuth クライアント プロファイルの 詳細エラー 設定にチェックがある場合 302 Processed Location: ion=unsupported+response_type&state=mytest OAuth 処理エラーは OAuth 2.0 の仕様に準拠したエラー レスポンスとなります 詳細エラー (error_description) を応答させたい場合は設定が必要です ( 当資料 1. OAuth クライアントの登録 (3/5) を参照 ) 66

67 エラー応答例 (2/7) OAuth 処理エラー ( 続き ) 例 : 不正なスコープが指定された場合 リクエスト curl -i -k " uthclient01&redirect_uri= " --user user01:password レスポンス OAuth クライアント プロファイルの 詳細エラー 設定にチェックがない場合 302 Processed Location: OAuth クライアント プロファイルの 詳細エラー 設定にチェックがある場合 302 Processed Location: orted+scope&state=mytest OAuth 処理エラーは OAuth 2.0 の仕様に準拠したエラー レスポンスとなります 詳細エラー (error_description) を応答させたい場合は設定が必要です ( 当資料 1. OAuth クライアントの登録 (3/5) を参照 ) 67

68 エラー応答例 (3/7) OAuth 処理エラー ( 続き ) 例 : 不正な grant_type が指定された場合 リクエスト curl -i -k -d "grant_type=test&code=aak9yrspjg3trpyjkyr1rq93uh_ymljvt79g1zhozduwfhslkxw pnu7ffoxokavoqj10cwuftpum2rnpnuvh_is_qmv8ns9tlmwam2-vjdbwcafezs5l_9djfnmacuynfy&redirect_uri= --user OAuthClient01:passw0rd レスポンス OAuth クライアント プロファイルの 詳細エラー 設定にチェックがない場合 400 Processed { "error":"unsupported_grant_type "} OAuth クライアント プロファイルの 詳細エラー 設定にチェックがある場合 400 Processed { "error":"unsupported_grant_type", "error_description":"grant_type or code not supported" } OAuth 処理エラーは OAuth 2.0 の仕様に準拠したエラー レスポンスとなります 詳細エラー (error_description) を応答させたい場合は設定が必要です ( 当資料 1. OAuth クライアントの登録 (3/5) を参照 ) 68

69 エラー応答例 (4/7) OAuth 処理エラー ( 続き ) 例 : クライアント認証失敗 ( 不正なクライアント シークレット ) リクエスト curl -i -k -d "grant_type=authorization_code&code=aakmmjbta5zkfbhwn2nj1gmroz5fe07qfbszd Y6JYK8PuBcmwKvas9i0lDgkRilpqEtToKHUzNCDS674UOp6dLyV7XlmaU66EhCTfchPi4XyjZNFT_ztQn2Lfy6gnpIJg8&redirect_uri= --user OAuthClient01:12345 レスポンス OAuth クライアント プロファイルの 詳細エラー 設定にチェックがない場合 401 Processed { "error":"invalid_client"} OAuth クライアント プロファイルの 詳細エラー 設定にチェックがある場合 401 Processed { "error":"invalid_client", "error_description":"missing or invalid client_secret" } OAuth 処理エラーは OAuth 2.0 の仕様に準拠したエラー レスポンスとなります 詳細エラー (error_description) を応答させたい場合は設定が必要です ( 当資料 1. OAuth クライアントの登録 (3/5) を参照 ) 69

70 エラー応答例 (5/7) OAuth 処理エラー ( 続き ) 例 : 許可コードの有効期限が切れている場合 リクエスト curl -i -k -d "grant_type=authorization_code&code=aajo1pynapeayndyftnzt3oiwk2eyoqj3rtjx NIn6CTcX3lTOGwnzagALZsE-Ahb046if1rTL8GIaYaZyyjS0OplciatSSAExWkQ5mqgVGHhp83Tgx-_WyWuXdAwMfXHSE&redirect_uri= - -user OAuthClient01:passw0rd レスポンス OAuth クライアント プロファイルの 詳細エラー 設定にチェックがない場合 400 Processed { "error":"invalid_grant" } OAuth クライアント プロファイルの 詳細エラー 設定にチェックがある場合 400 Processed { "error":"invalid_grant", "error_description":"*[oauthclient01] code expired*" } OAuth 処理エラーは OAuth 2.0 の仕様に準拠したエラー レスポンスとなります 詳細エラー (error_description) を応答させたい場合は設定が必要です ( 当資料 1. OAuth クライアントの登録 (3/5) を参照 ) 70

71 エラー応答例 (6/7) OAuth 処理エラー ( 続き ) 例 : アクセス トークンの有効期限が切れている場合 リクエスト curl -i -k -H "Authorization:Bearer AAENT0F1dGhDbGllbnQwMSNTqk4K8nZ5fvO_D- H6KGZjX6BwQMKuqX_kN6uOEwvdyzmR_2887rMfod7VMaO3ulVOhjD1shPvtvID5MxzBPTY5tD UVM5Hm7khv_sE_l-sZEx4d47Eig86dgUSntgOBA レスポンス OAuth クライアント プロファイルの 詳細エラー 設定にチェックがない場合 401 Unauthorized WWW-Authenticate: Bearer error="invalid_token" {"errormsg" : "Failed to verify OAuth information."} OAuth クライアント プロファイルの 詳細エラー 設定にチェックがある場合 401 Unauthorized WWW-Authenticate: Bearer error="invalid_token",error_description="*[oauthclient01] access_token expired*" {"errormsg" : "Failed to verify OAuth information."} OAuth 処理エラーは OAuth 2.0 の仕様に準拠したエラー レスポンスとなります 詳細エラー (error_description) を応答させたい場合は設定が必要です ( 当資料 1. OAuth クライアントの登録 (3/5) を参照 ) 71

72 エラー応答例 (7/7) IDG 内部処理ルール エラー 例 : アクセス許可要求時に不正なクライアント ID が指定されている場合 リクエスト curl -i -k " uthclient99&redirect_uri= stomerinfo&state=mytest" --user user01:password レスポンス 400 Error {"errormsg" : "Failed to verify OAuth information."} 例 : 不正なユーザーからのアクセス許可要求 リクエスト curl -i -k " Client01&redirect_uri= merinfo&state=mytest" --user user99:password レスポンス 401 Unauthorized {"errormsg" : "Rejected by policy."} エラー電文はエラー ルールにて定義したものです ( 当資料 3. マルチプロトコル ゲートウェイを構成 (8-9/11) を参照 ) 72

73 OAuth プロセスのカスタマイズ 73

74 OAuth プロセスのカスタマイズ (1/3) IDG では XSLT または GatewayScript を使用して 以下の OAuth 処理のカスタマイズが可能 カスタマイズ OAuth クライアント XSLT または GatewayScript にてロールおよび動作をより細かく定義可能 カスタム スコープ検査 デフォルトでは スコープ検査に正規表現を使用 カスタム スコープ検査により スコープ一覧を使用した検査などが可能 以下の場合に使用可能 許可要求時 (authorization_request) アクセス トークン要求時 (access_request) リソース要求時 (resource_request) 許可フォームのカスタマイズ リソース オーナーが許可要求を事前承認するための HTML フォームのカスタマイズが可能 リソース所有者カスタム処理 デフォルトでは IDG によってリソース オーナーの資格情報が判別される カスタム処理により 認証から取得したリソース オーナーに関する情報をオーバーライド可能 以下の場合に使用可能 リソース オーナーに許可フォームを示す場合 (authorization_request) 許可コード発行する場合 (authorization_request) アクセス トークン発行する場合 (access_request) 74

75 OAuth プロセスのカスタマイズ (2/3) IDG では XSLT または GatewayScript を使用して 以下の OAuth 処理のカスタマイズが可能 ( 続き ) 追加 OAuth 処理 OAuth 処理 authorization_form authorization_request access_request validate_request resource_request revoke_request check_revocation_request preapproved_check miscinfo_request 説明 リソース オーナーが許可フォームを IDG に返答後の処理のカスタマイズ グラント タイプが許可コードおよびインプリシットの場合に使用可能 許可コード生成後の処理のカスタマイズ OAuth クライアントへ許可コード送信時に追加情報を付加可能 アクセス トークンを生成してから OAuth クライアントへ送信するまでの間の処理のカスタマイズ OAuth クライアントへアクセス トークン送信時に JOSN メッセージに追加情報を付加可能 アクセス トークン検査要求に対して 検査成功後の処理のカスタマイズ OAuth クライアントへの検査結果応答時の JSON メッセージに追加情報を付加可能 リソース要求に対して アクセス トークン検査成功後の処理のカスタマイズ リソース サーバーに対するリクエストに HTTP ヘッダーなど追加情報 ( 例えばリソース オーナーの ID 情報など ) を付加可能 トークン失効要求を受信した際の処理のカスタマイズ トークン検査時に失効チェックを実施することが可能 リソース オーナーが許可要求を事前承認するか 事前拒否するか 許可フォームを表示するかの検査 許可フォームのバイパスが可能 グラント タイプが許可コードおよびインプリシットの場合に使用可能 許可コードやトークンに追加情報 ( 最大 512 文字 ) を付与可能 許可サーバーは各種情報をトークンに追加し OAuth クライアントへ応答する 75

76 OAuth プロセスのカスタマイズ (3/3) IBM DataPower Gateway (IDG) リソース オーナー OAuth クライアント 許可サーバー エンドポイント & リソース サーバー適用ポイント リソース サーバー アクセス許可要求 認証 Basic Authentication 許可フォーム 2. 許可フォームのカスタマイズ Scope Accept 11. preapproved_check 処理 4. authorization_form 処理 1. カスタム スコープ検査 許可コード アクセス トークン発行要求 3. リソース所有者カスタム処理 アクセス トークン リソース要求 Publish code 12. miscinfo_request 処理処理 5. authorization_request 処理 Validate code & Publish token 6. access_request 処理 Check token 10. check_revocation_request 処理 アクセス トークン検査要求 8. resource_request 処理 Validate token アクセス トークン失効要求 success Revoke token 7. validate_request 処理 9. revoke_request 処理 76

77 カスタム スコープ検査 (1/5) 設定方法 OAuth クライアント プロファイルにて設定 1. カスタム スコープ検査 メニューより オブジェクト > 暗号構成 > OAuth クライアント プロファイル で カスタマイズしたいプロファイルを選択表示し メイン タブの カスタマイズ スコープ検査 にチェックを入れる スコープ カスタマイズ処理 にて作成した XSLT ( または GatewayScript) を指定する カスタマイズ サンプル 許可要求に含まれるスコープが事前定義した許可スコープ一覧に合致しているかを検査し 合致しているスコープのみを許可フォームに表示する 実装方法 許可スコープ一覧の定義ファイル (OAuth_Scopes.xml) の作成 スコープ カスタマイズ処理の XSLT ファイル (dp-custom-validate-scope.xsl) の作成 77

78 カスタム スコープ検査 (2/5) 許可スコープ一覧の定義ファイル (OAuth_Scopes.xml) 1. カスタム スコープ検査 <?xml version="1.0" encoding="utf-8"?> <scopes> <scope>/getaccountinfo</scope> <scope>/getcustomerinfo</scope> </scopes> 78

79 カスタム スコープ検査 (3/5) スコープ カスタマイズ処理の XSLT ファイル (dp-custom-validatescope.xsl) <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl=" version="1.0" xmlns:dp=" xmlns:dpconfig=" xmlns:dpfunc=" xmlns:str=" xmlns:regexp=" extension-element-prefixes="dp dpfunc" exclude-result-prefixes="dp dpfunc dpconfig str regexp"> 1. カスタム スコープ検査 許可スコープ定義ファイルの読み込み <xsl:template match="/"> <xsl:variable name="props"> <xsl:copy-of select="document(concat('local:///xml/oauth_scopes.xml'))"/> </xsl:variable> <xsl:if test="string($props) = ''"> <dp:set-variable name="'var://context/error/errmsg'" value="concat('error on loading Property XML File (XMLName=OAuth_Scopes.xml)')" /> <dp:reject/> <xsl:message dp:type="xslt" dp:priority="warn" terminate="yes" /> </xsl:if> <xsl:variable name="translated-scope-from-url"> <xsl:value-of select="translate(/input/scope, '%20', ' ')"/> </xsl:variable> リクエストのスコープの %20 を半角スペースに変換 (Form 認証用 ) 79

80 カスタム スコープ検査 (4/5) スコープ カスタマイズ処理の XSLT ファイル (dp-custom-validatescope.xsl) ( 続き ) <xsl:variable name="splited-scopes"> <xsl:copy-of select="str:tokenize($translated-scope-from-url, ' ')"/> </xsl:variable> 1. カスタム スコープ検査 <xsl:variable name="resource"> <xsl:for-each select="$splited-scopes/token"> <xsl:if test="text() = $props//scope"> <xsl:value-of select="text()"/> <xsl:text> </xsl:text> </xsl:if> </xsl:for-each> </xsl:variable> スコープを半角スペース区切りで分割 分割したスコープから 許可スコープ定義ファイルと一致するもののみを抽出 <result> <xsl:choose> <xsl:when test="$resource!= ''"> <dp:set-request-header name="'x-account-modified'" value="'yes'"/> <scope><xsl:value-of select="normalize-space($resource)"/></scope> </xsl:when> <xsl:otherwise> <error>requested scope is not allowed</error> </xsl:otherwise> </xsl:choose> </result> </xsl:template> </xsl:stylesheet> 80

81 カスタム スコープ検査 (5/5) 確認結果 リクエスト URL 1. カスタム スコープ検査 AuthClient01&redirect_uri= /getcustomerinfo%20/getprofile&state=mytest 許可フォーム 許可されていないスコープ 許可されるスコープのみ表示される 81

82 許可フォームのカスタマイズ (1/3) 設定方法 OAuth クライアント プロファイルにて設定 2. 許可フォームのカスタマイズ メニューより オブジェクト > 暗号構成 > OAuth クライアント プロファイル で カスタマイズしたいプロファイルを選択表示し メイン タブの 許可フォーム にて カスタマイズした XSLT ( または GatewayScript) を指定する カスタマイズ サンプル スコープの文字列を日本語に変換して許可フォームに表示する 実装方法 カスタマイズした XSLT ファイル (OAuth-Generate-HTML_custom.xsl) の作成 ここでは デフォルトで提供される store:///oauth-generate-html.xsl をカスタマイズ 82

83 許可フォームのカスタマイズ (2/3) OAuth-Generate-HTML_custom.xsl 2. 許可フォームのカスタマイズ <body> ~~~ 途中省略 ~~~ <xsl:for-each select="$scopes"> <xsl:choose> <xsl:when test="text() = '/getaccountinfo'"> <br/><input type="checkbox" checked="yes" name="selectedscope" value="{text()}"/><xsl:value-of select="' アカウント照会 '"/> </xsl:when> <xsl:when test="text() = '/getcustomerinfo'"> <br/><input type="checkbox" checked="yes" name="selectedscope" value="{text()}"/><xsl:value-of select="' 顧客照会 '"/> </xsl:when> <xsl:otherwise> <br/><input type="checkbox" checked="yes" name="selectedscope" value="{text()}"/><xsl:value-of select="text()"/> </xsl:otherwise> </xsl:choose> </xsl:for-each> <br/><br/> </xsl:if> ~~~ 途中省略 ~~~ </body> 83

84 許可フォームのカスタマイズ (3/3) 確認結果 リクエスト URL 2. 許可フォームのカスタマイズ AuthClient01&redirect_uri= /getcustomerinfo&state=mytest 許可フォーム 84

85 リソース所有者カスタム処理 (1/6) 設定方法 OAuth クライアント プロファイルにて設定 3. リソース所有者カスタム処理 メニューより オブジェクト > 暗号構成 > OAuth クライアント プロファイル で カスタマイズしたいプロファイルを選択表示し 拡張 タブの リソース所有者カスタム処理 にチェックを入れる リソース所有者処理 で作成した XSLT ( または GatewayScript) を指定する カスタマイズ サンプル 許可コード発行時にリソース オーナーの情報を暗号化する 実装方法 カスタマイズした XSLT ファイル (dp-encrypted-resource-owner.xsl) の作成 85

86 リソース所有者カスタム処理 (2/6) dp-encrypted-resource-owner.xsl 3. リソース所有者カスタム処理 <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl=" version="1.0" xmlns:dp=" xmlns:dpconfig=" xmlns:dpfunc=" extension-element-prefixes="dp dpfunc" exclude-result-prefixes="dp dpfunc dpconfig"> <xsl:template match="/"> <result> <!-- encrypt the credential, so it will not be shown on the html page --> <xsl:variable name="oauth-identity" <!-- determine the actual resource owner identity --> <xsl:variable name="name"> <xsl:choose> <xsl:when test="string(/input//mapped-credentials//username)!= ''"> <xsl:value-of select="/input//mapped-credentials//username"/> </xsl:when> <xsl:when test="string(/input//mapped-credentials//dn)!= ''"> <xsl:value-of select="/input//mapped-credentials//dn"/> </xsl:when> <xsl:when ''"> <xsl:value-of </xsl:when> <xsl:when test="string(/input/credentials//usernname)!= ''"> <xsl:value-of select="/input/credentials//usernname"/> </xsl:when> リソース オーナー情報の指定 86

87 リソース所有者カスタム処理 (3/6) dp-encrypted-resource-owner.xsl ( 続き ) 3. リソース所有者カスタム処理 <xsl:when test="string(/input/credentials//usernname)!= ''"> <xsl:value-of select="/input/credentials//usernname"/> </xsl:when> <xsl:when test="string(/input/identity//entry[@type='oauth']//resource_owner)!= ''"> <xsl:value-of select="/input/identity//entry[@type='oauth']//resource_owner"/> </xsl:when> <xsl:when test="string(/input/identity//entry[@type='oauth']//username)!= ''"> <xsl:value-of select="/input/identity//entry[@type='oauth']//username"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="/input/identity//usernname"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="$oauth-identity//oauth-id/@type = 'authorization_request'"> <!-- this only occurs during initial request with either authorization code or implicit grant type --> <resource-owner-name><xsl:value-of select="dp:encrypt-string(' 'hex: ', $name)"/></resource-owner-name> </xsl:when> <xsl:otherwise> <resource-owner-name><xsl:value-of select="$name"/></resource-owner-name> </xsl:otherwise> </xsl:choose> </result> </xsl:template> </xsl:stylesheet> リソース オーナー情報の指定 リソース オーナー情報を暗号化してオーバーライド 87

88 リソース所有者カスタム処理 (4/6) リソース オーナー暗号化結果 3. リソース所有者カスタム処理 88

89 リソース所有者カスタム処理 (5/6) リソース サーバーに対してリソース オーナー情報を連携する場合などは 以下のコードで復号化可能 例 : 追加 OAuth 処理のカスタマイズにより復号化 <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl=" version="1.0" xmlns:dp=" xmlns:dpconfig=" xmlns:dpfunc=" extension-element-prefixes="dp dpfunc" exclude-result-prefixes="dp dpfunc dpconfig"> 3. リソース所有者カスタム処理 resource_request 処理のカスタマイズにより復号化し ヘッダーに追加 <xsl:template match="/"> <xsl:choose> <xsl:when test="/input/operation = 'resource_request'"> <xsl:variable name="result" select="/input/container/identity/entry[@type='oauth']/oauth-verified[@state='ok']/result" /> <xsl:variable name="resowner" select="$result/verified-access-token/resource_owner" /> <xsl:variable name="decrypted" select="dp:decrypt-data(' 'hex: ',$resowner)"/> <dp:set-request-header name="'dp-resourceowner'" value="$decryptedowner"/> </xsl:when> <xsl:otherwise /> </xsl:choose> </xsl:template> </xsl:stylesheet> 89

90 リソース所有者カスタム処理 (6/6) リソース オーナー復号化結果 3. リソース所有者カスタム処理 90

91 追加 OAuth 処理 設定方法 OAuth クライアント プロファイルにて設定 メニューより オブジェクト > 暗号構成 > OAuth クライアント プロファイル で カスタマイズしたいプロファイルを選択表示し 拡張 タブの 追加 OAuth 処理 にて作成した XSLT ファイル ( または GatewayScript) を指定する 91

92 追加 OAuth 処理 authorization_request (1/3) authorization_request 処理のカスタマイズ サンプル 許可コード応答時に追加情報 ( ここでは リソース オーナーのユーザー名 ) を付加する 実装方法 カスタマイズした XSLT ファイル (add-process_az-request.xsl) の作成 5. authorization_request 処理 92

93 追加 OAuth 処理 authorization_request (2/3) add-process_az-request.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl=" version="1.0" xmlns:dp=" xmlns:dpconfig=" xmlns:dpfunc=" extension-element-prefixes="dp dpfunc" exclude-result-prefixes="dp dpfunc dpconfig"> authorization_request 処理の操作 <xsl:template match="/"> <xsl:choose> <xsl:when test="/input/operation = 'authorization_request'"> <xsl:variable name="clientid" select="/input/container/identity/entry[@type = 'oauth']//oauthsupportedclient/client-id"/> <xsl:choose> <xsl:when test="$clientid = 'OAuthClient01'"> <xsl:if test="/input/container/identity/entry//username[1]"> <result> <username><xsl:value-of select="/input/container/identity/entry//username[1]"/></username> </result> </xsl:if> </xsl:when> 5. authorization_request 処理 クライアント ID が OAuthClient01 の場合 <result> に <username> を付加 <xsl:when test="/input/container/identity/entry[@type = 'oauth']//oauthsupportedclient/client-id = 'OtherClient'"> <!-- this set information in a context variable for future processing --> <dp:set-variable name="'var://context/myoauth/logging'" value="concat('code:', $clientid, ':', /input/result/code)"/> </xsl:when> <xsl:otherwise/> </xsl:choose> </xsl:when> <xsl:otherwise/> </xsl:choose> </xsl:template> </xsl:stylesheet> 93

94 追加 OAuth 処理 authorization_request (3/3) 確認結果 ( ブラウザー ) アクセス許可要求 ( user01 で Basic 認証 ) 5. authorization_request 処理 thclient01&redirect_uri= tomerinfo&state=mytest 許可コード発行結果 許可コード応答時にユーザー名が含まれる 94

95 追加 OAuth 処理 access_request (1/3) access_request 処理のカスタマイズ サンプル アクセス トークン要求に対する応答メッセージに追加情報 ( ここでは OAuth クライアントのクライアント ID と任意の ID) を付加する 実装方法 6. access_request 処理 カスタマイズした XSLT ファイル (add-process_access-request.xsl) の作成 add-process_access-request.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl=" version="1.0" xmlns:dp=" xmlns:dpconfig=" xmlns:dpfunc=" extension-element-prefixes="dp dpfunc" exclude-result-prefixes="dp dpfunc dpconfig"> <xsl:template match="/"> <xsl:choose> <xsl:when test="/input/operation = 'access_request'"> <xsl:variable name="clientid" select="/input/container/identity/entry[@type = 'oauth']//oauthsupportedclient/client-id"/> ( 次頁へ続く ) access_request 処理の操作 95

96 追加 OAuth 処理 access_request (2/3) add-process_access-request.xsl ( 続き ) <xsl:choose> <xsl:when test="$clientid = 'OAuthClient01'"> <xsl:if test="/input/container/identity/entry//username[1]"> <result> 6. access_request 処理 クライアント ID が OAuthClient01 の場合 <result> に <username> と <id_token> を付加 <username><xsl:value-of select="/input/container/identity/entry//username[1]"/></username> <!-- this allow you to provide your own id_token support --> <id_token><xsl:value-of select="' '"/></id_token> </result> </xsl:if> </xsl:when> <xsl:when test="/input/container/identity/entry[@type = 'oauth']//oauthsupportedclient/client-id = 'OtherClient'"> <!-- this set information in a context variable for future processing --> <dp:set-variable name="'var://context/myoauth/logging'" value="concat('access_token:', $clientid, ':', /input/result/access_token)"/> </xsl:when> <xsl:otherwise/> </xsl:choose> </xsl:when> <xsl:otherwise/> </xsl:choose> </xsl:template> </xsl:stylesheet> 96

97 追加 OAuth 処理 access_request (3/3) 確認結果 (curl) 6. access_request 処理 $ curl -i -k -d "grant_type=authorization_code&code=aajjqsagj_hjqguv9cjcpzoknqb25yn09zsjhnikpviwjdfkckewv tashg2sv2elvlmmw36_akvxxxrqcfwy2jnymzr5kuqt4vhjgnz0mm2ube1xvjr7zoinxh0tm2x4psy&redirect_u ri= --user OAuthClient01:passw0rd % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent アクセス トークン発行要求 Left Speed :--:-- --:--:-- --:--: HTTP/ OK X-Backside-Transport: FAIL FAIL Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: application/json Cache-Control: private, no-store, no-cache, must-revalidate アクセス トークン発行時の応答にク Pragma: no-cache ライアントIDと任意のIDが付加される { "token_type":"bearer", "access_token":"aaent0f1dghdbgllbnqwmztlyzejquh5rafkofv7ebbztoxqqenmimxhu8h9r8ws51vkchbd3 1qCzArFJ9AzGON2DoLRUyME-kM8KNc1eu4hAwYSXzbpvpR UE1AyXCDbpUGUe1J0NK-zuSFIowEw", "expires_in":3600, "scope":"/getaccountinfo /getcustomerinfo", "refresh_token":"aahd7ghqrju51njhxjhm- _5hdPRjOPj6qzEIvvunS80hms3wZBJxuEWRug6G7QiOPps38R5N4oRmFILodKmePABOCxWdSjAO-G3Lih- WYeIwntmFAeaaiEx-3Z1lhY30CvY", "username":"oauthclient01", "id_token":" " } 97

98 追加 OAuth 処理 validate_request (1/3) validate_request 処理のカスタマイズ サンプル アクセス トークン検査要求に対する応答メッセージに追加情報 ( ここでは IDG が生成するトランザクション ID) を付加する 実装方法 7. validate_request 処理 カスタマイズした XSLT ファイル (add-process_validate-request.xsl) の作成 98

99 追加 OAuth 処理 validate_request (2/3) add-process_validate-request.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl=" version="1.0" xmlns:dp=" xmlns:dpconfig=" xmlns:dpfunc=" extension-element-prefixes="dp dpfunc" exclude-result-prefixes="dp dpfunc dpconfig"> 7. validate_request 処理 <xsl:template match="/"> validate_request 処理の操作 <xsl:choose> <xsl:when test="/input/operation = 'validate_request'"> <!-- <result> <addinfo>ddd</addinfo>... <times type='json:number'>text</times> </result> レスポンスにトランザクションIDを付加 --> <result> <uuid><xsl:value-of select="dp:generate-uuid()"/></uuid> </result> </xsl:when> <xsl:otherwise/> </xsl:choose> </xsl:template> </xsl:stylesheet> 99

100 追加 OAuth 処理 validate_request (3/3) 確認結果 (curl) 7. validate_request 処理 $ curl -i -k -d "grant_type=urn:ibm:datapower:validate&access_token=aaent0f1dghdbgllbnqwmtbksybiacsbktat6_rr1by53hdf6foccdhze8itsjrzerodpeugb5x3enpituk5qo2zeuvhhx0hyfz6mwip7od2fbm_jwbxl0qrmussq9eyhkrrd4wg9kh omm9p1ozq" --user OAuthClient01:passw0rd % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent アクセス トークン検査要求 Left Speed :--:-- --:--:-- --:--: HTTP/ OK X-Backside-Transport: FAIL FAIL Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: application/json 応答メッセージにIDGが生成するト Cache-Control: private, no-store, no-cache, must-revalidate ランザクションIDが付加される Pragma: no-cache { "valid":true, "token_type":"bearer", "client_id":"oauthclient01", "not_after":" ", "not_after_text":" t08:22:19z", "not_before":" ", "not_before_text":" t07:22:19z", "resource_owner":"user01", "scope":"/getaccountinfo /getcustomerinfo", "uuid":"39df2d82- f1f2-4d1d-887f-b25ceb27abbb" } 100

101 追加 OAuth 処理 resource_request (1/3) resource_request 処理のカスタマイズ サンプル 保護リソースへのアクセス時に以下の処理を行う IDG コンテキスト変数に情報 ( ここでは OAuth クライアント ID とリソース オーナー名 ) を格納 リクエスト ヘッダーに情報 ( ここでは クライアント ID) を付加 実装方法 8. resource_request 処理 カスタマイズした XSLT ファイル (add-process_resource-request.xsl) の作成 101

102 追加 OAuth 処理 resource_request (2/3) add-process_resource-request.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl=" version="1.0" xmlns:dp=" xmlns:dpconfig=" xmlns:dpfunc=" extension-element-prefixes="dp dpfunc" exclude-result-prefixes="dp dpfunc dpconfig"> <xsl:template match="/"> <xsl:choose> <xsl:when test="/input/operation = 'resource_request'"> <xsl:variable name="clientid" select="/input/container/identity/entry[@type = 'oauth']//oauthsupportedclient/client-id"/> <xsl:if test="$clientid = 'OAuthClient01'"> <dp:set-variable name="'var://context/myoauth/logging'" value="concat('resource:', $clientid, ':', /input/container/identity/entry//username[1])"/> <dp:set-request-header name="'forbackend'" value="$clientid"/> </xsl:if> </xsl:when> <xsl:otherwise/> </xsl:choose> </xsl:template> </xsl:stylesheet> resource_request 処理の操作 8. resource_request 処理 クライアント ID が OAuthClient01 の場合 コンテキスト変数にクライアント ID とリソース オーナー名を格納し リクエスト ヘッダーにクライアント ID を付加 102

103 追加 OAuth 処理 resource_request (3/3) 確認結果 (curl) リソース要求 curl -i -k -H "Authorization:Bearer <Access_Token>" 8. resource_request 処理 カスタマイズ処理後のリクエスト ヘッダーとコンテキスト変数 リクエスト ヘッダー コンテキスト変数 コンテキスト変数にクライアント ID とリソース オーナー名が付加される ForBackEnd ヘッダーにクライアント ID が付加される 103

104 追加 OAuth 処理 preapproved_check (1/3) preapproved_check 処理のカスタマイズ サンプル リソース オーナーに対する許可要求を事前承認し 許可フォームをバイパスする 実装方法 11. preapproved_check 処理 カスタマイズした XSLT ファイル (add-process_preapproved-check.xsl) の作成 104

105 追加 OAuth 処理 preapproved_check (2/3) add-process_preapproved-check.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl=" version="1.0" xmlns:dp=" xmlns:dpconfig=" xmlns:dpfunc=" extension-element-prefixes="dp dpfunc" exclude-result-prefixes="dp dpfunc dpconfig"> 11. preapproved_check 処理 preapproved_checkt 処理の操作 <xsl:template match="/"> <xsl:choose> <xsl:when test="/input/operation = 'preapproved_check'"> <!-- <result> <approved>yes no</approved> return an empty node will force the authorization form to be displayed </result> --> クレデンシャルが USER01 の場合 <xsl:choose> <approved> の値をyesに設定 <xsl:when test="/input/container/credentials/entry = 'USER01'"> <result><approved>yes</approved></result> </xsl:when> <xsl:when test="/input/container/credentials/entry = 'notauthenticated'"> <result><approved>no</approved></result> </xsl:when> <xsl:otherwise/> </xsl:choose> </xsl:when> <xsl:otherwise/> </xsl:choose> </xsl:template> </xsl:stylesheet> 105

106 追加 OAuth 処理 preapproved_check (3/3) 確認結果 (curl) 11. preapproved_check 処理 $ curl -i -k " &scope=/getaccountinfo%20/getcustomerinfo&state=mytest" --user user01:password -v -o test.html < 途中省略 > アクセス許可要求 (user01 で Basic 認証 ) > GET /oauth/authz?response_type=code&client_id=oauthclient01&redirect_uri= CustomerInfo&state=MyTest HTTP/1.1 > Authorization: Basic dxnlcjaxonbhc3n3b3jk > User-Agent: curl/ (x86_64-pc-win32) libcurl/ OpenSSL/0.9.8r zlib/1.2.5 > Host: :5070 > Accept: */* > :--:-- --:--:-- --:--:-- 0< HTTP/ Processed < X-Backside-Transport: FAIL FAIL < Connection: Keep-Alive < Transfer-Encoding: chunked < Location: F4z7L5Z0ms6RZeJ3iPv2OsmcjEnE8CYm-wVxorHZ7KymGDO_-QJ7SzF32L1K27Ps-Cj6CEd5D1tNdFw8&state=MyTest < Content-Type: text/xml < Cache-Control: private, no-cache, no-store, must-revalidate < { [data not shown] :--:-- --:--:-- --:--: * Connection #0 to host left intact * Closing connection #0 * SSLv3, TLS alert, Client hello (1): } [data not shown] 許可フォームによる承認をバイパスして許可コードが発行される 106

107 追加 OAuth 処理 miscinfo_request (1/3) miscinfo_request 処理のカスタマイズ サンプル アクセス トークンに含まれる情報を追加する 12. miscinfo_request 処理 実装方法 カスタマイズした XSLT ファイル (add-process_miscinfo-request.xsl) の作成 Tips: 情報は <miscinfo> タグで追加する必要がある miscinfo_requestは以下の各オペレーションで処理される dp-state az-code access-tokenの順で処理される 情報は自動的に後続処理に渡される 後続処理で情報をオーバーライド可能 operation type dp-state az-code access-token カスタマイズ内容許可フォームに追加情報を含めることが可能 許可コードに追加情報含めることが可能 アクセス トークンに追加情報を含めることが可能 107

108 追加 OAuth 処理 miscinfo_request (2/3) add-process_miscinfo-request.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl=" version="1.0" xmlns:dp=" xmlns:dpconfig=" xmlns:dpfunc=" extension-element-prefixes="dp dpfunc" exclude-result-prefixes="dp dpfunc dpconfig"> <xsl:template match="/"> <xsl:choose> <xsl:when test="/input/operation = 'miscinfo_request'"> <xsl:choose> <xsl:when test="/input/operation/@type = 'dp-state'"> <xsl:if test="/input/container/identity/entry[@type='oauth']//oauthsupportedclient/client-id = 'AddClientId'"> <result><miscinfo><xsl:value-of select="/input/container/credentials/entry//sso-sessionid"/></miscinfo></result> </xsl:if> </xsl:when> <xsl:when test="/input/operation/@type = 'az-code'"> <xsl:if test="/input/container/identity/entry[@type='oauth']//oauthsupportedclient/client-id = 'AddClientId'"> <result><miscinfo><xsl:value-of select="/input/container/identity/entry//sso-sessionid"/></miscinfo></result> </xsl:if> </xsl:when> <xsl:when test="/input/operation/@type = 'access-token'"> <xsl:if test="/input/container/identity/entry[@type='oauth']//oauthsupportedclient/client-id = 'OAuthClient01'"> <result><miscinfo> </miscinfo></result> </xsl:if> </xsl:when> <xsl:otherwise/> </xsl:choose> </xsl:when> <xsl:otherwise/> </xsl:choose> </xsl:template> </xsl:stylesheet> miscinfo_request 処理の操作 12. miscinfo_request 処理 operation type が access-token の処理時に <miscinfo> の値に追加の文字列を設定 108

109 追加 OAuth 処理 miscinfo_request (3/3) 確認結果 (curl) $ curl -i -k -d "grant_type=urn:ibm:datapower:validate&access_token=aaent0f1dghdbgllbnqwmxzabbs7uf_d1frqp foso07ob16pikeezytqy- a8gqq95077kluhiezhwl1hxki7gqk48qp8xjkryyl4yeto14ldmargndzv1vcl3lvreiu W-pRPoEqbdx30EY_- QGp9a8a5Py5gQdXZeYr-A4hQw" --user OAuthClient01:passw0rd % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent アクセス トークン検査要求 Left Speed :--:-- --:--:-- --:--: HTTP/ OK X-Backside-Transport: FAIL FAIL Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: application/json Cache-Control: private, no-store, no-cache, must-revalidate Pragma: no-cache { "valid":true, "token_type":"bearer", "client_id":"oauthclient01", "not_after":" ", "not_after_text":" t09:02:15z", "not_before":" ", "not_before_text":" t08:02:15z", "resource_owner":"user01", "scope":"/getaccountinfo /getcustomerinfo", "miscinfo": " } アクセス トークン検査要求で miscinfo が追加されていることを確認可能 12. miscinfo_request 処理 109

110 トークン失効管理 110

111 IDG におけるトークン失効方法 (1/2) 事前に IDG にてトークン失効の有効化が必要 設定方法は トークン失効管理方法により異なる ( 後述 ) OAuth クライアントまたはリソース オーナーから失効リクエスト送信が可能 OAuth クライアントから失効する場合 特定のトークンの失効が可能 OAuth クライアントのクレデンシャルが必要 curl による失効リクエスト例 アクセス トークンの失効要求 curl -k -d "grant_type=urn%3aibm%3adatapower%3aclient%3arevoke&access_token=<access_token>" --user OAuthClient01:passw0rd リフレッシュ トークンの失効要求 curl -k -d "grant_type=urn%3aibm%3adatapower%3aclient%3arevoke&refresh_token=<refresh_token>" --user OAuthClient01:passw0rd アクセス トークンおよびリフレッシュ トークンの失効要求 応答電文例 curl -k -d "grant_type=urn%3aibm%3adatapower%3aclient%3arevoke&access_token=<access_token>&refresh_t oken=<refresh_token>" --user OAuthClient01:passw0rd OK:HTTP 200 { "status":"success" } NG:HTTP 200 { "status":"failure" } 111

112 IDG におけるトークン失効方法 (2/2) OAuth クライアントまたはリソース オーナーから失効リクエスト送信が可能 ( 続き ) リソース オーナーから失効する場合 特定の OAuth クライアントの失効が可能 リソース オーナーのクレデンシャルが必要 curl による失効リクエスト例 OAuth クライアントの失効要求 応答電文例 curl -k -d "grant_type=urn%3aibm%3adatapower%3aowner%3arevoke&client_id=<oauth_client_id>" --user user01:password OK:HTTP 200 { "status":"success" } NG:HTTP 200 { "status":"failure" } 112

113 IDG におけるトークン失効管理 IDG ではトークン失効管理として以下の 2 つの方法が考えられる IDG 内部キャッシュを利用 IDG がトークン失効要求を受信した際に 内部キャッシュにてトークン失効情報を管理する IDG はリソース アクセス時に内部キャッシュを参照してトークン失効検査を実施する 外部リポジトリーを利用 推奨 IDG がトークン失効要求を受信した際に 外部リポジトリーへ失効情報を連携し 外部リポジトリーにてトークン失効情報を管理する IDG はリソース アクセス時に外部リポジトリーを参照してトークン失効検査を実施する 113

114 IDG 内部キャッシュの利用 (1/3) IDG 設定方法 OAuth クライアント プロファイルにて設定 メニューより オブジェクト > 暗号構成 > OAuth クライアント プロファイル で カスタマイズしたいプロファイルを選択表示し 拡張 タブの キャッシング にて トークン キャッシュ を選択 114

115 IDG 内部キャッシュの利用 (2/3) IDG は定期的に内部キャッシュをチェックし 期限切れエントリーを削除する 更新間隔は変更不可 OAuth キャッシュは メニューより 状況 > 暗号 > OAuth キャッシュ にて確認可能 タイプ備考更新間隔 許可フォーム状態許可コードアクセス トークン * リフレッシュ トークン 許可フォーム状態 (dpstate) のキャッシュ リソース オーナーから IDG へ許可フォーム返答後に表示される 許可コード (azcode) のキャッシュ アクセス トークン発行後に表示される アクセス トークン (access) のキャッシュ アクセス トークンを失効させた場合に表示される リフレッシュ トークン (refresh) のキャッシュ リフレッシュ トークンを使用した場合 または失効させた場合に表示される 15 分 30 分 * OAuth クライアント プロファイルの 拡張 タブ > キャッシング 設定が トークン キャッシュ の場合のみ表示されます 115

116 IDG 内部キャッシュ利用時の考慮点 OAuth キャッシュは IDG システム ( 筐体 ) 停止により消滅する ドメイン再起動では消滅しません IDG が起動した際に 有効期限内のトークンでかつ失効されているトークンは再度失効リクエストを送信する必要があります 複数台の IDG で冗長構成とする場合 各 IDG に失効リクエストを送信する必要がある そのため 以下の検討が必要 失効リクエストは誰がどのように送信するのか 例えば IDG 管理者が外部アプリケーションから IDG に対して失効リクエストを送信するなど IDG の監視方法 例えば IDG に対して定期的にヘルスチェックするなど 116

117 外部リポジトリーの利用 (1/11) 前提 トークンを管理するための外部リポジトリーが必要 ここでは サンプルとして Node.js を使用し IDG から Node.js に対して HTTP で失効要求および失効チェックを行います Node.js のサンプル コードは下記リンク先 developerworks より入手可能です &filename=code_sample.zip&method=http&locale= サンプル コードの使用方法は 上記リンク先で提供される README ファイルを参照してください 事前に Node.js および node-cache モジュールをインストールする必要があります node-cache モジュールは以下のコマンドでインストール可能です npm install node-cache 117

118 外部リポジトリーの利用 (2/11) IDG 設定方法 OAuth クライアント プロファイルにて設定 メニューより オブジェクト > 暗号構成 > OAuth クライアント プロファイル で カスタマイズしたいプロファイルを選択表示し 拡張 タブの キャッシング にて カスタム を選択 追加 OAuth 処理 にてカスタマイズした XSLT ファイル ( または GatewayScript) を選択 6. access_request 処理 9. check_revocation_request 処理 10. revoke_request 処理 XSLT ファイル ( または GatewayScript) にて revoke_request / check_revocation_request / access_request 処理の操作をカスタマイズし 外部リポジトリーに問い合わせる 118

119 外部リポジトリーの利用 (3/11) revoke_addprocess.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl=" version="1.0" xmlns:dp=" xmlns:dpconfig=" xmlns:dpfunc=" extension-element-prefixes="dp dpfunc" exclude-result-prefixes="dp dpfunc dpconfig"> 外部リポジトリーの宛先 URL を指定 <xsl:variable name="cache-server-url" select="' <xsl:template match="/"> <xsl:choose> <xsl:when test="/input/operation = 'revoke_request'"> <!-- call to store the information --> <result> <xsl:choose> <xsl:when test="/input/resource_owner and /input/client_id"> <xsl:variable name="url-query"> <xsl:value-of select="$cache-server-url"/> <xsl:text>/owner-revoke?client_id=</xsl:text> <xsl:value-of select="/input/client_id"/> <xsl:text>&resource_owner=</xsl:text> <xsl:value-of select="/input/resource_owner"/> <xsl:text>&access_token_ttl=</xsl:text> <xsl:value-of select="/input/entry/oauthsupportedclient/access-token-lifetime"/> <xsl:if test="/input/entry/oauthsupportedclient/refresh-token-lifetime"> <xsl:text>&refresh_token_ttl=</xsl:text> <xsl:value-of select="/input/entry/oauthsupportedclient/refresh-token-lifetime"/> </xsl:if> </xsl:variable> <xsl:message dp:priority="info"><xsl:value-of select="$url-query"/></xsl:message> ( 次頁へ続く ) revoke_request 処理のカスタマイズ 外部リポジトリーに対するリクエスト URL の形成 119

120 外部リポジトリーの利用 (4/11) revoke_addprocess.xsl ( 続き ) ( 次頁へ続く ) <!-- in reality, we should check for the return code to make sure the cache is actually stored --> <xsl:variable name="message-response"> <dp:url-open target="{$url-query}" response="responsecode-ignore"> </dp:url-open> </xsl:variable> <status>success</status> </xsl:when> 外部リポジトリーへアクセス <xsl:when test="/input/access_token or /input/refresh_token"> <xsl:variable name="url-query"> <xsl:value-of select="$cache-server-url"/> <xsl:text>/client-revoke?</xsl:text> <xsl:if test="/input/access_token"> <xsl:text>access_token=</xsl:text> <xsl:value-of select="/input/access_token"/> <xsl:text>&access_token_ttl=</xsl:text> <xsl:value-of select="/input/oauthsupportedclient/access-token-lifetime"/> </xsl:if> <xsl:if test="/input/refresh_token"> <xsl:if test="/input/access_token"> <xsl:text>&</xsl:text> </xsl:if> <xsl:text>refresh_token=</xsl:text> <xsl:value-of select="/input/refresh_token"/> <xsl:text>&refresh_token_ttl=</xsl:text> <xsl:value-of select="/input/oauthsupportedclient/refresh-token-lifetime"/> </xsl:if> </xsl:variable> <xsl:message dp:priority="info"><xsl:value-of select="$url-query"/></xsl:message> 120

121 外部リポジトリーの利用 (5/11) revoke_addprocess.xsl ( 続き ) <!-- in reality, we should check for the return code to make sure the cache is actually stored --> <xsl:variable name="message-response"> <dp:url-open target="{$url-query}" response="responsecode-ignore"> </dp:url-open> </xsl:variable> <status>success</status> </xsl:when> <xsl:otherwise> <status>failure</status> <error>invalid_request</error> <error_description>not enough info for operation</error_description> </xsl:otherwise> </xsl:choose> </result> </xsl:when> <!-- End of revoke-request --> access_request 処理のカスタマイズ <xsl:when test="/input/operation = 'access_request'"> <xsl:choose> <xsl:when test="/input/container/identity/entry[@type='oauth']/oauth-id[@type='access_request']/grant_type = 'refresh_token'"> <!-- record the refresh token as revoked --> <xsl:variable name="url-query"> <xsl:value-of select="$cache-server-url"/> <xsl:text>/client-revoke?</xsl:text> <xsl:text>refresh_token=</xsl:text> <xsl:value-of select="/input/container/identity/entry[@type='oauth']/oauthid[@type='access_request']/refresh_token"/> <xsl:text>&refresh_token_ttl=</xsl:text> <xsl:value-of select="/input/container//oauthsupportedclient/refresh-token-lifetime"/> </xsl:variable> ( 次頁へ続く ) 121

122 外部リポジトリーの利用 (6/11) revoke_addprocess.xsl ( 続き ) <xsl:message dp:priority="info"><xsl:value-of select="$url-query"/></xsl:message> <!-- in reality, we should check for the return code to make sure the cache is actually stored --> <xsl:variable name="message-response"> <dp:url-open target="{$url-query}" response="responsecode-ignore"> </dp:url-open> </xsl:variable> </xsl:when> <xsl:when test="/input/container/identity/entry[@type='oauth']/oauth-id[@type='access_request']/grant_type = 'authorization_code'"> <!-- record the refresh token as revoked --> <xsl:variable name="url-query"> <xsl:value-of select="$cache-server-url"/> <xsl:text>/client-revoke?</xsl:text> <xsl:text>az_code=</xsl:text> <xsl:value-of select="/input/container/identity/entry[@type='oauth']/oauth-id[@type='access_request']/code"/> <xsl:text>&az_code_ttl=</xsl:text> <xsl:value-of select="/input/container//oauthsupportedclient/au-code-lifetime"/> </xsl:variable> <xsl:message dp:priority="info"><xsl:value-of select="$url-query"/></xsl:message> <!-- in reality, we should check for the return code to make sure the cache is actually stored --> <xsl:variable name="message-response"> <dp:url-open target="{$url-query}" response="responsecode-ignore"> </dp:url-open> </xsl:variable> </xsl:when> </xsl:choose> </xsl:when> <!-- End of access_request --> ( 次頁へ続く ) 122

123 外部リポジトリーの利用 (7/11) revoke_addprocess.xsl ( 続き ) <xsl:when test="/input/operation = 'check_revocation_request'"> <xsl:variable name="url-query"> <xsl:value-of select="$cache-server-url"/> <xsl:text>/check-revoke?client_id=</xsl:text> <xsl:value-of select="/input/verified-token/client_id"/> <xsl:text>&resource_owner=</xsl:text> <xsl:value-of select="/input/verified-token/resource_owner"/> <xsl:text>&token_type=</xsl:text> <xsl:value-of select="/input/operation/@token-type"/> <xsl:text>&token=</xsl:text> <xsl:value-of select="/input/token"/> <!-- in theory, user has the created date of the token, and they can write more complex logic to only revoke those access created before resource owner revoke the client --> </xsl:variable> <xsl:message dp:priority="info"><xsl:value-of select="$url-query"/></xsl:message> <!-- in reality, we should check for the return code to make sure the cache is actually stored --> <xsl:variable name="message-response"> <dp:url-open target="{$url-query}" response="responsecode-ignore"> </dp:url-open> </xsl:variable> <xsl:if test="$message-response/url-open/headers/header[@name='x-dp-revoked'] = 'true'"> <result><revoked>revoked by checking external storage</revoked></result> </xsl:if> </xsl:when> <!-- End of check_revocation_request --> <xsl:when test="/input/operation = 'preapproved_check'"> <result><approved>yes</approved></result> </xsl:when> </xsl:choose> </xsl:template> </xsl:stylesheet> check_revocation_request 処理のカスタマイズ 123

124 外部リポジトリーの利用 (8/11) 確認結果 curl アクセス トークン発行 $ curl -i -k -d "grant_type=authorization_code&code=aaizi878lono9aec1x- qpffwpmsojdsc_ud4- gwizls2h4mxwzaptchy_weze48v80jjlgb_jqmazdp2hv6a1iga8qymanttf1cxpr 6Abag2_AwBNGK6sSDzci9GgCzqb2A&redirect_uri= -- user OAuthClient01:passw0rd HTTP/ OK X-Backside-Transport: FAIL FAIL Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: application/json Cache-Control: private, no-store, no-cache, must-revalidate Pragma: no-cache { "token_type":"bearer", "access_token":"aaent0f1dghdbgllbnqwmcqe_hpxfxepnp8gvk8vtj23suwut xdavsnvmftbvpk5thrla6rolxsb7dc_or4ubhccqh7bkzpfrbnlaeupowsrr0l5fn wkdv6dderaj30ul87yolg_sfdgbaznrb7gdg", "expires_in":3600, "scope":"/getaccountinfo /getcustomerinfo", "refresh_token":"aafbzncgphbyu_y4zqq3tj_ofaryv9h_ahjhlmx_zgvggki1 zqne3fjwxm5yhtdsre0ghg8eb98qqvuhr8swsqkgc8_wt5yimdorlpui6pa9ibum6 ZXrq-pn9oR1nUEf_Us" } アクセス トークン発行時に 外部リポジトリーに対してアクセス トークンの失効チェックを行う 外部リポジトリー (Node.js) >node --harmony cache-svr.js cache server running on,, port receive request, /checkrevoke?client_id=oauthclient01&resource_owner=u SER01&tok en_type=az-code&token=aaizi878lono9aec1xqpffwpmsojdsc_ud4-gwizls2h4mxwzaptchy_w EzE48V80jjLgB_JqMAZdp2HV6a1iga8QyMAnttf1cXpR6Ab ag2_awbngk6ssdzci9ggczqb2a, at Th u Mar :10:28 GMT+0900 ( 東京 ( 標準時 )) check revocation not revoked receive request, /clientrevoke?az_code=aaizi878lono9aec1xqpffwpmsojdsc_ud4-gwi ZLs2H4MxwZAPtcHy_WEzE48V80jjLgB_JqMAZdp2HV6a1ig a8qymanttf1cxpr6abag2_awbngk6ssdz ci9ggczqb2a&az_code_ttl=300, at Thu Mar :10:28 GMT+0900 ( 東京 ( 標準時 ) ) cache client revoke info for at undefined and rt undefined 124

125 外部リポジトリーの利用 (9/11) 確認結果 ( 続き ) curl アクセス トークン失効 $ curl -i -k -d "grant_type=urn:ibm:datapower:client:revoke&access_token=aaent0f1 dghdbgllbnqwmcqe_hpxfxepnp8gvk8vtj23suwutxdavsnvmftbvpk5thrla6rol xsb7dc_or4ubhccqh7bkzpfrbnlaeupowsrr0l5fnwkdv6dderaj30ul87yolg_sf DGBAzNRb7gdg" --user OAuthClient01:passw0rd HTTP/ OK X-Backside-Transport: FAIL FAIL Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: application/json Cache-Control: private, no-store, no-cache, must-revalidate Pragma: no-cache { "status":"success" } 外部リポジトリー (Node.js) receive request, /clientrevoke?access_token=aaent0f1dghdbgllbnqwmcqe_hp xfxepnp8 gvk8vtj23suwutxdavsnvmftbvpk5thrla6rolxsb7dc_or 4UbhccQh7BKzPFrbNlaEuPOwSrr0l5fnw kdv6dderaj30ul87yolg_sfdgbaznrb7gdg&access_toke n_ttl=3600, at Thu Mar :12:29 GMT+0900 ( 東京 ( 標準時 )) cache client revoke info for at AAENT0F1dGhDbGllbnQwMcQE_HPxFxePnP8gVK8vtj23SUw u TxdavsNvMFTbvPK5tHRla6ROlxsb7dC_oR4UbhccQh7BKzP FrbNlaEuPOwSrr0l5fnwkdv6DderAJ30U l87yolg_sfdgbaznrb7gdg and rt undefined IDG はアクセス トークン失効要求を受けて 外部リポジトリーに失効情報を連携 125

126 外部リポジトリーの利用 (10/11) 確認結果 ( 続き ) curl アクセス トークン検査 $ curl -i -k -d "grant_type=urn:ibm:datapower:validate&access_token=aaent0f1dghdb GllbnQwMcQE_HPxFxePnP8gVK8vtj23SUwuTxdavsNvMFTbvPK5tHRla6ROlxsb7d C_oR4UbhccQh7BKzPFrbNlaEuPOwSrr0l5fnwkdv6DderAJ30Ul87YOlG_sFDGBAz NRb7gdg" --user OAuthClient01:passw0rd HTTP/ OK X-Backside-Transport: FAIL FAIL Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: application/json Cache-Control: private, no-store, no-cache, must-revalidate Pragma: no-cache { "valid":false } 外部リポジトリー (Node.js) receive request, /checkrevoke?client_id=oauthclient01&resource_owner=u SER01&tok en_type=access_token&token=aaent0f1dghdbgllbnqw McQE_HPxFxePnP8gVK8vtj23SUwuTxdav snvmftbvpk5thrla6rolxsb7dc_or4ubhccqh7bkzpfrbnl aeupowsrr0l5fnwkdv6dderaj30ul87yo lg_sfdgbaznrb7gdg, at Thu Mar :13:41 GMT+0900 ( 東京 ( 標準時 )) check revocation revoked by client IDG はアクセス トークン検査要求を受けて 外部リポジトリーに失効情報を確認 126

127 外部リポジトリーの利用 (11/11) 127 確認結果 ( 続き ) curl 失効させたアクセス トークンによるリソース アクセス $ curl -i -k -H "Authorization:Bearer AAENT0F1dGhDbGllbnQwMcQE_HPxFxePnP8gVK8vtj23SUwuTxdavsNvMFTbvPK5t HRla6ROlxsb7dC_oR4UbhccQh7BKzPFrbNlaEuPOwSrr0l5fnwkdv6DderAJ30Ul8 7YOlG_sFDGBAzNRb7gdg" HTTP/ Error Content-Type: text/html X-Backside-Transport: FAIL FAIL Connection: close <!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.0 Transitional//EN"> <!-- Licensed Materials - Property of IBM IBM WebSphere DataPower Appliances Copyright IBM Corporation All Rights Reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. --> <html> <title>connectivity Error</title> <body> <h1>web Application Gateway Error</h1><P/> <h2><font color="red">gateway detected an error during processing of service request.</font></h2><p/> <h2>please contact the service administrator.</h2> </body> </html> 外部リポジトリー (Node.js) receive request, /checkrevoke?client_id=oauthclient01&resource_owner=u SER01&tok en_type=access_token&token=aaent0f1dghdbgllbnqw McQE_HPxFxePnP8gVK8vtj23SUwuTxdav snvmftbvpk5thrla6rolxsb7dc_or4ubhccqh7bkzpfrbnl aeupowsrr0l5fnwkdv6dderaj30ul87yo lg_sfdgbaznrb7gdg, at Thu Mar :14:45 GMT+0900 ( 東京 ( 標準時 )) check revocation revoked by client IDG はリソース アクセス時に外部リポジトリーに対して失効チェックを行う

128 外部リポジトリー利用時の考慮点 外部リポジトリー側で以下の検討が必要 データベースの性能 ( トークンのレコード件数 パフォーマンスなど ) 冗長化 128

129 参考資料 IBM developerworks Implementing OAuth on IBM WebSphere DataPower Appliances 08_rasmussen/1208_rasmussen.html Knowledge Center IBM DataPower Gateway dp.doc/welcome.html IETF RFC 6749:The OAuth 2.0 Authorization Framework 225&cm_mc_sid_ =

130 Copyright IBM Corporation All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. 130

はじめに インフォマート API の呼び出しには OAuth2.0 による認証を受ける必要があります OAuth2.0 を使うことで インフォマート API を利用するサービスは インフォマートプラットフォーム ID( 1 以下 PFID) とパスワードを保存したり処理したりすることなく PFID

はじめに インフォマート API の呼び出しには OAuth2.0 による認証を受ける必要があります OAuth2.0 を使うことで インフォマート API を利用するサービスは インフォマートプラットフォーム ID( 1 以下 PFID) とパスワードを保存したり処理したりすることなく PFID インフォマート API 利用における OAuth2.0 認証手順 作成日 2017 年 6 月 14 日 更新日 2017 年 9 月 27 日 株式会社インフォマート 1 はじめに インフォマート API の呼び出しには OAuth2.0 による認証を受ける必要があります OAuth2.0 を使うことで インフォマート API を利用するサービスは インフォマートプラットフォーム ID( 1 以下

More information

OSSTechプレゼンテーション

OSSTechプレゼンテーション Copyright 2012 Open Source Solution Technology, Corp. 1 OAuth 入門 2012 年 4 月 24 日辻口鷹耶 オープンソース ソリューション テクノロジ株式会社 http://www.osstech.co.jp/ Copyright 2012 Open Source Solution Technology, Corp. 2 目次 OAuth

More information

目次 第 1 章はじめに 本ガイドの位置付け 認証から API 呼び出しまでの流れ 関連ガイド 4 第 2 章 API の利用準備 5 第 3 章 OAuth 2.0 認証と API 呼び出し OAuth 2.0 認証の概要 アプリケーショ

目次 第 1 章はじめに 本ガイドの位置付け 認証から API 呼び出しまでの流れ 関連ガイド 4 第 2 章 API の利用準備 5 第 3 章 OAuth 2.0 認証と API 呼び出し OAuth 2.0 認証の概要 アプリケーショ データ利活用基盤サービス (FIWARE) アプリケーション開発ガイド 認証認可編 第 1.2 版 2018 年 3 月 加古川市企画部情報政策課 目次 第 1 章はじめに 2 1.1 本ガイドの位置付け 2 1.2 認証から API 呼び出しまでの流れ 3 1.3 関連ガイド 4 第 2 章 API の利用準備 5 第 3 章 OAuth 2.0 認証と API 呼び出し 6 3.1 OAuth

More information

intra-mart Accel Platform — OAuth認証モジュール 仕様書   初版  

intra-mart Accel Platform — OAuth認証モジュール 仕様書   初版   Copyright 2014 NTT DATA INTRAMART CORPORATION 1 Top 目次 intra-mart Accel Platform OAuth 認証モジュール仕様書初版 2014-12-01 改訂情報はじめに本書の目的対象読者本書の構成概要 OAuthとは intra-mart Accel Platform で提供している認証フロー認可コードによる認可インプリシットグラントアクセストークンの更新

More information

IoT 共通プラットフォーム実証環境 アプリケーション開発ガイド 認証認可編 第 1.3 版 2019 年 4 月 高松市 i

IoT 共通プラットフォーム実証環境 アプリケーション開発ガイド 認証認可編 第 1.3 版 2019 年 4 月 高松市 i IoT 共通プラットフォーム実証環境 アプリケーション開発ガイド 認証認可編 第 1.3 版 2019 年 4 月 高松市 i 目次 第 1 章はじめに 3 1.1 本ガイドの位置付け 3 1.2 認証から API 呼び出しまでの流れ 4 1.3 関連ガイド 5 第 2 章 API の利用準備 6 7 3.1 OAuth 2.0 認証の概要 7 3.2 アプリケーションの実装 11 3.2.1 OAuth

More information

¥Í¥Ã¥È¥ï¡¼¥¯¥×¥í¥°¥é¥ß¥ó¥°ÆÃÏÀ

¥Í¥Ã¥È¥ï¡¼¥¯¥×¥í¥°¥é¥ß¥ó¥°ÆÃÏÀ 2 : TCP/IP : HTTP HTTP/2 1 / 22 httpget.txt: http.rb: ruby http get Java http ( ) HttpURLConnection 2 / 22 wireshark httpget.txt httpget cookie.txt ( ) telnet telnet localhost 80 GET /index.html HTTP/1.1

More information

intra-mart Accel Platform

intra-mart Accel Platform 目次目次 Copyright 2014 NTT DATA INTRAMART CORPORATION クイック検索検索 1 Top 目次 改訂情報はじめに本書の目的対象読者本書の構成概要 OAuthとは で提供している認証フロー認可コードによる認可インプリシットグラントアクセストークンの更新 で提供しているエンドポイントアクセストークンの有効期限と更新方法アクセストークンの有効期限の設定方法 2 改訂情報

More information

IBM API Connect 開発者ポータル構成ガイド 1章

IBM API Connect 開発者ポータル構成ガイド 1章 IBM API Connect 開発者ポータル構成ガイド 1. 開発者ポータルの一般的な構成 2016/10/01 日本アイ ビー エム株式会社 はじめに 当資料の位置づけ 当資料は API Connect の開発者ポータルの主要なカスタマイズ方法についてまとめたものです V5.0.1 を前提としています 注意事項 当資料に含まれる情報は可能な限り正確を期しておりますが 当資料に記載された内容に関して何ら保証するものではありません

More information

Cisco CSS HTTP キープアライブと ColdFusion サーバの連携

Cisco CSS HTTP キープアライブと ColdFusion サーバの連携 Cisco CSS 11000 HTTP キープアライブと ColdFusion サーバの連携 目次 概要 HTTP ヘッダーについて HTTP HEAD メソッドと HTTP GET メソッドの違いについて ColdFusion サーバの HTTP キープアライブへの応答方法 CSS 11000 で認識される HTTP キープアライブ応答もう 1 つのキープアライブ URI と ColdFusion

More information

自己紹介 氏縄武尊 (Ujinawa Takeru) Work 株式会社オージス総研テミストラクトソリューション部 4 年目認証 認可 ID 管理 PKI OpenID Foundation Japan EIWGメンバー Favorite Spec: OpenID Connect, OAuth2.0

自己紹介 氏縄武尊 (Ujinawa Takeru) Work 株式会社オージス総研テミストラクトソリューション部 4 年目認証 認可 ID 管理 PKI OpenID Foundation Japan EIWGメンバー Favorite Spec: OpenID Connect, OAuth2.0 モバイル オープン API を活用するための 認証基盤の実装例 株式会社オージス総研 テミストラクトソリューション部 氏縄 武尊 2017 OGIS-RI Co., Ltd. 自己紹介 氏縄武尊 (Ujinawa Takeru) Work 株式会社オージス総研テミストラクトソリューション部 4 年目認証 認可 ID 管理 PKI OpenID Foundation Japan EIWGメンバー Favorite

More information

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ)

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ) CHAPTER 2 アプリケーションインスペクションの特別なアクション ( インスペクションポリシーマップ ) モジュラポリシーフレームワークでは 多くのアプリケーションインスペクションで実行される特別なアクションを設定できます サービスポリシーでインスペクションエンジンをイネーブルにする場合は インスペクションポリシーマップで定義されるアクションを必要に応じてイネーブルにすることもできます インスペクションポリシーマップが

More information

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spark API との通信 このラーニングモジュールでは Python を使用した Spark API とのインターフェイスを扱います

More information

XMLとXSLT

XMLとXSLT XML と XSLT 棚橋沙弥香 目次 現場のシステム構成とXML/XSLの位置づけ XMLとは XSL/XSLTとは Xalanのインストール いろいろなXSL XMLマスター試験の紹介 現場のシステム構成 HTML 画面上のデータ 電文 電文 外部 WEB サーバー (Java) CORBA 通信 認証サーバー (C 言語 ) DB XML 電文 HTML XSL XSLT 変換今回の説明範囲

More information

Active Directory フェデレーションサービスとの認証連携

Active Directory フェデレーションサービスとの認証連携 Active Directory フェデレーションサービス との認証連携 サイボウズ株式会社 第 1 版 目次 1 はじめに...2 2 システム構成...2 3 事前準備...3 4 AD のセットアップ...4 5 AD FS のセットアップ...4 5.1 AD FS のインストール...4 5.2 AD FS で必要となる証明書の作成...5 5.3 フェデレーションサーバーの構成...7

More information

Microsoft Word - アクセストークン取得API仕様書(AS)_ver1.docx

Microsoft Word - アクセストークン取得API仕様書(AS)_ver1.docx バリューコマース ウェブサービス トークン取得 API リファレンス ( アフィリエイトサイト向け ) 第 1 版 概要 アフィリエイトサイト向け認証下 API にアクセスするために必要なトークンを提供するリクエストに ついての仕様書です トークン発 リクエストを うためには 事前に管理画 設定 > レポート API 認証キーの取得 画 にて API 認証キーを発 している必要があります 有効期限

More information

OSSTechドキュメント

OSSTechドキュメント OpenAM OAuth 認証モジュール 設定手順書 オープンソース ソリューション テクノロジ ( 株 ) 作成者 : 辻口鷹耶 作成日 : 2012 年 4 月 24 日 リビジョン : 1.0 目次 1. はじめに 1 1.1 OpenAM の対象バージョン...1 1.2 対象 OAuth プロバイダ...1 2. 要旨 2 2.1 OAuth 認証モジュールの概要...2 2.2 設定手順...2

More information

第 7 回の内容 動的な Web サイト フォーム Web システムの構成

第 7 回の内容 動的な Web サイト フォーム Web システムの構成 第 7 回の内容 動的な Web サイト フォーム Web システムの構成 動的な Web サイト 静的なリソース ファイルシステムのパス / URI のパス a 公開ディレクトリ / b b GET /b HTTP/1.1 c c e d /a/b を送り返す d e 静的なリソース ファイルシステムのパス / / URI のパス f b c e GET /g/e HTTP/1.1 d /f/e

More information

intra-mart Accel Platform — OAuth プログラミングガイド   初版  

intra-mart Accel Platform — OAuth プログラミングガイド   初版   Copyright 2014 NTT DATA INTRAMART CORPORATION 1 Top 目次 改訂情報はじめに本書の目的対象読者本書の構成 intra-mart Accel Platform 上のリソースの提供方法 ( Java ) ステップ1: 提供するリソースのスコープ ( アクセス範囲 ) を設定する ステップ2: リソースを提供するURLを設定する ステップ3: リソースを提供するアプリケーションを設定する

More information

VPN 接続の設定

VPN 接続の設定 VPN 接続の設定 AnyConnect 設定の概要, 1 ページ AnyConnect 接続エントリについて, 2 ページ ハイパーリンクによる接続エントリの追加, 2 ページ 手動での接続エントリの追加, 3 ページ ユーザ証明書について, 4 ページ ハイパーリンクによる証明書のインポート, 5 ページ 手動での証明書のインポート, 5 ページ セキュアゲートウェイから提供される証明書のインポート,

More information

Microsoft Word - Win-Outlook.docx

Microsoft Word - Win-Outlook.docx Microsoft Office Outlook での設定方法 (IMAP および POP 編 ) How to set up with Microsoft Office Outlook (IMAP and POP) 0. 事前に https://office365.iii.kyushu-u.ac.jp/login からサインインし 以下の手順で自分の基本アドレスをメモしておいてください Sign

More information

SpringSecurity

SpringSecurity Spring Security 1/40 OUTLINE Spring Security Spring Securityを使った認証の仕組み Spring Securityを使った独自認証 認証エラーメッセージの変更 2/40 Spring Security 3/40 Spring Security とは アプリケーションのセキュリティを高めるためのフレームワーク 認証 認可機能 その他 多数のセキュリティ関連の機能を持つ

More information

はじめに 本ドキュメントでは Salesforce 標準機能である 変更セット を使用して Visualforce ページ Apex クラスを Sandbox から本番環境に移行する手順を説明します 但し前提条件として Sandbox 本番環境共に SkyVisualEditor がインストールされ

はじめに 本ドキュメントでは Salesforce 標準機能である 変更セット を使用して Visualforce ページ Apex クラスを Sandbox から本番環境に移行する手順を説明します 但し前提条件として Sandbox 本番環境共に SkyVisualEditor がインストールされ Sandbox から本番環境への移行手順 - Visualforce page Apex Class のデプロイ - Ver 2.1.0 2017 年 6 月 21 日 株式会社テラスカイ 1 / 15 はじめに 本ドキュメントでは Salesforce 標準機能である 変更セット を使用して Visualforce ページ Apex クラスを Sandbox から本番環境に移行する手順を説明します

More information

XSLT 4-1

XSLT 4-1 XSLT 4-1 XSLT XML XML HTML XSLT 1.0 (W3C ) http://www.w3.org/tr/xslt http://www.zvon.org/xxl/xsltreference/output/ ( ) XML 4-2 XSLT XML

More information

R80.10_FireWall_Config_Guide_Rev1

R80.10_FireWall_Config_Guide_Rev1 R80.10 ファイアウォール設定ガイド 1 はじめに 本ガイドでは基本的な FireWall ポリシーを作成することを目的とします 基本的な Security Management Security Gateway はすでにセットアップ済みであることを想定しています 分散構成セットアップ ガイド スタンドアロン構成セットアップ ガイド等を参照してください [Protected] Distribution

More information

R76/Gaia ブリッジ構成設定ガイド

R76/Gaia ブリッジ構成設定ガイド R76/GAiA ブリッジ構成設定ガイド ( スタンドアロン構成 ) Last updated Aug 16, 2013 Ver 1.0 はじめに 本章の手順は 以下の項目が満たされている事を前提条件としています 事前に GAiA R76 のインストールが完了していること 管理コンソールに SmartConsole がインストールされていること 対象となるアプライアンス機器は Model 2200

More information

Mobile Access簡易設定ガイド

Mobile Access簡易設定ガイド Mobile Access Software Blade 設定ガイド チェック ポイント ソフトウェア テクノロジーズ ( 株 ) アジェンダ 1 SSL VPN ポータルの設定 2 3 4 Web アプリケーションの追加 Check Point Mobile for iphone/android の設定 Check Point Mobile for iphone/android の利用 2 変更履歴

More information

スライド 1

スライド 1 XML with SQLServer ~let's take fun when you can do it~ Presented by 夏椰 ( 今川美保 ) Agenda( その 1) XML XML XSLT XPath XML Schema XQuery Agenda( その 2) SQLServer における XML XML 型 XML Schema XQuery & XPath チェック制約

More information

Microsoft Word - 注文ステータス変更API仕様書(EC)_ver1.docx

Microsoft Word - 注文ステータス変更API仕様書(EC)_ver1.docx バリューコマース ウェブサービス 注 ステータス変更 API リファレンス ( 広告主向け ) 第 1 版 概要 広告主向け管理画 で提供している注 ステータス変更機能と同等の情報を提供する API についての 仕様書です この API をリクエストするためには 事前に 広告主向けトークン取得 API にリクエ ストを い 有効なトークンを取得している必要があります ステータス変更に関するリクエストが反映されるまで

More information

更新用証明書インポートツール 操作マニュアル 2011 年 10 月 31 日 セコムトラストシステムズ株式会社 Copyright 2011 SECOM Trust Systems CO.,LTD. All rights reserved. P-1

更新用証明書インポートツール 操作マニュアル 2011 年 10 月 31 日 セコムトラストシステムズ株式会社 Copyright 2011 SECOM Trust Systems CO.,LTD. All rights reserved. P-1 更新用証明書インポートツール 操作マニュアル 20 年 0 月 3 日 セコムトラストシステムズ株式会社 P- 改版履歴 版数 日付 内容 担当 V..00 200/2/27 初版発行 STS V..0 20/0/3 動作条件 ( オペレーティングシステム ブラウザ ) 追加確認ページの手順追加 STS P-2 目次. はじめに... 4 2. 証明書のインポート手順... 5 2.. 契約者番号

More information

ITdumpsFree Get free valid exam dumps and pass your exam test with confidence

ITdumpsFree   Get free valid exam dumps and pass your exam test with confidence ITdumpsFree http://www.itdumpsfree.com Get free valid exam dumps and pass your exam test with confidence Exam : C9530-001J Title : IBM Integration Bus v10.0, Solution Development Vendor : IBM Version :

More information

9 WEB監視

9  WEB監視 2018/10/31 02:15 1/8 9 WEB 監視 9 WEB 監視 9.1 目標 Zabbix ウェブ監視は以下を目標に開発されています : ウェブアプリケーションのパフォーマンスの監視 ウェブアプリケーションの可用性の監視 HTTPとHTTPSのサポート 複数ステップで構成される複雑なシナリオ (HTTP 要求 ) のサポート 2010/08/08 08:16 Kumi 9.2 概要 Zabbix

More information

IBM API Connect 開発者ポータル構成ガイド 4章

IBM API Connect 開発者ポータル構成ガイド 4章 IBM API Connect 開発者ポータル構成ガイド 4. 開発者ポータルのセキュリティーの管理 2016/10/01 日本アイ ビー エム株式会社 はじめに 当資料の位置づけ 当資料は API Connect の開発者ポータルの主要なカスタマイズ方法についてまとめたものです V5.0.1 を前提としています 注意事項 当資料に含まれる情報は可能な限り正確を期しておりますが 当資料に記載された内容に関して何ら保証するものではありません

More information

索引

索引 INDEX Numerics 802.1x 2-2 A Account Locked 3-4 Account Never Expires 3-4 ACE 追加 7-27 ACL デフォルト 7-49 ACS インストール 4-6, 7-2 ACS ディクショナリ ~にベンダーアトリビュートを追加する 7-37 ACS 内部データベース MAC アドレスの確認に使用する方法 4-24 ACS の設定概要

More information

リモートアクセス Smart Device VPN ユーザマニュアル [ マネージドイントラネット Smart Device VPN 利用者さま向け ] 2015 年 10 月 20 日 Version 1.6 bit- drive Version 1.6 リモートアクセス S

リモートアクセス Smart Device VPN ユーザマニュアル [ マネージドイントラネット Smart Device VPN 利用者さま向け ] 2015 年 10 月 20 日 Version 1.6 bit- drive Version 1.6 リモートアクセス S リモートアクセス Smart Device VPN [ マネージドイントラネット Smart Device VPN 利用者さま向け ] 2015 年 10 月 20 日 Version 1.6 bit- drive 1/83 目次 1 はじめに 3 1-1 本マニュアルの目的... 3 1-2 注意事項... 3 1-3 ご利用のイメージ... 4 2 の設定フロー概略 5 3 スマートフォン (Android4.4)

More information

PowerPoint Presentation

PowerPoint Presentation Amazon WorkSpaces Active Directory 証明書サービス (ADCS) を用いたデバイス認証構成 アマゾンウェブサービスジャパン株式会社 2017 / 11 / 10 Agenda 1. Amazon WorkSpaces のデバイス認証の仕組み 2. 環境構成概要 Amazon WorkSpaces デバイス認証の仕組み 3 WorkSpaces のエンドポイントへアクセス

More information

KDDI Smart Mobile Safety Manager Mac OS キッティングマニュアル 最終更新日 2019 年 4 月 25 日 Document ver1.1 (Web サイト ver.9.6.0)

KDDI Smart Mobile Safety Manager Mac OS キッティングマニュアル 最終更新日 2019 年 4 月 25 日 Document ver1.1 (Web サイト ver.9.6.0) KDDI Smart Mobile Safety Manager Mac OS キッティングマニュアル 最終更新日 2019 年 4 月 25 日 Document ver1.1 (Web サイト ver.9.6.0) 変更履歴 日付 ver 変更箇所変更内容 2018/12/13 1.0 新規作成 2 はじめに 本マニュアルの目的 本マニュアルは Mac OS 端末のキッティング操作について説明しています

More information

Oracle SOA Suite Enterprise Service Bus

Oracle SOA Suite Enterprise Service Bus Oracle SOA Suite Enterprise Service Bus Oracle 統合製品管理 Oracle ESB ヘッダーのサポート Slide 2 ユース ケース ESB ヘッダーのサポート ファイル JMS AQ MQ B2B アプリケーション ヘッダー変換 XSL 変換を使用 XSL 変数 新しい XPath の Get/Set Header 関数 最小の GUI サポート ヘッダー

More information

LEAP を使用して Cisco ワイヤレス クライアントを認証するための Funk RADIUS の設定

LEAP を使用して Cisco ワイヤレス クライアントを認証するための Funk RADIUS の設定 LEAP を使用して Cisco ワイヤレスクライアントを認証するための Funk RADIUS の設定 目次 概要前提条件要件使用するコンポーネント表記法設定アクセスポイントまたはブリッジの設定 Funk ソフトウェアの Inc. Product 設定 Steel-Belted Radius Steel-Belted Radius のユーザの作成関連情報 概要 このドキュメントでは 340 および

More information

証明書インポート用Webページ

証明書インポート用Webページ 証明書インポート用 Web ページ 操作マニュアル (Windows Vista/7) 20 年 2 月 日 セコムトラストシステムズ株式会社 P- 改版履歴 版数日付内容担当 V..00 20/2/ 初版発行 STS P-2 目次. はじめに...4 2. 証明書のインポート手順...5 2.. 証明書インポート手続のご案内 電子メール受信... 5 2.2. Webブラウザの事前設定... 6

More information

内容 ( 演習 1) 脆弱性の原理解説 基礎知識 脆弱性の発見方法 演習 1: 意図しない命令の実行 演習解説 2

内容 ( 演習 1) 脆弱性の原理解説 基礎知識 脆弱性の発見方法 演習 1: 意図しない命令の実行 演習解説 2 AppGoat を利用した集合教育補助資料 - クロスサイトリクエストフォージェリ編 - 独立行政法人情報処理推進機構 (IPA) 技術本部セキュリティセンター 内容 ( 演習 1) 脆弱性の原理解説 基礎知識 脆弱性の発見方法 演習 1: 意図しない命令の実行 演習解説 2 クロスサイト リクエスト フォージェリ (CSRF) とは? CSRF(Cross Site Request Forgeries)=

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション Room D Azure Active Directory によるクラウドアプリ連携編 ~ Password Windows Intune Password Windows Intune デスクトップ PC(Windows) に対するガバナンス Azure Active Directory World SaaS Windows Server Active Directory World 業務データ

More information

クライアント証明書導入マニュアル

クライアント証明書導入マニュアル クライアント証明書導入マニュアル Windows10 用 第 1.1 版 2018 年 12 月 13 日 改訂履歴 版改訂日区分改訂箇所改訂内容 1.0 2016/01/08 新規 新規作成 1.1 2018/12/13 修正 画面デザイン変更に伴う修正 2 目次 1. はじめに... 4 2. Internet Explorer のセキュリティ設定について... 5 3. Internet Explorer

More information

本資料について 本資料は LOT-440: IBM WebSphere Portal and Portal Products Fundamentals を前提とした 技術者向けの学習資料です 本資料をヒントに次ページ情報源の情報を学習いただき 試験に臨んでください 2

本資料について 本資料は LOT-440: IBM WebSphere Portal and Portal Products Fundamentals を前提とした 技術者向けの学習資料です 本資料をヒントに次ページ情報源の情報を学習いただき 試験に臨んでください 2 IBM WebSphere Portal and Portal Products Fundamentals ICS 認定試験事前学習資料 IBM WebSphere Portal IBM Web Content Manager IBM Web Experience Factory IBM Forms 1 本資料について 本資料は LOT-440: IBM WebSphere Portal and Portal

More information

今後の認証基盤で必要となる 関連技術の動向 株式会社オージス総研テミストラクトソリューション部八幡孝 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved.

今後の認証基盤で必要となる 関連技術の動向 株式会社オージス総研テミストラクトソリューション部八幡孝 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 今後の認証基盤で必要となる 関連技術の動向 株式会社オージス総研テミストラクトソリューション部八幡孝 統合認証ソリューション ThemiStruct ThemiStruct-WAM シングルサインオン認証基盤ソリューション ThemiStruct-IDM ID 管理ソリューション ThemiStruct-CM 電子証明書発行 管理ソリューション ワンタイムパスワードソリューション ThemiStruct-OTP

More information

Blue Asterisk template

Blue Asterisk template IBM Content Analyzer V8.4.2 TEXT MINER の新機能 大和ソフトウェア開発 2008 IBM Corporation 目次 UI カスタマイズ機能 検索条件の共有 柔軟な検索条件の設定 2 UI カスタマイズ機能 アプリケーションをカスタマイズするために Java Script ファイルおよびカスケーディングスタイルシート (CSS) ファイルの読み込み機能が提供されています

More information

KDDI Smart Mobile Safety Manager ios キッティングマニュアル 最終更新日 2018 年 12 月 13 日 Document ver1.0 (Web サイト ver.9.5.0)

KDDI Smart Mobile Safety Manager ios キッティングマニュアル 最終更新日 2018 年 12 月 13 日 Document ver1.0 (Web サイト ver.9.5.0) KDDI Smart Mobile Safety Manager ios キッティングマニュアル 最終更新日 2018 年 12 月 13 日 Document ver1.0 (Web サイト ver.9.5.0) 変更履歴 日付 ver 変更箇所変更内容 2018/12/13 1.0 新規作成 2 はじめに 本マニュアルの目的 本マニュアルは iphone/ipad のキッティング操作について説明しています

More information

1 はじめに VPN 機能について Windows 端末の設定方法 VPN 設定手順 接続方法 ios 端末の設定方法 VPN 設定画面の呼び出し VPN に関する設定

1 はじめに VPN 機能について Windows 端末の設定方法 VPN 設定手順 接続方法 ios 端末の設定方法 VPN 設定画面の呼び出し VPN に関する設定 KDDI Flex Remote Access L2TP/IPsec 接続手順 2015 年 3 月 KDDI 株式会社 Ver1.0 1 はじめに... 3 2 VPN 機能について... 4 3 Windows 端末の設定方法... 5 3.1 VPN 設定手順... 5 3.2 接続方法... 9 4 ios 端末の設定方法...10 4.1 VPN 設定画面の呼び出し...10 4.2 VPN

More information

GXS-I WebIEAS オペレーション ガイド 版 : 第 1 版 2007 年 01 月 22 日 第 2 版 2011 年 12 月 02 日 第 3 版 2012 年 04 月 27 日 第 4 版 2013 年 06 月 17 日 ( 本書 ) GXS 株式会社 (c) 20

GXS-I WebIEAS オペレーション ガイド 版 : 第 1 版 2007 年 01 月 22 日 第 2 版 2011 年 12 月 02 日 第 3 版 2012 年 04 月 27 日 第 4 版 2013 年 06 月 17 日 ( 本書 ) GXS 株式会社 (c) 20 GXS-I008-03 WebIEAS オペレーション ガイド 版 : 第 1 版 2007 年 01 月 22 日 第 2 版 2011 年 12 月 02 日 第 3 版 2012 年 04 月 27 日 第 4 版 2013 年 06 月 17 日 ( 本書 ) GXS 株式会社 (c) 2006 GXS, Inc. All rights reserved. 目次 はじめに Ⅰ. アクセス ネットワーク設定

More information

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います   xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ 操作ガイド Ver.2.3 目次 1. インストール... - 2-2. SAMBA Stunnel 利用... - 8-2.1. 接続確認... - 8-2.2. 編集... - 11-2.3. インポート... - 14-2.4. 削除... - 15-2.5 フォルダショートカットの作成... - 16-3. 動作環境... - 18-4. 参考資料 ( 接続状況が不安定な場合の対処方法について

More information

Untitled

Untitled VPN 接 続 の 設 定 AnyConnect 設 定 の 概 要, 1 ページ AnyConnect 接 続 エントリについて, 2 ページ ハイパーリンクによる 接 続 エントリの 追 加, 2 ページ 手 動 での 接 続 エントリの 追 加, 3 ページ ユーザ 証 明 書 について, 4 ページ ハイパーリンクによる 証 明 書 のインポート, 5 ページ 手 動 での 証 明 書 のインポート,

More information

NAC(CCA): ACS 5.x 以降を使用した Clean Access Manager での認証の設定

NAC(CCA): ACS 5.x 以降を使用した Clean Access Manager での認証の設定 NAC(CCA): ACS 5.x 以降を使用した Clean Access Manager での認証の設定 目次 概要前提条件要件使用するコンポーネント表記法設定ネットワーク図 ACS 5.x を使用した CCA での認証の設定 ACS5.x の設定トラブルシューティング関連情報 概要 このドキュメントでは Cisco Secure Access Control System(ACS)5.x 以降を使用して

More information

Consuming a simple Web Service

Consuming a simple Web Service Consume a Simple Web Service シンプルな Web サービスを利用する 目次 1 Introduction はじめに... 2 2 Importing a WSDL WSDL をインポートする... 3 3 Creating Logic to Call the Web Service Web サービスを呼び出すロジックを作成する... 5 4 Related Content

More information

1. 概要 この章では HDE Controller X LG Edition をお使いの方に向けて LGWAN 接続に特化した設定の説明をします HDE Controller X LG Edition 以外の製品をご利用のお客様はこの章で解説する機能をお使いになれませんのでご注意ください 452

1. 概要 この章では HDE Controller X LG Edition をお使いの方に向けて LGWAN 接続に特化した設定の説明をします HDE Controller X LG Edition 以外の製品をご利用のお客様はこの章で解説する機能をお使いになれませんのでご注意ください 452 HDE Controller X 1-36. LGWAN の設定 1. 概要 この章では HDE Controller X LG Edition をお使いの方に向けて LGWAN 接続に特化した設定の説明をします HDE Controller X LG Edition 以外の製品をご利用のお客様はこの章で解説する機能をお使いになれませんのでご注意ください 452 HDE Controller X ユーザーマニュアル

More information

5-2. 顧客情報をエクスポートする 顧客管理へのアクセス手順 メールディーラーで管理する顧客情報に関する設定を行います 1. 画面右上の 管理設定 をクリックする 2. 管理設定 をクリックする 3. ( タブ ) 顧客管理 をクリックする 2

5-2. 顧客情報をエクスポートする 顧客管理へのアクセス手順 メールディーラーで管理する顧客情報に関する設定を行います 1. 画面右上の 管理設定 をクリックする 2. 管理設定 をクリックする 3. ( タブ ) 顧客管理 をクリックする 2 目次 顧客管理 Ver.12.3 1. 顧客管理へのアクセス手順... 2 2. 顧客管理に関する設定をする... 3 3. 顧客情報を管理する基本項目を作成する... 4 項目を作成する... 4 選択肢形式の項目を作成する... 5 3-1. 顧客検索の設定をする...6 検索項目を設定する... 6 検索結果の件数表示の設定をする... 6 検索条件の設定をする... 7 3-2. 顧客一覧画面の設定をする...7

More information

RADIUS サーバを使用して NT のパスワード期限切れ機能をサポートするための Cisco VPN 3000 シリーズ コンセントレータの設定

RADIUS サーバを使用して NT のパスワード期限切れ機能をサポートするための Cisco VPN 3000 シリーズ コンセントレータの設定 RADIUS サーバを使用して NT のパスワード期限切れ機能をサポートするための Cisco VPN 3000 シリーズコンセントレータの設定 目次 概要前提条件要件使用するコンポーネントネットワーク図 VPN 3000 コンセントレータの設定グループの設定 RADIUS の設定 Cisco Secure NT RADIUS サーバの設定 VPN 3000 コンセントレータ用のエントリの設定 NT

More information

Microsoft Word - FortiGate-iPhone_VPN_Setup-Guide_v1.0_J_ doc

Microsoft Word - FortiGate-iPhone_VPN_Setup-Guide_v1.0_J_ doc FortiGate iphone 3G IPSec-VPN 簡易設定手順設定手順書 (v1.0) 説明 この記事の内容は FortiGate と iphone 3G が対応している VPN 機能を利用して 両デバイス間でセキュアな IPSec-VPN 通信を行うための設定手順をまとめたものです この設定例により FortiGate と iphone 3G 間の VPN トンネルが確立されて相互接続ができる事を確認しておりますが

More information

目次 1. Azure Storage をインストールする Azure Storage のインストール Azure Storage のアンインストール Azure Storage を使う ストレージアカウントの登録... 7

目次 1. Azure Storage をインストールする Azure Storage のインストール Azure Storage のアンインストール Azure Storage を使う ストレージアカウントの登録... 7 QNAP Azure Storage ユーザーガイド 発行 : 株式会社フォースメディア 2014/6/2 Rev. 1.00 2014 Force Media, Inc. 目次 1. Azure Storage をインストールする... 3 1.1. Azure Storage のインストール... 3 1.2. Azure Storage のアンインストール... 5 2. Azure Storage

More information

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成 KDDI ホスティングサービス (G120, G200) ブック ASP.NET 利用ガイド ( ご参考資料 ) rev.1.0 KDDI 株式会社 1 ( 目次 ) 1. はじめに... 3 2. 開発環境の準備... 3 2.1 仮想ディレクトリーの作成... 3 2.2 ASP.NET のWeb アプリケーション開発環境準備... 7 3. データベースの作成...10 3.1 データベースの追加...10

More information

WebARENA SuiteX V2 EC-CUBE 2.13 インストールマニュアル ( 標準 MySQL+ 非 SSL ) 作成 :2014 年 2 月 Ver.1.1

WebARENA SuiteX V2 EC-CUBE 2.13 インストールマニュアル ( 標準 MySQL+ 非 SSL ) 作成 :2014 年 2 月 Ver.1.1 WebARENA SuiteX V2 EC-CUBE 2.13 インストールマニュアル ( 標準 MySQL+ 非 SSL ) 作成 :2014 年 2 月 Ver.1.1 注意事項 EC-CUBE は株式会社ロックオンの提供するソフトウェアです ここでは株式会社ロックオンから提供されている EC-CUBE バージョン 2.13 のパッケージをご利用される前提で 基本的な設置手順を掲載しております

More information

I N D E X リダイレクト画面投稿手順 リダイレクト画面投稿手順 2 1 管理画面にログイン 2 右上の + 追加 を押す メールサービスのご利用について 4 メールソフト設定方法 ご利用のバージョンにより 画面や設定項目が異なる場

I N D E X リダイレクト画面投稿手順 リダイレクト画面投稿手順 2 1 管理画面にログイン 2 右上の + 追加 を押す メールサービスのご利用について 4   メールソフト設定方法 ご利用のバージョンにより 画面や設定項目が異なる場 設定マニュアル 2017 年 6 月版 I N D E X リダイレクト画面投稿手順 リダイレクト画面投稿手順 2 1 管理画面にログイン 2 右上の + 追加 を押す メールサービスのご利用について 4 https://www.uspot.jp/location/ メールソフト設定方法 ご利用のバージョンにより 画面や設定項目が異なる場合があります Windows Live メール 4 Microsoft

More information

QualysGuard(R) Release Notes

QualysGuard(R) Release Notes QualysGuard リリースノート Web Application Scanning 2.4.1 2013 年 1 月 22 日 QualysGuard WAS 2.4.1 では 使いやすさの向上とレポート機能の拡張が行われました Web アプリケーション ファイルアップロードの改善オプションプロファイルの改善ユーザスコープタグの新規オブジェクトへの適用オンデマンドスキャン (n) 時間後にキャンセルスキャンとスケジュール

More information

Juniper Networks Corporate PowerPoint Template

Juniper Networks Corporate PowerPoint Template Juniper SRX 日本語マニュアル 41. SSL Forward Proxy の CLI 設定 はじめに SRX340 における SSL Forward Proxy の CLI 設定ついて説明します 手順内容は SRX340 JUNOS 15.1X49-D140 にて確認を実施しております SSL Proxy 機能については SRX340 以上の機種にてサポートされています 2018 年 8

More information

ROBOTID_LINEWORKS_guide

ROBOTID_LINEWORKS_guide 操作マニュアル 2019 年 2 月 22 日 ナレッジスイート株式会社 目次 1 ROBOT ID と LINE WORKS の SSO 連携の流れ... 1 2 ROBOT ID の設定... 2 2-1 カスタム属性を作成する... 2 2-2 カスタム属性を設定する... 2 2-3 SAML 設定を行う... 4 2-4 証明書のダウンロードを行う... 6 3 LINE WORKS の設定...

More information

ステップ 1:Cisco Spark にサインアップして試してみよう 1. Spark のホームページ ( で電子メールアドレスを入力し 指示に従って Spark アカウントを作成します 注 : 自身の電子メールアカウントにアクセスして Spar

ステップ 1:Cisco Spark にサインアップして試してみよう 1. Spark のホームページ (  で電子メールアドレスを入力し 指示に従って Spark アカウントを作成します 注 : 自身の電子メールアカウントにアクセスして Spar ご利用のコンピュータを設定する方法 事前設定された dcloud ラボを使用してこのラボに取り組む場合は イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両モジュールを確認してください 自身のコンピュータでこのラボの作業を行うには Postman という Chrome http クライアントをインストールする必要があります また Spark アカウントも必要です Spark:Spark

More information

4-5. ファイアウォール (IPv6)

4-5. ファイアウォール (IPv6) 4-5. ファイアウォール (IPv6) 1. 概要 ファイアウォールでは外部からのアクセスや攻撃を防御するためのパケットフィルターの設定 管理をすることができます パケットフィルター系のメニューでの設定内容はパケットフィルターの再起動 または Linux の再起動を行うことで反映されます パケットフィルター パケットフィルターは IP 層でのフィルタリングを行います アプリケーション層でのフィルタリングと違い

More information

4-4. ファイアウォール (IPv4)

4-4. ファイアウォール (IPv4) 4-4. ファイアウォール (IPv4) 1. 概要 ファイアウォールでは外部からのアクセスや攻撃を防御するためのパケットフィルターの設定 管理をすることができます パケットフィルター系のメニューでの設定内容はパケットフィルターの再起動 または Linux の再起動を行うことで反映されます パケットフィルター パケットフィルターは IP 層でのフィルタリングを行います アプリケーション層でのフィルタリングと違い

More information

Syslog、SNMPトラップ監視の設定

Syslog、SNMPトラップ監視の設定 AdRem NetCrunch 10 参考資料 NetCrunch は AdRem Software が開発し所有する監視ソフトウェアである 株式会社情報工房は日本における総販売代理店である 2018 Johokobo, Inc. 目次 1. SYSLOG SNMP トラップ監視の概要... 1 2. SYSLOG SNMP トラップ監視の設定方法... 1 2.1. NETCRUNCH オプションの設定...

More information

8021.X 認証を使用した Web リダイレクトの設定

8021.X 認証を使用した Web リダイレクトの設定 8021.X 認証を使用した Web リダイレクトの 設定 802.1X 認証を使用した Web リダイレクトについて, 1 ページ RADIUS サーバの設定 GUI, 3 ページ Web リダイレクトの設定, 4 ページ WLAN ごとのアカウンティング サーバの無効化 GUI, 5 ページ WLAN ごとのカバレッジ ホールの検出の無効化, 5 ページ 802.1X 認証を使用した Web リダイレクトについて

More information

Cards R Connector(v1.4.2)_ja.pptx

Cards R Connector(v1.4.2)_ja.pptx SkyDesk Cards R Connector 操作マニュアル v1.4.2 ネットワークセキュリティ事業部 はじめに このたびは SkyDesk Cards R をご契約いただき 誠にありがとうございます 弊社の複合機を使用して SkyDesk Cards R ( 以下 Cards R) に名刺画像を取り込む場合 該当の複合機に SkyDesk Cards R Connector ( 以下 Cards

More information

項番 現象 原因 対応手順書など 4 代理店コードでのダウンロード時に以下のメッセージの画面が表示される サービス時間外のため 現在 このサービスはご利用になれません 当機能のサービス時間外です 以下の時間帯にダウンロードしてください 月曜日 ~ 金曜日 7:00~21:00 土曜日 7:00~17

項番 現象 原因 対応手順書など 4 代理店コードでのダウンロード時に以下のメッセージの画面が表示される サービス時間外のため 現在 このサービスはご利用になれません 当機能のサービス時間外です 以下の時間帯にダウンロードしてください 月曜日 ~ 金曜日 7:00~21:00 土曜日 7:00~17 D-Web インストールエラー対応 順書 Ⅰ. エラー対象 1. エラー対象の確認 Setup.exe (D-Web 実行環境 ) インストール中にエラーが発生した場合は はじめに D-Web を利用できるパソコン環境であることをご確認ください 利用環境の詳細は 下記ボタンよりご確認ください 利用可能環境について詳しく見る 表 1: エラー対象一覧項番 現象 原因 対応手順書など 1 Setup.exe

More information

1 ユーザ認証を受けた権限で アプリケーションを利用するために ログインプロキシにアクセスします 2 ログインプロキシにより Shibboleth SP から Shibboleth IdP の認証画面にリダイレクトされます 3 ブラウザに認証画面を表示します 4 認証画面にユーザ / パスワードを入

1 ユーザ認証を受けた権限で アプリケーションを利用するために ログインプロキシにアクセスします 2 ログインプロキシにより Shibboleth SP から Shibboleth IdP の認証画面にリダイレクトされます 3 ブラウザに認証画面を表示します 4 認証画面にユーザ / パスワードを入 既存のアプリケーションのユーザ管理への Proxy( 代行システム ) を用意する 既存のアプリケーションのユーザ管理への Proxy( 代行システム ) を用意する 既存のアプリケーションにユーザ管理機能が存在する場合 ユーザ認証を Shibboleth に代行させる機能 ( ログインプロキシ ) を構築するパターンです 概要図 ユーザ管理には Shibboleth のセッション情報からユーザ管理機能のセッション情報を作成する機能を組み込む必要があります

More information

WEBシステムのセキュリティ技術

WEBシステムのセキュリティ技術 WEB システムの セキュリティ技術 棚橋沙弥香 目次 今回は 開発者が気をつけるべきセキュリティ対策として 以下の内容について まとめました SQLインジェクション クロスサイトスクリプティング OSコマンドインジェクション ディレクトリ トラバーサル HTTPヘッダ インジェクション メールヘッダ インジェクション SQL インジェクションとは 1 データベースと連動した Web サイトで データベースへの問い合わせや操作を行うプログラムにパラメータとして

More information

SeciossLink クイックスタートガイド

SeciossLink クイックスタートガイド 株式会社セシオス SeciossLink クイックスタートガイド G Suite シングルサインオン設定編 2017 年 10 月 3 日 目次 1 概要... 2 2 環境... 2 3 API 利用を有効化... 3 4 管理コンソール API 設定... 9 4.1 API アクセス有効化... 9 4.2 クライアント ID の API アクセス利用設定... 9 5 管理コンソール SSO

More information

目次 * 本資料について * お問い合わせ * SecureAssist Enterprise Portal API 概要 APIについて API 通信の流れ * SecureAssist Enterprise Portal 各 API 説明認証プロジェクトのレポートの取得プロジェクトの一覧の取得ア

目次 * 本資料について * お問い合わせ * SecureAssist Enterprise Portal API 概要 APIについて API 通信の流れ * SecureAssist Enterprise Portal 各 API 説明認証プロジェクトのレポートの取得プロジェクトの一覧の取得ア 2016.03.23 SecureAssist Enterprise Portal API ガイド Version 3.0 対応版 API の概要 各 API の説明と実行例 目次 * 本資料について * お問い合わせ * SecureAssist Enterprise Portal API 概要 APIについて API 通信の流れ * SecureAssist Enterprise Portal

More information

NSS利用者マニュアル

NSS利用者マニュアル C.1 共有フォルダ接続 操作の概要 C.2 Windows から接続 操作する C.3 Mac OS X から接続 操作する 65 C.1 共有フォルダ接続 操作の概要 アクセスが許可されている研究データ交換システムの個人用共有フォルダまたはメーリングリストの共有フォルダに接続して フォルダを作成したり ファイルをアップロードまたはダウンロードしたりすることができます 参考 共有フォルダのフォルダ名およびファイル名について共有フォルダのフォルダ名およびファイル名には

More information

Microsoft PowerPoint - Tutorial_6.ppt

Microsoft PowerPoint - Tutorial_6.ppt 6 RapidApps を使ったスピーディーなアプリ開発 1 課題手順 RapidApps でアプリを開発する 開発した Kiosk アプリの動作を確認する 2 RapidApps でアプリを開発する (1) Bluemix RapidApps は Web やモバイル アプリをスピーディーに設計 / 開発し Bluemix にデプロイすることができるビジュアル開発ツールです ここでは RapidApps

More information

FUJITSU Cloud Service for OSS 認証サービス サービス仕様書

FUJITSU Cloud Service for OSS 認証サービス サービス仕様書 FUJITSU Cloud Service for OSS 認証サービスサービス仕様書 2018 年 8 月 30 日 1. サービス仕様 当社は 以下のサービスを提供します (1) 基本サービス契約者が FUJITSU Cloud Service for OSS PaaS ポータルから認証サービスの利用を開始すると 管理テナント ( 注 1) が 1 つ作成されます 契約者は 管理テナントにより運用テナント

More information

WTM2019SingleSignOn

WTM2019SingleSignOn [Java 開発者向け ] シングルサインオンへの対応 - Java カスタマイズコードの書き方 1/45 OUTLINE Spring Security Spring Security を使った認証の仕組み Spring Security を使ったシングル サインオン 2/45 Spring Security 3/45 Spring Security とは アプリケーションのセキュリティを高めるためのフレームワーク

More information

目次 はじめに 1サーバ作成 2 初期設定 3 利用スタート 付録 Page.2

目次 はじめに 1サーバ作成 2 初期設定 3 利用スタート 付録 Page.2 オフィスワークお役立ちパック 初期設定マニュアル 2013 年 11 月 NEC ビッグローブ株式会社 目次 はじめに 1サーバ作成 2 初期設定 3 利用スタート 付録 Page.2 はじめに 本お役立ちパックをご購入いただきありがとうございます 本資料では サーバ作成 初期設定の方法をご説明します ご利用までのステップ 1 サーバ作成 2 初期設定 3 利用スタート Page.3 1 サーバ作成

More information

VPN ユーザを管理し、RV016、RV042、RV042G および RV082 VPN ルータの速い VPN を設定して下さい

VPN ユーザを管理し、RV016、RV042、RV042G および RV082 VPN ルータの速い VPN を設定して下さい VPN ユーザを管理し RV016 RV042 RV042G および RV082 VPN ルータの速い VPN を設定して下さい 目標 バーチャルプライベートネットワーク (VPN) はインターネットのようなパブリックネットワークに異なるネットワークのエンドポイントを 接続する方法です VPN の有用なアプリケーションはそれらにインターネットにアクセスできる限り VPN クライアントソフトウェアのリモートユーザがプライベートネットワークのアクセス情報安全にできることことです

More information

変更履歴 日付 ver 変更箇所 変更内容 2016/8/ 新規作成 2017/1/ 全体 参照 以下 等に係る記載揺れの統一 2017/2/ 全体 参照先の記載を修正 2017/5/ ASM に情報登録 リンクの URL を修正 参考リンク集

変更履歴 日付 ver 変更箇所 変更内容 2016/8/ 新規作成 2017/1/ 全体 参照 以下 等に係る記載揺れの統一 2017/2/ 全体 参照先の記載を修正 2017/5/ ASM に情報登録 リンクの URL を修正 参考リンク集 KDDI Smart Mobile Safety Manager Apple School Manager(ASM) 導入マニュアル 最終更新日 2018 年 9 月 19 日 Document ver.1.05 (Web サイト ver9.3.1) 1 変更履歴 日付 ver 変更箇所 変更内容 2016/8/29 1.00 新規作成 2017/1/26 1.01 全体 参照 以下 等に係る記載揺れの統一

More information

PowerPoint Presentation

PowerPoint Presentation IDENTITY AWARENESS 設定ガイド (AD クエリ編 ) 1 はじめに 本ガイドは AD サーバと連携してユーザ ( グループ ) ベースでアクセス制御を実現する手順を解説します (AD クエリ ) 本ガイドでは基本的な設定 ポリシーはすでにセットアップ済みであることを想定しています 構成については 分散構成セットアップ ガイド スタンドアロン構成セットアップ ガイド等を参照してください

More information

Web GIS Template Uploader 利用ガイド

Web GIS Template Uploader 利用ガイド Web GIS Template Uploader 利用ガイド 概要 Web GIS Template Uploader について Web GIS Template Uploader は ESRI ジャパンが提供する ArcGIS ソリューションテンプレート ( ) をご使用の ArcGIS ポータル (ArcGIS Online もしくは Portal for ArcGIS の組織サイト ) にアップロードするためのツールです

More information

Nagios XI Webサイトの改ざん監視

Nagios XI Webサイトの改ざん監視 目的 この資料では Web サイトの改ざん 編集 悪意のあるコード挿入を監視する Web サイト改ざん監視ウィザードの使用方法について説明します Web サイト改ざん監視ウィザードを使用すれば Web サイトの改変を監視し Web サイトに好ましくないコンテンツが見つかったら通知することができます 対象読者 この資料は Web サイトの改ざんを監視したい Nagios 管理者およびエンドユーザーを対象としています

More information

変更履歴 版数 修正日 修正箇所 修正内容 /7/27 初版 /12/4 - プロパティを修正 2 / 10

変更履歴 版数 修正日 修正箇所 修正内容 /7/27 初版 /12/4 - プロパティを修正 2 / 10 対話型 Bot for FAQ チュートリアル 第 1.1 版 2017 年 12 月 4 日 富士通株式会社 1 / 10 変更履歴 版数 修正日 修正箇所 修正内容 1.0 2017/7/27 初版 1.1 2017/12/4 - プロパティを修正 2 / 10 はじめに 本書の目的本書は Zinrai プラットフォームサービスが提供する API を利用するための具体的な手順を説明しています 本書の対象読者本書は

More information

$ sudo apt-get install libavahi-compat-libdnssd-dev $ sudo apt-get autoremove nodejs $ wget http://nodejs.org/dist/latest/node-v7.6.0-linux-armv7l.tar.gz $ tar xzf node-v7.6.0-linux-armv7l.tar.gz $ sudo

More information

勉強会の流れ Google API の概要 デモ curl で実際に体験 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 2

勉強会の流れ Google API の概要 デモ curl で実際に体験 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 2 Google API 勉強会 SRA OSS, Inc. 日本支社山本博之 2010 年 12 月 13 日 勉強会の流れ Google API の概要 デモ curl で実際に体験 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 2 Sylpheed Pro 2.0 Sylpheed + Sylpheed Pro アドオンメール全文検索スケジューラ

More information

クイックマニュアル(利用者編)

クイックマニュアル(利用者編) クイックマニュアル エコノス株式会社 目次 1. 利用イメージ 2. ログイン画面 3. 検索画面 4. クロールサイト管理画面 5. ユーザ管理 6. 検索履歴確認 7. クロール結果確認 8. ダウンロードパスワード設定 9. URLチェック 2 1. ご利用イメージ (1/2) 基本的な機能のご利用について 1 サイトへアクセスしログイン関連ページ :2. ログイン画面 2 検索対象の URL

More information

POWER EGG 3.0 Office365連携

POWER EGG 3.0 Office365連携 POWER EGG 3.0 Office 365 連携 2018 年 9 月 ディサークル株式会社 改版履歴 修正日 版 2018/09/14 1.0 版初版発行 修正箇所 内容 1 1 連携概念図 Office 365 利用ユーザ向け連携モデル : パターン 1 ユーザ認証基盤 POWER EGG SharePoint: ポータル Exchange: メール 決裁メッセージ等を SP ポータルに表示

More information

PHP 分科会 '12/01 OpenSource 協議会 System i 2012/01/26

PHP 分科会 '12/01 OpenSource 協議会 System i 2012/01/26 PHP 分科会 '12/01 OpenSource 協議会 System i 2012/01/26 アジェンダ IBMi で Web サーバーとして使用される IHS について勉強します IHS とは? 管理コンソールでできること 言語と文字コード ログ # 2 IHS とは? Apache ベースで IBM から提供される Web サーバー IBM HTTP Server の略称 IBMi の場合

More information

Microsoft Word - CBSNet-It連携ガイドver8.2.doc

Microsoft Word - CBSNet-It連携ガイドver8.2.doc (Net-It Central 8.2) 本ガイドでは ConceptBase Search Lite.1.1 と Net-It Central 8.2 の連携手順について説明します 目次 1 はじめに...2 1.1 本書について...2 1.2 前提条件...2 1.3 システム構成...2 2 ConceptBase のインストール...3 2.1 インストールと初期設定...3 2.2 動作確認...3

More information

変更履歴 版数 修正日 修正箇所 修正内容 /4/27 初版 /7/27 - クリップボードへのコピーで不要な文字が含まれる事象を修正 /4/ 暗号化プロトコルのサポートについて記載 /8/ ステータス

変更履歴 版数 修正日 修正箇所 修正内容 /4/27 初版 /7/27 - クリップボードへのコピーで不要な文字が含まれる事象を修正 /4/ 暗号化プロトコルのサポートについて記載 /8/ ステータス 画像認識 API リファレンス 第 1.3 版 2018 年 8 月 2 日 富士通株式会社 1 / 21 変更履歴 版数 修正日 修正箇所 修正内容 1.0 2017/4/27 初版 1.1 2017/7/27 - クリップボードへのコピーで不要な文字が含まれる事象を修正 1.2 2018/4/26 2.2 暗号化プロトコルのサポートについて記載 1.3 2018/8/2 2.5 2.6.1 ステータスコードの追記エラーメッセージの修正

More information

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページにアクセスする 1.Web ブラウザを起動します FW v6.50 以下の場合は Internet Explorer を FW v7.10 以降の場合は

More information

WeChat 認証ベースのインターネット アクセス

WeChat 認証ベースのインターネット アクセス WeChat 認証ベースのインターネット アク セス WeChat クライアント認証について 1 ページ WLC での WeChat クライアント認証の設定 GUI 2 ページ WLC での WeChat クライアント認証の設定 CLI 3 ページ WeChat アプリを使用したモバイル インターネット アクセス用のクライアントの認証 GUI 4 ページ WeChat アプリを使用した PC インターネット

More information

ISE の BYOD に使用する Windows サーバ AD 2012 の SCEP RA 証明書を更新する

ISE の BYOD に使用する Windows サーバ AD 2012 の SCEP RA 証明書を更新する ISE の BYOD に使用する Windows サーバ AD 2012 の SCEP RA 証明書を更新する 目次 はじめに前提条件要件使用するコンポーネント問題解決策 1. 古い秘密キーの特定 2. 古い秘密キーの削除 3. 古い MSCEP-RA 証明書の削除 4. SCEP の新しい証明書の生成 4.1. Exchange 登録証明書を生成する 4.2. CEP 暗号化証明書を生成する 5.

More information

スライド 1

スライド 1 IBM ホスト アクセスのためのツールを集めたソリューション パッケージ Solution Package for Host Access Solution Package for Host Access は 以下の IBM 製品を使用した IBM ホスト システムへのアクセスやホストと PC クライアントとの連携をサポートするソリューションを提供します Host Access Client Package

More information

スライド 1

スライド 1 KCPS2 API 切り分けについて KDDI Ver1.0 API 実行時の確認フロー 開始 kick_api.sh にて API コマンド実行 NG: エラー応答あり エラーコード 401 エラー kick_api.sh の Key 情報が正しく設定されているか確認してください ( 開発者ガイドの API 利用準備参照 ) OK: エラー応答無 No API コマンドが内容通りの動作だったか?

More information

目次 1. PDF 変換サービスの設定について )Internet Explorer をご利用の場合 )Microsoft Edge をご利用の場合 )Google Chrome をご利用の場合 )Mozilla Firefox をご利

目次 1. PDF 変換サービスの設定について )Internet Explorer をご利用の場合 )Microsoft Edge をご利用の場合 )Google Chrome をご利用の場合 )Mozilla Firefox をご利 PDF 変換サービス セキュリティ設定マニュアル 第 21 版 2018 年 2 月 目次 1. PDF 変換サービスの設定について...2 1-1)Internet Explorer をご利用の場合...2 1-2)Microsoft Edge をご利用の場合... 14 1-3)Google Chrome をご利用の場合... 18 1-4)Mozilla Firefox をご利用の場合...

More information

ハンドシェイク障害または証明書検証エラーによる NGFW サービス モジュール TLS の中断

ハンドシェイク障害または証明書検証エラーによる NGFW サービス モジュール TLS の中断 ハンドシェイク障害または証明書検証エラーによる NGFW サービスモジュール TLS の中断 目次 概要前提条件要件使用するコンポーネント背景説明問題解決策問題解決策関連情報 概要 このドキュメントでは 復号化がイネーブルにされた Cisco Next-Generation Firewall(NGFW) のサービスモジュールを使用して HTTPS ベースの Web サイトにアクセスする場合の特定の問題のトラブルシューティングを行う方法について説明します

More information

変更履歴 No 版数 更新日 変更箇所 変更内容 版 2017/6/26 - 新規作成 版 2018/3/ 法令 API 対象外の法令取得対象外となる法令データに係に関する事項る留意事項を追記 HTTP レスポンスコ 版 2018/3/

変更履歴 No 版数 更新日 変更箇所 変更内容 版 2017/6/26 - 新規作成 版 2018/3/ 法令 API 対象外の法令取得対象外となる法令データに係に関する事項る留意事項を追記 HTTP レスポンスコ 版 2018/3/ e-gov 法令 API 仕様書 (Version 1) 1.2 版 2018 年 3 月 29 日 変更履歴 No 版数 更新日 変更箇所 変更内容 1 1.0 版 2017/6/26 - 新規作成 2 1.1 版 2018/3/12 5.1. 法令 API 対象外の法令取得対象外となる法令データに係に関する事項る留意事項を追記 2.2.4. HTTP レスポンスコ 3 1.2 版 2018/3/29

More information