皆さん こんにちは私 北地政策上OSSソリューションセンターの中村と申します本日は 適用例から紐解くAPI管理の課題と解決策と題しまして 公演をさせていただきますと 初めに簡単に自己紹介をさせていただきます改めまして 私 北地のOSSソリューションセンターの中村と申します入社以来 最初はSELENUXというですね結構皆さんご存知だと思うんですけど構築時に 最初に向こうにしてしまうSELENUXですがこちらのコミュニティ活動やビジネス開発というところでパッチの開発でありますとかツールを作ってOSSで公開したりでありますとか情報化で向けSELENUXの開発など いろいろやっておりましたまた 失聴公演でありますとか コミュニティ活動もやっておりました現在では OSSセキュリティの知見を活かしましてAPIセキュリティに関連したOSS本日も取り上げますキーク力やスリースケールのソリューション開発をしております技術開発からですね 提案支援 構築支援など幅広く活動しておりますしまた OSSのコミュニティ活動としましてもOSSセキュリティ技術の会を立ち上げましてSELENUXやキークロックを含むセキュリティ関連のOSSの普及活動を行っております本日はですね 前半に製品の紹介をいたしまして後半にですね 事例の紹介をさせていただきますでは早速ですね 本日関係します製品の紹介をさせていただきます背景といたしましてAPI公開が広がっているということがございますAPIとはですね いわゆるレストAPIでして自社のサービスをですね 他のアプリケーションでありますとか外部のサービスから呼び出すためのインターフェースですこちらですね いわゆるDXの絡めといたしましてAPIの公開がですね 各分野で広がっております例えば金融分野ではですね銀行法の改正によるオープンAPIの活用というところでAPIの公開と活用が加速しておりますまた公共分野でも 政府や自治体の業務を民間企業や我々国民からですね 利用しやすくするためにAPIの活用が推進されておりますまた産業や流通分野でもデジタルサービスにおける外部組織モバイルアプリのインターフェースとしてAPI公開というのが規定路線化が進んでおりますさらにはですね 業種化をまたがって新たなサービスを生み出す動きというのもAPI公開と合いまって加速しております本日ですね こちらのAPI管理に関係しまして取扱う技術がAPI管理という技術になりますこちらですね APIを公開するためにAPIを開発 公開 運用それらのAPIのライフサイクルを管理するための共通機能になるようなものをAPI管理と言いますAPI管理を構成する機能をこちらに示しております負荷分散やアクセス制御を行うAPIゲートウェイまた 認証認可 OS2.0という企画に対応して安全に公開する機能また 管理者ポータル こちらでですね画面で管理したりでありますとか利用状況の分析 課金連携などを行いますまた 開発者ポータルこちらはAPIを利用するアプリケーションがアプリケーションを開発するために必要な仕様の公開やAPIのテストそういったものを支援するような機能ですまた プロドコロ変換 こちら レガシーなプロドコロはベストAPIに変換したりAPIをマッシュアップする そういったような機能ですこちらのAPI管理を担うレッドハッドの製品がレッドハッドインテグレーションとレッドハッドシングルサイン4ですレッドハッドインテグレーションはAPI管理やデータ統合などのインテグレーションに必要な機能をまとめたミドルウェアレッドハッドシングルサイン4は認証になるようなミドルウェアまた レッドハッドインテグレーションの中に含まれるレッドハッド3スケールAPIマネージメントとレッドハッドフューズが特にAPI管理の主な機能を担うようなものになっておりますそれぞれの構成製品を簡単に紹介させていただきます最も主要な機能を提供するのがレッドハッド3スケールAPIマネージメントになっておりますこちらはいわゆる昔からあるAPI管理のソフトウェアのレッドハッド版でしてAPI管理APIエコノミ実現のための先ほど紹介したようなAPI管理の多くの機能を提供しておりますAPIセキュアに公開するところはレッド発定製造と連携してOS2.0に対応しまたAPIゲートウェアも備えておりますそして既存システムとの連携は次に紹介するフューズまたAPI開発を呼び込むポータル機能そして管理者ポータルまたオープンシフトの上にAPI管理をハイブリッドクラウドで実現できるとそういったような機能を用意しております次にレッドハッドフューズですレッドハッドフューズは様々な機能やサービスをつなぐソフトウェアでしてこちらにあるようなデータプロトコロ変換こういったものがあることによってレガシーなものをレストAPIに簡単に変換できたりでありますとかその他メッセージ級とかウェブサービスフレームワークとかそういったような機能を持っております次の3つ目の製品がレッドハッドSSOレッドハッドシングルサイヨンですこちらはレッドハッドさんを中心に開発されているキークロークというID管理のOSSの商用版になっておりますもともとはウェブシングルサイヨンのために開発されたものなんですが認証認可のサーバーの機能も提供しております特徴といたしましてはこちらに囲んでおりますように標準プロトコルサムルオープンIDコネクトにも対応しておりLDAPとかアクティブディレクトリー既存の認証状況と連携した認証もできますまた外部のいわゆるソーシャルログインギットハブとかツイッターとかそういったところと連携したソーシャルログインにも対応しておりますしまたこちらベースはOSSのキークロークなのですが商用版としてきちんとサポートサービス脆弱性情報発信パッチ提供がなされているといったものになっておりますこちらは本日紹介する製品軍のセキュリティのかなめをなすものになっておりますひたちはこのAPI分野におきましてこれらのベースになっているOSSのコミュニティ貢献OSSの選定でありますとかOSSに発展する企業としてパッチ開発そういったものを通じて技術を蓄積しましてまたそのコミュニティにいるレッドハットさんのエンジニアとも密な関係を築いておりますこれらをベースにしてOSSのサポートサービスプロフェッショナルサービスを提供しておりますここでもコミュニティ貢献をレッドハットさんとの強固な連携をベースにしておりますそしてそれらのOSSのサービスをお客様のビジネスで活用具体的にはシステムインテグレーションでありますとかAPI管理のソリューション提供そういったものを提供しておりますそこで得られたフィードバックをさらにコミュニティ貢献に活かすといったような循環をなしておりますではわれわれの脳派を生かしたAPI管理の構築事例を紹介させていただきますこちらの事例なのですがある金融機関のお客様の事例をベースにしておりますこちらのお客様は既にAPIを活用したシステムを構築しておりましたが既存のAPI管理基盤を刷新しましてオープンシフトコンテナプラットフォームの上にレッドハットインテグレーションを用いて新たなAPI基盤を構築した事例となっておりますこちらの金融機関さんは複数のグループ会社が部署から成り立っていてそれぞれ個別にシステム構築基盤構築をしていて二重投資で効率が悪かったとまたシステム開発も同時に開発スピードも落ちるといったようなことも起こっておりました今回の目的としましてはグループ会社は各部署で共通で利用できるAPI管理基盤を構築してシステムを投資の最適化とシステム関連系の最適化というものを狙ったものになっておりますまた基盤部分はAWSに移行されておりますこちら製品採用の経緯となります先ほど申し上げましたようにすでに他社のAPI基盤製品を導入済みでしかしAPI管理製品の色々問題を抱えておりましてそこでお客様側で別製品への移行を検討しましてレッドハットインテグレーションを軸としたAPI管理基盤への移行を決められております採用のポイントといたしましてはレッドハットインテグレーションこちらは先ほども紹介しましたように必要な機能を豊富に備えておりますまたレッドハットSSOと組み合わせで金融分野で求められる最新のAPIセキュリティ企画具体的にはファイナーシャルグレードAPI略してファピーこちらに準拠できるというところがございますなぜヒタチとヒタチがこちらOSSのコミュニティで先ほどの製品のベストになるスリースケールやキークロークの開発にも加わっており製品の知見と適用経験が豊富であるというところがございましたでは具体的にAPI管理基盤の構築の際の技術名の課題をどのように解決していたかの課題がございましたそれぞれ紹介していきますまずは一つ目の課題としましてベースとなるオープンシフトのコンテナ基盤のクラスタ構成の構築というところにありました今回AWSの上に構築しておりましてまた20時間365日のサービス継続が要件となってございましたこちらにございますようにレッドハッドエンタプライズリーナックスコアOSの上にマスターノードインフラストラクチャーノードワーカーノードという形でクラスタを構築していきますこちらは構築する際の懸念点といたしまして単一のクラスタではアップデート時に問題があると止まってしまうんじゃないかという懸念がございましたしなってくるエトセディという大事な出問があるんですがこちらのバックアップやリストやの手順が整っていないという課題がございましたこちらに支援したポイントを示しておりますまずクラスタバックアップ時クラスタのアップデートの課題になりますオープンシフトV4の公式ドキュメントにはローリングアップデートのみがこちらアップデート中にトラブルがあった場合クラスタが停止してしまうという懸念がございましたこのようなクラスタ停止を防止したいという要件がございましたのでひたちの方でブルーグリーンのクラスタの2面構成のアップデート方式を独自に検証しまして手順化してございます2つ目にクラスタのバックアップリストやというところでCDというクラスタ内の大事な情報が詰まったデータストアこちらのバックアップとリストアが公式マニュアルの通りにやってもなかなかうまくいかないというところがございましたこちら公式マニュアルの内容を整査しまして記載不足の点を確認しまして不足している点を検証して手順を再整理することで無事にバックアップすることができるようになりましたこちらが最終的な構成になっておりますオープンシフトのクラスタをブルーとグリーンの2面用意してしましてまたCDについてのバックアップ手順を整理したという形になってございますでは次に2つ目の課題に参りますこちらはオープンシフトの上のAPI管理の部分の課題になってきますバックエンドAPI管理の裏にバックエンドのAPIがいくつも用意されておりますこちらのバックエンド側で良くあることなんですけど一度作ってしまうと今回バックエンドはオープンシフトの外に作っておりますのでなかなか機能インハンスしようにしてもインターフェースが買いにくいでありますとかまた全てのアプリを満足させるAPIを提供するというのは難しいというところになっております全てアプリから見ますとこちらフロントエンドになりますがよくあるのがAPIの引き数が複雑で呼びづらいでありますとかある業務をするために複数のAPIを呼ばなきゃいけなくてこちらのフロントエンドからすると開発が大変だということがよく言われますもう一つの課題が内部連携と外部連携の共存というところになりますAPIゲート上を一つしか置かない構成になりますと全てのトラフィックがこちらのゲート上に集中するだけじゃなくて内部のAPIもこちらのAPIゲート上を通ってしまうので外部に見えてしまうという懸念がございましたこれらの課題点を考慮しまして我々の方で採用したAPI管理の構成はこちらの図のようになってございます現象認可としてはレッドハットSSOを置きましてスリースケルのに含まれるAPIゲート上を外部用と内部用を置いてまたレッドハットフューズをその間に置くという形になっておりますこちらでどのように課題を解決しているかというところを見ていきますこちらが呼び出しパターン1になりますフロントエンドからこの際フューズマッシュアップとプロトコロ変換の機能をうまく使いましてバックエンドのAPIをフロントから呼び出しやすいように変換して呼び出しやすいインターフェースで見せるとそういったような形にしておりますこちらフロントから呼びやすい形のAPIが見えてまして呼び出しますスリースケルのゲート上の方でアクセストークのレッド派手製装と行ってこちらでセキュアな状態にした上で後ろのフューズに通しますフューズでAPIをばらしまして後ろのバックエンドのAPIを改めて呼び出すとそういったような形になっております2つ目の呼び出しパターンですがこちらはフューズだけで完結してしまうAPIもあるのでフューズ側でのみで処理を行ってAPIを返すといったものになっておりますこちらです後ろが呼ばれませんのでバックエンドの負荷も軽減ができるというような形になっております次が課題の3に対応したものになるんですけどスリースケルの大きな特徴といたしましてAPIゲート上は何個でもどこにでもおけるという特徴がございますスリースケル以外の製品ですとこちらのAPIゲート上を置ける場所に製薬があったりとかする場合もあるのでこちらスリースケルの強みとも言える機能になっておりますこちらですね内部ゲート上というものを置きましてこちら内部ゲート上はこのバックエンド関連形に使いましてこうすることによって外からAPIが見えないといったような形になりますでは次にコミュニティのアップストリームの事例を紹介いたします弊社の強みとしてコミュニティとの強固な関係を持っているというところはございますがそちらの事例となります今回の事例ではレッドハッドSSOのベースとなるOSSのキークロークがファピーに順協しているというところが製品が選ばれた重要なポイントの一つとなっておりますこちらのファピーなんですけどオープンIDファンデーションというところによって定められる企画になっておりましてオープンIDファンデーションがサーティフィケーションのプログラムというニーティプログラムを提供しているんですけどまだキークロークとレッドハッドSSOは取得していないというところがございました発展していてどんどん新しい企画が出てきているというところがございますこういった動きに対応するために弊社のメンバーが中心になりましてキークロークのコミュニティの中にファピーシグというグループを立ち上げまして弊社のメンバーが技術リーダーに就任してこちらのキークロークコミュニティの下にあるリポジトリーで活動しております機能面では既にファピーのサーティフィケーションに必要なパッチは一通り開発して取り込みは終わっております大きな機能面ではピクシー、ホールダウブキー、署名アルゴリズムの強化などそういったものはだいぶ前からもう既に取り込まれておりまして最近ではファピーの細かいところに対応するための設定フレームワークなどを取り込んでおりますまたファピーに関連する新しい企画の機能面についてもコミュニティメンバーと分担して今順調に実装が進んでいるというところになっておりますまた国内顧客からのご要望についてもパッチ投稿いろいろと行っておりましてパスアドレス認証の標準であるウェヴォースンでありますとかまたAPIを認可サーバー用途に使うといろいろ使い勝手があまりよろしくないところがあったので具体的には周りのポリシーがやりづらいところでありますとかインターフェースがちょっと標準と違ってたところがあったのでそこの標準対応また細かなバグフィックスそういったものに対応しておりますまたこちらのパッチ投稿だけではなくてシンクイッドさんのというメディアにキークロークを使ったAPIセキュリティ加工についても連載を行っておりますコミュニティのアップストリーム2つ目がスリースケールの機能エンハンスというところになりますスリースケールはだいぶ前からある製品でしてだったんですけど金融分野にAPI管理が使われ始めたというのは結構最近のことでして金融顧客にスリースケールを適用するにあたって様々なカスタマイズが当初は必要になっておりましたカスタマイズを前でやっていると将来にわたっても大変ですので将来のカスタマイズを不要にできるように様々な機能をスリースケールのコミュニティにアップストリームをかけておりますこちらの下にいくつか例を示しております例えばアクセストークのチェックに当初いろいろとカスタマイズが必要だったんですけどこちらのカスタマイズを不要とするトークイントロスペクションポリシーというものを取り組んだりでありますとかバックエンドを保護するための流量の制御が不足しているとそういった同時接続数、秒単位の流量制御といったような細かな制御を行えるレートリミットポリシーというものを投稿しておりますこちら2つの機能については既にスリースケールの商用場にも取り込まれておりまして今や使用機能となっておりますまた最近取り込まれた機能としましてプロケシープロトコルというものがございましてこちらがないとアクセス元のウェブサーバーの判別は難しいというのがあったんですけどこちらに対応するプロケシープロトコルポリシーというものをコミュニティにアップストリームしておりましてコミュニティには取り込みが終わって製品もおそらく最新版には取り込まれているかと思いますまとめとなりますが本セッションではオープンシフトとその上のミドルであるレッドハットインテグレーションを活用したAPIキマンの構築の事例について紹介しましたひたちはコミュニティ貢献で土地かったレッドハット製品の深い知見と豊富な構築経験で終わって製造を用いたAPI認証認可というそういったセキュリティのご相談からオープンシフトの上の本格的なAPI管理の企画から構築運用までも支援しておりますオープンシフト上にAPI管理を構築したい場合はぜひお声分けいただければと思います最後に最新のニュースについてご紹介させていただきます弊社のコズミネクサスという金融系をはじめ多くのミッションクリティカルな業務システムでご利用いただいているAPサーバーの製品があるのですがこの度レッドハットさんのクーバネティスオペレータープロジェクトの対応を表明いたしました弊社もオープンシフトの上のオペレーター対応というのもどんどん進めていこうと考えておりますまた本日のこのイベントの後にあるオープンシフトのコミュニティイベントのオープンシフトランの方でも弊社の方からクオカスの上のキークロックという最新の技術検証の結果についてもご報告させていただきますのでそちらのイベントの方も合わせてお願いできればと思います私の方からは以上となりますありがとうございました