5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

APIキーをセキュアに管理する方法について調べた

Last updated at Posted at 2020-12-17

この記事は ちゅらデータアドベントカレンダーの15日目の記事 になります。

遅刻しました許してください

はじめに

この記事ではAPIキーとひとくくりにしていますが、いわゆる文字列の羅列によって構成されるようなものを指して、これらのキーを流出させないように、また不正利用されないようにどのように管理していくのが望ましいかをまとめていきたいと思います。

1. 環境変数に保管する

まず文字列で構成される場合だと、プログラムに直接書いておくことはとても危険な保管方法になります。ましてチーム開発ともなってくると、gitなどを用いたコード管理も必要になるため、プログラムからキーが流出してしまうリスクも高くなってしまいます。なのでできる限り環境変数に保管しましょう。

2. 機密情報を扱えるライブラリを使用する

例えば dotenvdirenv のような 機密情報をまとめたファイル(.env)をプロジェクトやディレクトリごとに管理することができるライブラリです。

.env については多くの言語の間でも共通認識で管理していることが多いためぜひとも推奨したいです。

3. サービスごとの制限を活用する

例えばGoogle Cloud Platformに属するAPIキーではキーを利用する元を制限することができたり、利用できるAPIのなかでも部分的に機能を使うための権限だけを与えたりするといったことが可能です。

↓画像はGCPのAPIキー管理画面です。
スクリーンショット 2020-12-17 22.57.59.png
スクリーンショット 2020-12-17 22.59.05.png

ここをキッチリしておくことでよりセキュアにAPIキーを管理することができます。

まとめ

できる人には当たり前の考え方だったりしますが、初めて聞くような管理方法があったならぜひ皆さんの開発に取り込んでいただければと思います。

明日、17日目は @yamachaaan さんが spaCy 業務で使える自然言語処理ライブラリ について紹介してくれます!

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?