views4GCPのストレージサービスについてまとめてみた。Exp:28783最近GCP始めたエンジニアです。機械学習系APIを使用してアプリを作ってます。趣味はボードゲームです。TweetShareHatenaAPI開発していて面倒な物の一つにアクセス制御があります、バックエンド側にアクセス制御のコードをあまり書きたく無いというのもありますが、Apigeeを使って任せてしまえる部分は任せてしまいましょう。Apikeyによるアクセス制御まずApigeeでApikeyを使ったアクセス制御の方法を解説します。以下のような構成のものを作成していきます。ApikeyというのはそのままですがAPIの鍵です。この鍵が無いリクエストは弾き、鍵を持っているリクエストのみ受け付けるように実装していきます。Proxiesに移動し、右上の[+Proxy]で新しいAPIProxyが作成できます。通常のReverseProxyで作成します。プロキシーの名前やパス、バックエンドAPIを指定します。バックエンドAPIとして、ExistingAPIはGO言語で作成されたHTTPサーバを動かしていますのでそちらを指定しています。World」を返すだけのHTTPサーバです。セキュリティ設定画面です。throughを選択(ApiKeyを選択するとApikey用の設定がほぼ完了します)次に、VirtualHostsの設定です。defaultのみにチェックを入れます。最後に、デプロイ先にtestを指定します。以上で、APIProxyの作成が終了です。Apikeyでのアクセス制御の実装Apikeyポリシーの追加APIの疎通を確認したいためTRACEタブへ移動し、URLをコピーしサーバまでリクエストが届いているか確認します。レスポンスが帰ってきています。Apikeyポリシーを作成していきます。Key]を選択して[Add]してくださいApikeyの検証自体は、このポリシーを追加するだけで完了します。追加した段階でAPIにリクエストを投げて見るとApikeyが無いというエラーが帰ってくる事が確認できると思います。Message]も[Add]しますVerifyAPIKeyを確認するとデフォルトではAPIKeyはリクエストのQueryParam内の[apikey]を参照する設定になっています。バックエンドとしてはQueryParamのapikeyを処理するロジックは持っていないため、存在していてもしょうがないためAssignMessageでQueryParamを削除してしまいましょう。デフォルトでは様々な物が記述されていますが、[QueryParam]を削除したいだけなので[Remove]タグの[QueryParam]部分を残して他の部分を削除しましょう。削除するパラメータ名を[apikey]に変更します。proxies]に先ほど作ったAPIProxyを追加します。Pathの指定はしなくて良いです続いてDevelopersの登録です。各項目を埋めて作成してください。最後にAppsの登録です。Productsを追加し、Appを作成します。作成したAppの[Credentials]配下に[Key]が作成されているのでコピーしてくださいこちらがApiKeyになります。Session]を押して赤色になったらテストを開始できます。Apikeyをつけずにリクエストきちんと動作しているようですねApigeeがApikeyが無いためリクエストを弾いてバックエンドまで届いていない事がわかります続いて先ほどコピーしたApikeyをつけてリクエストしてみます。URLの最後に[?apikey={自分のApikey}]を追記してリクエストを送ります。world]が帰ってきました。TRACEを確認しても、Apikeyのポリシーを超えてきちんとバックエンドまでリクエストが届いているのが分かります。以上でApikeyでのアクセス制御の実装が完了しました。最後にいかがだったでしょうか?自分で作成したAPIに簡単にアクセス制御の機能をつける事が出来ました。・APIの呼び出しに関するアナリティクスといったような、API開発に関する様々な機能が充実しています。