iT邦幫忙

0

Day14.隱私與授權金鑰保存

  • 分享至 

  • xImage
  •  

前言
現實世界的 API 很多都不是完全公開的,會要求你帶金鑰才能查。只要有金鑰,就一定要想三件事:放哪裡不會被亂看到、哪些人能看、過期或失效時要怎麼換。今天我打算把這三件事寫成一篇說明。
一、什麼是「金鑰」,為什麼要保護?
•可以想成是借書證或門的磁扣。
•金鑰會記錄是誰在用、用了幾次,被別人拿走就可能被亂用或用到超量。
•所以它跟密碼一樣:可以用,但不要亂放,也不要貼到公開的地方。
二、金鑰不可以放的地方
•前端程式碼裡(HTML、Vue、React、Flutter):別人按 F12 就看得到。
•公開的 GitHub / Gist / 社群貼文:會被爬,等於外流。
•截圖上傳:管理畫面一起拍到金鑰會被別人抄走。
•報告投影片:PDF 會一直流傳,金鑰也會一直在。
一句話:只要是不必登入、誰都看得到的地方,就不要放金鑰。
**三、要放哪裡? **
等級 1:
•放在私有的文件或筆記(Notion、Google 文件、學校雲端、有成員限制的群組)。
•文件裡標註「本金鑰僅用於臺北公車專題測試,不得外傳」。
•好處是快、好協作,但只是暫存,不是最安全。
等級 2
•程式、n8n、Postman 不要寫死金鑰,只寫 ${BUS_API_KEY} 這種。
•真的的值放在系統的環境變數,要用的人自己在本機設。
•好處:程式可以公開,金鑰不會跟著走。
等級 3:
•用 GitHub Actions secrets、Railway/Render/Vercel 的環境變數設定,或雲端的密鑰管理。
•優點是程式碼可以公開,但金鑰只有平台知道。
四、要記 log,但不要記太多
可以記:呼叫了哪一支 API、呼叫時間、結果是 200/429/500、是哪個使用者或排程叫的。
不要記:整串金鑰、header 裡的授權碼、完整 cookie。
如果要知道是哪一把金鑰在用,可以只記前後幾碼,例如:
使用金鑰:bus-key-****-e742
五、金鑰壞掉或過期要怎麼辦
•出現 401/403 或回應說 key invalid,先檢查自己有沒有貼錯。
•如果沒貼錯,就通知金鑰管理的人(你或組長)。
•產新的金鑰後,要同時更新:私有文件、Postman 環境、n8n/排程。
•在文件上註記更新日期與金鑰版本,例:2025-10-30 更新臺北公車 API 金鑰 v2,舊金鑰將於 2025-11-15 停用。
六、公開範例要怎麼寫
•寫成 YOUR_API_KEY_HERE。
•或寫成 taipei-bus-test-xxxx。
•或寫「此處請填入環境變數 BUS_API_KEY」。
•不要真的貼一個看起來像真的 key。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言