最新動向
イノベーションセンターの星野と名雲です。 前回に引き続き、2020年8月上旬にオンラインで開催されたBlack Hat USA及びDEF CONの発表内容を2つ、紹介します。 BlackHat及びDEFCONについては、去年の参加記事を御覧ください。 この記事では、以下の2つの講演…
イノベーションセンターの山本と久保です。 2020年8月上旬にオンラインで開催されたBlack Hat USA及びDEF CONの発表内容を一部調査しましたので報告します。 Black Hatは世界最大級の商業系セキュリティカンファレンスで、毎年USA、Europe、Asiaの三地域で開…
12月上旬にロンドンで開催されたBlack Hat Europe 2019に技術開発部セキュリティユニットの伊藤・山本が参加してきましたので報告します。 尚、Black Hatについては以前の記事、「Black Hat USA 2019 / DEF CON 27に参加してきました」にも詳細を掲載してお…
技術開発部セキュリティユニットの小林です。 開催中の大規模スポーツイベントに便乗したサイバー犯罪が報告されています。^1 端的に言えば「無料で試合をインターネット中継します」という触れ込みで、メールアドレスやパスワード、クレジットカード番号の…
こんにちは、技術開発部 セキュリティユニットの田中です。社内のセキュリティエンジニアのメンバーで、サイバーセキュリティ関係の話題を書いていきます。初回となる今回は「ラテラルフィッシング」についてお送りします。 ラテラルフィッシングとは? 皆さ…
先日、TwitterがAPI利用に対する締め付けを突然厳しくしました。元々規約にあった、複数のアプリケーションキーを一つのサービスで利用している問題に対するものですが、利用していないはずの開発者も凍結対象になってしまったようです。 よく知られたところ…
改ざんを防止するJSONとして注目されているのがJSON Web Tokenです。署名することでデータの改ざんを防止しつつ、URLセーフな仕組みとなっています。JSON自体は誰でも閲覧できるのでセキュアな情報を送るのには適していませんが、改ざんしたとしてもそれを検…
綺麗なAPIとは開発者にとって理解しやすく、使いやすいAPIです。さらに提供側にとってはメンテナンスしやすく、拡張性も担保されたものになります。そうしたAPIを設計するのは容易ではありませんが、幾つかのルールを設けておくことでも十分に綺麗に設計でき…
SwaggerやOpen API Specification(以下OAS)はAPIのデファクトフォーマットになってきています。特にこれらのフォーマットでドキュメントを作っておくと、関連するライブラリやドキュメントが自動生成できるのが便利です。 Swagger/OASを使ったモックサーバ…
皆さま、明けましておめでとうございます。2018年になりました。個人、企業ともに新しいチャレンジを行っていく計画を立てるのに良い時期です。そこで、APIという視点において今年はどんな年になるのか紹介したいと思います。 ECサイト オンライン決済におい…
APIを公開して新しい収益軸にしたいと考える企業が増えています。しかし、その際に何からはじめれば良いか分かっていない方も多くいます。今回はAPI提供の企画段階から考えていくべきポイントを紹介します。 自社だけの資産を見つける API公開する上で肝にな…
APIを新しいビジネスとして、新たな収益源にしたいと考えたとしましょう。通常のWebサービスであれば利用する度に課金したり、月額課金モデルなどが有名ですが、APIにおいてはまた別な観点で戦略を考える必要があります。 今回はそうしたAPI事業化に対する懸…
APIはシステム連携で使われるため、一度開発してから頻繁に手を入れなくなるかも知れません。しかし常に新しい人たちが使っていくことを考えると、レガシー化して古い技術を使い続けるのも躊躇されます。そこで今回はAPIがレガシー化しないための方法を紹介…
単一のエンドポイントで、クライアント側で指定することで任意のデータを取得できるGraphQLですが、ビジネスで利用する際に必ず注意しなければならないのがセキュリティでしょう。GraphQLを利用、提供する上での注意点を紹介します。 認証 GraphQLではサーバ…
APIはApplication Programming Interface(アプリケーション・プログラミング・インタフェース)の略語です。アプリケーションやシステムを開発するためのインタフェースといった意味になります。 今でこそWeb APIもAPIと呼ばれたりしますが、元々APIという…
APIファーストが叫ばれる時代になって、企業間連携が多くなっています。しかしその前からシステム間連携がなかった訳ではありません。ともすればAPIではなく、旧来の手法でのシステム連携でも良いのではないかという考えも出てしまうでしょう。 そこで今回は…
元々CMS(コンテンツ・マネジメント・システム)というのはWebサイト構築に使われてきました。有名なところとしてはDrupal、WordPress、MovableTypeなどがあります。いずれもHTMLを出力するもので、ブログや一般的なWebサイト構築に使われています。 そんな…
大企業であったり、複数の事業をもった企業では部署やサービス毎にAPIを公開することがあります。統一されていない、基準のない中でAPIを公開すると、ユーザにとって不利益をもたらすことになったり、企業にとっても管理、運用コストの増大というデメリット…
CA Technologies社がグローバルなAPI利用に関する調査、APIs:Building a Connected Business in the App Economyを公開しました。特にエンタープライズ企業におけるAPI利用率の高さが伺える調査となっています。 この記事ではこのレポートの主だった内容の紹…
APIというとシステマチックな仕組みなので、中小企業とくにスタートアップが取るべき施策であるかのように感じてしまうでしょう。しかし、実際のところ大企業ほどAPI施策に向いています。この記事ではその理由について取り上げたいと思います。 数多くある事…
今なお多くの企業でメインフレームと呼ばれるシステムであったり、そこまで古くはなくとも20年近く動作している業務システムが存在します。そして多くの企業でリプレース案件が動いていたりします。 しかしシステムの全面的なリプレースにおいてうまくいった…
企業間におけるAPI活用が進んできています。クラウドベンダーの提供するAPIに限らず、これまでAPIを提供してこなかったような企業でもAPIを使ってビジネス拡大を図るケースが増えています。 そこで今回は企業がAPIを公開することで得られるメリットについて…
多くの企業では元々Webサービスやリアルビジネスを提供しており、その機能の一つとしてAPIを提供します。APIは開発者にとって便利な仕組みですが、提供開始したからといっていきなり利用が拡大する訳ではありません。きちんと啓蒙活動を行わなければならない…
企業がAPIを使う側に立った時、それは一つのAPIだけを使うとは限りません。APIでは複数のAPIを組み合わせるマッシュアップと呼ばれる形態が存在します。同じ市場に存在するAPI同士を組み合わせることで、API提供元ではできないサービスを提供できる可能性が…
2016年あたりから注目されるようになった技術ワードにサーバレスがあります。サーバレスアーキテクチャといった単語は一度は見聞きしたことがあるのではないでしょうか。 サーバレスアーキテクチャはAPIと相性が良いと言われていますが、そもそもサーバレス…
これからシステムにAPIを組み込んでいこうとした場合、まず真っ先に思いつくのがRESTful APIではないでしょうか。なんとなくは分かっているつもりでも、意外といざ実装してみると難しいのがRESTful APIです。今回はその基本的な考えを紹介します。 HTTP/HTTP…
企業間におけるAPI利用が拡大していくと、API自体が利益を生み出すAPIエコノミーが広がっていきます。APIエコノミー自体については以前記事にしていますが、その中で考えるべき視点がサービスのAPI化です。 より複雑な処理をRESTfulで処理する 単純なデータ…
APIは一般的にプル型の技術です。クライアント側からアクセスがあるまでは待ちの状態になります。クライアント側から見ても、サーバ内部でどのデータが更新されているのかはアクセスしてみるまで分かりません。この手の問題で厄介になるのが「どのデータが削…
マイクロサービス システムをごく小さくまとめ、APIベースで機能を提供するマイクロサービスがより広がっていくと考えられます。多くのモノリシックなシステムにおいて密結合が拡張性やメンテナンス性において負の資産となっています。マイクロサービス化す…
APIは外部リソースからデータを取得して他のデータと合わせて自分たちのサービスに付加価値を追加できますが、同じように外部からデータを取得する手法としてスクレイピングが知られています。今回はスクレイピングとAPIの違いを紹介します。 スクレイピング…
多くのAPIが認証情報とともに実行されます。実行ユーザを特定する目的の場合もあれば、APIキーのような情報を使ってコール数をカウントする目的で使うこともあります。 今回はそんなAPIにおける認証情報をAPI中のどこに持たせるのが良いか、紹介します。 URL…
Webブラウザは常にセキュリティ、ユーザへの安全なインターネット提供を前提に作られています。そのため外部リソースを組み合わせて使うAPIとは相性が悪いことがあります。iOSやAndroidといったスマートフォンアプリやサーバサイドのプログラミング言語では…
APIを使ったシステム開発で常に問題になるのがレスポンスです。一つ一つのレスポンスは高速であったとしても、リクエスト数が増えればトータルのレスポンスが遅くなっていきます。 今回はAPIのレスポンスを最適化するためにできる改善案について紹介します。…
Swaggerをベースとして策定が進んでいるOpenAPI Specification 3.0ですが、その内容がブログ記事になっていました。 大きく分けて6つの点が課題として掲げられています。 1. 構造の改善 Swaggerでは粒度が異なる状態で混在していた構造について、大きく変更…
これから新機能をマイクロサービスとして作る場合、どういった用途であれば向いている言えるでしょうか。向き不向きを正しく把握できれば、開発しやすく、かつメンテナンスしやすいシステムが作れるはずです。 1アクセスが1秒以下 サーバレスアーキテクチャ…
サーバレスアーキテクチャの代表例として知られているAWS Lambda。今回はそんなLambdaがどんな目的で使われているか紹介します。 CI 継続的インテグレーションをLambdaで行う方法です。昔はCIサーバを用意するのが基本でしたが、開発用途のサーバを構築、メ…
ここ1、2年くらいで注目が集まっているのがマイクロサービスと言われるシステムアーキテクチャです。今回はそんなマイクロサービスの特徴を紹介します。 小さくシステムを定義して組み合わせる マイクロサービスはその名の通り、小さな(マイクロ)サービス…
RESTfulなAPIを作ろうと思った時の参考になるのがRESTful成熟度の3レベルモデルです。自分たちのAPIがどの立ち位置にあるのかが分かれば、どう改善することでよりRESTfulとして成熟するかが分かるようになるでしょう。 レベル0 まず最初の状態ですが、これは…
JSONがAPIの基本フォーマットとも呼べる存在になって久しいですが、それによって逆にJSONが持つ緩さが問題になるケースがあるようです。そのため、多くの拡張フォーマットが作られています。 今回はその一つ、JSendを紹介します。JSONフォーマットに一定のル…
xTech is the keyword for which we at the API team advocate. Now, we would like to present an overview of the concept. What is xTech? As of late, the buzzword "FinTech" has been making the rounds. This term was coined by combining the terms…
RESTful APIはモデルごとにパスを作成し、IDをつけてCRUDなデータの操作を行えるようにしています。これはとても分かりやすい反面、クライアント側ではレスポンス形式を指定できないという欠点があります。 場合によって欲しいデータが異なる際には ?include…
Swaggerでドキュメントを記述していて詰まるところが幾つかあります。今回はその注意点を紹介します。 リクエストパラメータは配列、レスポンスはオブジェクト 最も戸惑うのがこの点です。リクエストパラメータは次のように定義します。 "parameters": [ { "…
Swaggerフォーマット(Open API Specification)でAPIドキュメントを作成するとどんなメリットがあるのか紹介します。一つのフォーマットから多彩な展開ができるようになっていると、開発工数を低減や品質向上に大きく寄与するはずです。 ドキュメント Swagg…
私たち、APIチームが提唱していこうとしているのがxTech(エクステック)と言うキーワードです。今回はその概要を紹介します。 xTechとは? 最近話題になっているFinTechというキーワードがあります。Finance(金融)×Technology(技術)という二つのキーワ…
今回はAPIのバージョン管理について主なパターンと、既存のソフトウェアで使われるバージョン管理との相違点について紹介します。 パス もっともオーソドックスな方法と言えます。多くの場合、次のようになります。 /v1/users またはバージョン番号を日付で…
7月22日に行われたAPI Meetup Tokyo #15はOpenAPI Specification(旧Swagger)特集でした。イベントの告知後、あっという間に満席になってしまったというほど、注目が高まっているOpenAPI Specification、今回はそのレポートになります。 1. OpenAPI Specifi…
開発したAPIを広めるために行っていきたい施策を紹介します。ただ漫然と公開すれば良いのではなく、より広めていくための活動を行ってこそ、APIを使ったビジネス化が実現できるようになるでしょう。 自分たちが率先して使う 開発したAPIを外部企業に使って欲…
APIにはHTTPアクセスをそのまま提供するだけのものもありますが、SDKや専用ライブラリを提供しているものもあります。今回はそんなSDK、ライブラリを利用する(または提供する)メリット、デメリットを挙げたいと思います。 メリット 利用者側の視点で考えた…
APIを多用して開発を進めていると、次第にシステムが複雑になってくるのが実感できるはずです。要因を挙げつつ、その回避策を紹介します。 APIの種類の増加 データを検索、加工、保存、外部への通知など様々なデータソースに対してAPIリクエストを行っている…
APIを設計する上でバージョン管理をどのように行うかは常に頭を悩ませる問題です。しかし、そもそもバージョン管理が必要なのでしょうか。今回はそんな問題提起と、その解決策の紹介です。 結局バージョン2が出てこない APIのあるある問題として、バージョン…