APIキーを管理するCloudサービス
Web APIにおけるキーの管理について以下の記事で述べた。
この中でAPIキーを管理するCloudサービスについて名前だけ紹介したが中身までは触れなかった。
ここでは著名なサービスをいくつか取り上げて簡単に説明する。どんなサービスがあるのか理解する一助になれば幸いだ。
1. AWS Key Management Service(KMS)
AWS KMSは簡単に言うと暗号鍵の安全な暗号化・復号化を提供するサービスだ。方式2においてAPIキーの暗号化に使用した暗号鍵(データキー)をさらにクラウド上の暗号鍵(マスターキー)で暗号化することで安全に管理できる。
APIキーを復号化する際はまずAWSからマスターキーで復号化した平文データキーを取得し、平文データキーでAPIキーを復号化する。
マスターキーはAWS上で厳重に管理されており、盗まれる可能性が低いためハッカーが平文データキーを入手できる可能性は低い
2. AWS Secrets Manager
3. Google Cloud Key Management Service
暗号化の鍵をクラウドで管理できる仕組みだ。
方式2においてAPIキーの暗号化に使用した暗号鍵自体をクラウドで管理し、復号化するときにはkeyの名前を指定して鍵を取得する。
4. Azure Key Vault
Azure Key VaultはAPIキー自体をAzure上で管理するサービスだ。
keyに対応したvalueを返すサービスで、APIキー以外にシークレット、証明書の3種類を管理できる。
Identity Basedで特定のVMやアプリケーションからのアクセスを許容できるため、コードから完全にCredential情報を排除できる。一方、そのVMやアプリケーションが乗っ取られたらすべてを見放題になってしまう。