REST API を簡単に作成・ホスティングする 『さくらのAPI ゲートウェイ』その2
はじめに & 前回のおさらい
前回の記事ではさくらのクラウドが提供する『さくらのAPI ゲートウェイ』の基本機能、サービスが生まれた背景、初期設定方法などをご紹介しました。
第二回のこの記事ではもう少しいろいろな機能を見ていきます。
認証
APIは外部に完全にパブリックで公開し必要に応じてアプリケーションレイヤーで認証を行うケース(例: Bearerトークン等)もあれば、基盤そのもので認証を設定し、アプリケーションコーディングをより簡素に保つケースもあります。さくらのAPIゲートウェイでは後者の機能が提供されています。
特にまだ公開前だがインターネット経由での通信を用いたテストを行いたい場合や、関係者のみが利用可能なAPIを提供したい場合などに便利です。
このブログでは一番シンプルなBasic認証を行ってみます。
0. 事前準備
前回の記事(URLの挿入)の手順が終わっているものとします。その記事で設定したドメインに対してBasic認証を設定していきます。
1. グループの設定
まずは認証認可を通過させるユーザーが属するグループを作成します。
コントロールパネルの左ペインから グループ一覧 をクリックして、グループ作成 をクリックします。
適当な名前を付けて 作成 をクリックします。
無事作成されました。
2. ユーザーの作成とグループへの登録
次に今作成されたグループにユーザーを作成して登録します。
左ペインから ユーザー一覧 をクリックして、 ユーザー作成 をクリックします。
適当なユーザー名を付けて 作成 をクリックします。
作成されたユーザーをクリックすると、左ペインに ユーザー所属グループ が新しく表示されますので、クリックして、所属させたいグループを選択します。
所属グループ更新 をクリックします。
3. 認証情報の設定
次に同じく左ペインに表示されている、ユーザー認証情報 をクリックして、 編集 をクリックします。
Basic 認証 のトグルをオンにし、ユーザー名とパスワードを入力後、更新 をクリックします。
4. ルートの認可設定
作成されたルート詳細画面を開くと、左ペインにルート認可設定が新しく表示されますのでのルート認可設定画面を開いて認可設定のトグルをオンにします。
認可設定更新 をクリックします。
5. サービスの認証設定
最後のステップです。
サービスの詳細画面から 編集 をクリックします。
認証設定で Basic認証 を選択して 更新 をクリックします。
6. テスト
ではテストです。設定したドメインに対してアクセスを行うとIDとパスワードが求められます。正しく入力できればアクセスがおこなえます。
独自ドメイン名の設定
例えばAPIゲートウェイが自動で生成するドメイン名 は site-zxib9fszv0alb0ju.tk1.apigw.sakura.ne.jp ですが、ここにDNSサービス側でCNAMEを設定し独自ドメインを設定しても以下の様にエラーになります。
これは外部の第三者が勝手に自分が保有するドメインでCNAMEを設定し、APIゲートウェイでホスティングされているAPIを自分のものであるかのように扱うことをブロックする基本的なセキュリティ機能です。独自ドメインを設定する場合、APIゲートウェイ側でも受け入れるドメインを指定しておく必要があります。
1. ドメイン名の設定
左ペインから ドメイン管理 をクリックします。
CNAMEを設定したいドメイン名を入力します。
最後に 反映 をクリックします。
2. ルートの編集
ルートの詳細画面から編集をクリックすると、今設定したドメインを指定できます。
3. DNS側でCNAMEの設定
APIゲートウェイの設定が整ったので最後の設定ステップとしてドメインを管理しているDNSサービスでCNAMEを設定ます。このDNSサービスは、必ずしもさくらインターネットのDNSサービスでなくても問題ありません。注意点ですが、作成したAPIがデフォルトで保持しているドメイン(例:site-zxib9fszv0alb0ju.tk1.apigw.sakura.ne.jp)ではなく必ず cname.tk1.apigw.sakura.ne.jp に対してドメインを設定してください。TLS通信を行う場合は電子証明書も必須になりますので以下の様にアップロードしておきます。
4. テスト
設定したドメイン名で無事アクセスが出来れば成功です!
まとめ
この記事ではAPI ゲートウェイの機能を見ていきました。第一回でも触れた通りAPIの安定性や運用性はITが支えるビジネスの生命線ともいえます。是非ご活用ください。
















