Infura では API Key は公開しても良い(らしい)
Published at: 2022/12/26
Infura はさまざまなブロックチェーンへの HTTP (json) プロキシーとして利用できる、 Consensys 社の SaaS である。 アカウントを作成してログインすると、まず最初に API キーが発行されたことと、各種チェーンの情報へアクセスするためのエンドポイントの一覧が表示される。
この API キーについて、特に URL のパスに埋め込まれていることからも、設計としてエンドユーザーに対してこれを秘匿しなければならない感じが、あまり見受けられなかった。 セキュリティインシデントはあまり起こしたくないので、特に、 Infura を SPA に組み込んだ場合において、セキュリティはどうするべきかについて調べていば備忘録。
回答: API Key はユーザーに公開されてても問題なさそう
まず、 Infura には API Key と API Key Secret という、2つの鍵っぽいものがある。 そして、これらの資料ページの url (それぞれ末尾が project-id と project-secret )を見ていると分かる通り、それぞれは元々 Project ID と Project Secret という名称で整理されていた模様。
Is it OK to expose my Infura Project ID while connecting via web3js on the client side? - Questions - Infura Community
It is currently fine, we expect the Project ID to be used when sending requests from client facing applications and when being sent from private backend systems or servers. The Project Secret provides another layer of s…
community.infura.io
そして、上記のスレッドによれば、 Project ID (現 API Key) と Project Secret (現 API Key Secret) のうち、 Project ID はフロントに公開してしまってもかまわない、という旨の発現がある。 (また、 Project Secret の方は、セキュリティのためにオプトインとして利用することもできる、との記述もある)
よって、 Web3 のアプリ (dApp) を React などの SPA で構築する際においても、 Ethereum 等へ接続するためのプロキシとして Infura を利用する場合に、その API Key は SPA にそのまま埋め込んでしまっても、現状では良さそうだ、と考えられる。
Tags: web3infura
Related Articles
加納裕三 on クリプト at youtube 動画の抜粋
2022/12/3