最新動向

Black Hat USA 2020・DEF CON 28調査報告 Part2

イノベーションセンターの星野と名雲です。 前回に引き続き、2020年8月上旬にオンラインで開催されたBlack Hat USA及びDEF CONの発表内容を2つ、紹介します。 BlackHat及びDEFCONについては、去年の参加記事を御覧ください。 この記事では、以下の2つの講演…

Black Hat USA 2020・DEF CON 28調査報告 Part1

イノベーションセンターの山本と久保です。 2020年8月上旬にオンラインで開催されたBlack Hat USA及びDEF CONの発表内容を一部調査しましたので報告します。 Black Hatは世界最大級の商業系セキュリティカンファレンスで、毎年USA、Europe、Asiaの三地域で開…

Black Hat Europe 2019に参加してきました

12月上旬にロンドンで開催されたBlack Hat Europe 2019に技術開発部セキュリティユニットの伊藤・山本が参加してきましたので報告します。 尚、Black Hatについては以前の記事、「Black Hat USA 2019 / DEF CON 27に参加してきました」にも詳細を掲載してお…

【注意喚起】スポーツイベントに便乗した情報窃取事案

技術開発部セキュリティユニットの小林です。 開催中の大規模スポーツイベントに便乗したサイバー犯罪が報告されています。^1 端的に言えば「無料で試合をインターネット中継します」という触れ込みで、メールアドレスやパスワード、クレジットカード番号の…

ラテラルフィッシングの実態(USENIX Security 2019より)

こんにちは、技術開発部 セキュリティユニットの田中です。社内のセキュリティエンジニアのメンバーで、サイバーセキュリティ関係の話題を書いていきます。初回となる今回は「ラテラルフィッシング」についてお送りします。 ラテラルフィッシングとは? 皆さ…

APIを利用したビジネスのリスク

先日、TwitterがAPI利用に対する締め付けを突然厳しくしました。元々規約にあった、複数のアプリケーションキーを一つのサービスで利用している問題に対するものですが、利用していないはずの開発者も凍結対象になってしまったようです。 よく知られたところ…

JSON Web Tokenの使いどころ

改ざんを防止するJSONとして注目されているのがJSON Web Tokenです。署名することでデータの改ざんを防止しつつ、URLセーフな仕組みとなっています。JSON自体は誰でも閲覧できるのでセキュアな情報を送るのには適していませんが、改ざんしたとしてもそれを検…

綺麗なAPIを設計するには気をつけたい5つのポイント

綺麗なAPIとは開発者にとって理解しやすく、使いやすいAPIです。さらに提供側にとってはメンテナンスしやすく、拡張性も担保されたものになります。そうしたAPIを設計するのは容易ではありませんが、幾つかのルールを設けておくことでも十分に綺麗に設計でき…

Swagger/OASドキュメントをSwaggerHubで管理しよう

SwaggerやOpen API Specification(以下OAS)はAPIのデファクトフォーマットになってきています。特にこれらのフォーマットでドキュメントを作っておくと、関連するライブラリやドキュメントが自動生成できるのが便利です。 Swagger/OASを使ったモックサーバ…

API界隈における2017年の主な出来事と2018年注目のキーワード

皆さま、明けましておめでとうございます。2018年になりました。個人、企業ともに新しいチャレンジを行っていく計画を立てるのに良い時期です。そこで、APIという視点において今年はどんな年になるのか紹介したいと思います。 ECサイト オンライン決済におい…

APIを企画/提供する際に考えたい5つのこと

APIを公開して新しい収益軸にしたいと考える企業が増えています。しかし、その際に何からはじめれば良いか分かっていない方も多くいます。今回はAPI提供の企画段階から考えていくべきポイントを紹介します。 自社だけの資産を見つける API公開する上で肝にな…

APIを事業化する際に考えたい6つのこと

APIを新しいビジネスとして、新たな収益源にしたいと考えたとしましょう。通常のWebサービスであれば利用する度に課金したり、月額課金モデルなどが有名ですが、APIにおいてはまた別な観点で戦略を考える必要があります。 今回はそうしたAPI事業化に対する懸…

APIがレガシー化しないためにできること

APIはシステム連携で使われるため、一度開発してから頻繁に手を入れなくなるかも知れません。しかし常に新しい人たちが使っていくことを考えると、レガシー化して古い技術を使い続けるのも躊躇されます。そこで今回はAPIがレガシー化しないための方法を紹介…

GraphQL運営で考えるべきセキュリティ

単一のエンドポイントで、クライアント側で指定することで任意のデータを取得できるGraphQLですが、ビジネスで利用する際に必ず注意しなければならないのがセキュリティでしょう。GraphQLを利用、提供する上での注意点を紹介します。 認証 GraphQLではサーバ…

APIとは。歴史を振り返る

APIはApplication Programming Interface(アプリケーション・プログラミング・インタフェース)の略語です。アプリケーションやシステムを開発するためのインタフェースといった意味になります。 今でこそWeb APIもAPIと呼ばれたりしますが、元々APIという…

旧来のシステム連携とAPI連携の違い

APIファーストが叫ばれる時代になって、企業間連携が多くなっています。しかしその前からシステム間連携がなかった訳ではありません。ともすればAPIではなく、旧来の手法でのシステム連携でも良いのではないかという考えも出てしまうでしょう。 そこで今回は…

CMSがAPIを公開する理由

元々CMS(コンテンツ・マネジメント・システム)というのはWebサイト構築に使われてきました。有名なところとしてはDrupal、WordPress、MovableTypeなどがあります。いずれもHTMLを出力するもので、ブログや一般的なWebサイト構築に使われています。 そんな…

管理されていないAPIがもたらすリスクについて

大企業であったり、複数の事業をもった企業では部署やサービス毎にAPIを公開することがあります。統一されていない、基準のない中でAPIを公開すると、ユーザにとって不利益をもたらすことになったり、企業にとっても管理、運用コストの増大というデメリット…

グローバルなAPI活用状況レポートから見る日本企業の今後の取り組み方

CA Technologies社がグローバルなAPI利用に関する調査、APIs:Building a Connected Business in the App Economyを公開しました。特にエンタープライズ企業におけるAPI利用率の高さが伺える調査となっています。 この記事ではこのレポートの主だった内容の紹…

大企業ほど進めて欲しいAPI戦略

APIというとシステマチックな仕組みなので、中小企業とくにスタートアップが取るべき施策であるかのように感じてしまうでしょう。しかし、実際のところ大企業ほどAPI施策に向いています。この記事ではその理由について取り上げたいと思います。 数多くある事…

レガシーなシステムとモダンなシステムをAPIでつなぐ

今なお多くの企業でメインフレームと呼ばれるシステムであったり、そこまで古くはなくとも20年近く動作している業務システムが存在します。そして多くの企業でリプレース案件が動いていたりします。 しかしシステムの全面的なリプレースにおいてうまくいった…

企業がAPIを公開するメリットについて

企業間におけるAPI活用が進んできています。クラウドベンダーの提供するAPIに限らず、これまでAPIを提供してこなかったような企業でもAPIを使ってビジネス拡大を図るケースが増えています。 そこで今回は企業がAPIを公開することで得られるメリットについて…

エンタープライズな領域にWeb APIを

多くの企業では元々Webサービスやリアルビジネスを提供しており、その機能の一つとしてAPIを提供します。APIは開発者にとって便利な仕組みですが、提供開始したからといっていきなり利用が拡大する訳ではありません。きちんと啓蒙活動を行わなければならない…

複数サービスをマッシュアップする際に注意したいこと

企業がAPIを使う側に立った時、それは一つのAPIだけを使うとは限りません。APIでは複数のAPIを組み合わせるマッシュアップと呼ばれる形態が存在します。同じ市場に存在するAPI同士を組み合わせることで、API提供元ではできないサービスを提供できる可能性が…

1回で分かる、サーバレスの特徴と使いどころ

2016年あたりから注目されるようになった技術ワードにサーバレスがあります。サーバレスアーキテクチャといった単語は一度は見聞きしたことがあるのではないでしょうか。 サーバレスアーキテクチャはAPIと相性が良いと言われていますが、そもそもサーバレス…

RESTful APIにおける基本的な考え方

これからシステムにAPIを組み込んでいこうとした場合、まず真っ先に思いつくのがRESTful APIではないでしょうか。なんとなくは分かっているつもりでも、意外といざ実装してみると難しいのがRESTful APIです。今回はその基本的な考えを紹介します。 HTTP/HTTP…

APIエコノミーの拡大に伴うサービスのAPI化とは

企業間におけるAPI利用が拡大していくと、API自体が利益を生み出すAPIエコノミーが広がっていきます。APIエコノミー自体については以前記事にしていますが、その中で考えるべき視点がサービスのAPI化です。 より複雑な処理をRESTfulで処理する 単純なデータ…

APIでリアルタイムコミュニケーションを実現するには

APIは一般的にプル型の技術です。クライアント側からアクセスがあるまでは待ちの状態になります。クライアント側から見ても、サーバ内部でどのデータが更新されているのかはアクセスしてみるまで分かりません。この手の問題で厄介になるのが「どのデータが削…

2017年、API界隈で起こる変化について

マイクロサービス システムをごく小さくまとめ、APIベースで機能を提供するマイクロサービスがより広がっていくと考えられます。多くのモノリシックなシステムにおいて密結合が拡張性やメンテナンス性において負の資産となっています。マイクロサービス化す…

スクレイピングとAPIの違い

APIは外部リソースからデータを取得して他のデータと合わせて自分たちのサービスに付加価値を追加できますが、同じように外部からデータを取得する手法としてスクレイピングが知られています。今回はスクレイピングとAPIの違いを紹介します。 スクレイピング…

APIにおける認証情報の取り扱い

多くのAPIが認証情報とともに実行されます。実行ユーザを特定する目的の場合もあれば、APIキーのような情報を使ってコール数をカウントする目的で使うこともあります。 今回はそんなAPIにおける認証情報をAPI中のどこに持たせるのが良いか、紹介します。 URL…

JavaScriptによる外部データの取得方法について

Webブラウザは常にセキュリティ、ユーザへの安全なインターネット提供を前提に作られています。そのため外部リソースを組み合わせて使うAPIとは相性が悪いことがあります。iOSやAndroidといったスマートフォンアプリやサーバサイドのプログラミング言語では…

APIのレスポンスを最適化するには

APIを使ったシステム開発で常に問題になるのがレスポンスです。一つ一つのレスポンスは高速であったとしても、リクエスト数が増えればトータルのレスポンスが遅くなっていきます。 今回はAPIのレスポンスを最適化するためにできる改善案について紹介します。…

OpenAPI Specification 3.0での変更点について

Swaggerをベースとして策定が進んでいるOpenAPI Specification 3.0ですが、その内容がブログ記事になっていました。 大きく分けて6つの点が課題として掲げられています。 1. 構造の改善 Swaggerでは粒度が異なる状態で混在していた構造について、大きく変更…

サーバレスアーキテクチャ/マイクロサービス向きの使い方について

これから新機能をマイクロサービスとして作る場合、どういった用途であれば向いている言えるでしょうか。向き不向きを正しく把握できれば、開発しやすく、かつメンテナンスしやすいシステムが作れるはずです。 1アクセスが1秒以下 サーバレスアーキテクチャ…

サーバレスアーキテクチャの利用例

サーバレスアーキテクチャの代表例として知られているAWS Lambda。今回はそんなLambdaがどんな目的で使われているか紹介します。 CI 継続的インテグレーションをLambdaで行う方法です。昔はCIサーバを用意するのが基本でしたが、開発用途のサーバを構築、メ…

マイクロサービスとは?

ここ1、2年くらいで注目が集まっているのがマイクロサービスと言われるシステムアーキテクチャです。今回はそんなマイクロサービスの特徴を紹介します。 小さくシステムを定義して組み合わせる マイクロサービスはその名の通り、小さな(マイクロ)サービス…

RESTful成熟度の3レベルモデルについて知る

RESTfulなAPIを作ろうと思った時の参考になるのがRESTful成熟度の3レベルモデルです。自分たちのAPIがどの立ち位置にあるのかが分かれば、どう改善することでよりRESTfulとして成熟するかが分かるようになるでしょう。 レベル0 まず最初の状態ですが、これは…

JSend - JSONに緩いルールを適用して開発しやすく

JSONがAPIの基本フォーマットとも呼べる存在になって久しいですが、それによって逆にJSONが持つ緩さが問題になるケースがあるようです。そのため、多くの拡張フォーマットが作られています。 今回はその一つ、JSendを紹介します。JSONフォーマットに一定のル…

What is xTech?

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…

Facebookが開発しているGraphQLとは?

RESTful APIはモデルごとにパスを作成し、IDをつけてCRUDなデータの操作を行えるようにしています。これはとても分かりやすい反面、クライアント側ではレスポンス形式を指定できないという欠点があります。 場合によって欲しいデータが異なる際には ?include…

Swaggerで記述する際に気をつけること

Swaggerでドキュメントを記述していて詰まるところが幾つかあります。今回はその注意点を紹介します。 リクエストパラメータは配列、レスポンスはオブジェクト 最も戸惑うのがこの点です。リクエストパラメータは次のように定義します。 "parameters": [ { "…

Swagger(Open API Specification)をベースにして生成されるデータ、コードについて

Swaggerフォーマット(Open API Specification)でAPIドキュメントを作成するとどんなメリットがあるのか紹介します。一つのフォーマットから多彩な展開ができるようになっていると、開発工数を低減や品質向上に大きく寄与するはずです。 ドキュメント Swagg…

xTechとは?

私たち、APIチームが提唱していこうとしているのがxTech(エクステック)と言うキーワードです。今回はその概要を紹介します。 xTechとは? 最近話題になっているFinTechというキーワードがあります。Finance(金融)×Technology(技術)という二つのキーワ…

APIとソフトウェアに見るバージョン管理の相違

今回はAPIのバージョン管理について主なパターンと、既存のソフトウェアで使われるバージョン管理との相違点について紹介します。 パス もっともオーソドックスな方法と言えます。多くの場合、次のようになります。 /v1/users またはバージョン番号を日付で…

API Meetup Tokyo #15 〜OpenAPI Specification (Swagger) レポート

7月22日に行われたAPI Meetup Tokyo #15はOpenAPI Specification(旧Swagger)特集でした。イベントの告知後、あっという間に満席になってしまったというほど、注目が高まっているOpenAPI Specification、今回はそのレポートになります。 1. OpenAPI Specifi…

APIによるビジネス変化を加速させる6つの施策

開発したAPIを広めるために行っていきたい施策を紹介します。ただ漫然と公開すれば良いのではなく、より広めていくための活動を行ってこそ、APIを使ったビジネス化が実現できるようになるでしょう。 自分たちが率先して使う 開発したAPIを外部企業に使って欲…

SDK、ライブラリのメリットデメリット

APIにはHTTPアクセスをそのまま提供するだけのものもありますが、SDKや専用ライブラリを提供しているものもあります。今回はそんなSDK、ライブラリを利用する(または提供する)メリット、デメリットを挙げたいと思います。 メリット 利用者側の視点で考えた…

APIが生み出す複雑性とその回避法

APIを多用して開発を進めていると、次第にシステムが複雑になってくるのが実感できるはずです。要因を挙げつつ、その回避策を紹介します。 APIの種類の増加 データを検索、加工、保存、外部への通知など様々なデータソースに対してAPIリクエストを行っている…

そのAPI、バージョン管理が必要ですか?

APIを設計する上でバージョン管理をどのように行うかは常に頭を悩ませる問題です。しかし、そもそもバージョン管理が必要なのでしょうか。今回はそんな問題提起と、その解決策の紹介です。 結局バージョン2が出てこない APIのあるある問題として、バージョン…

© NTT Communications Corporation 2014