APIで取得する、さくらのクラウドのシークレットマネージャ活用法 | さくらのクラウドラボ by NETASSIST
さくらのクラウドのシークレットマネージャを使い、DBパスワードなどの機密情報を安全に管理する方法を解説します。KMSキー・シークレット保管庫の作成から、APIキーやサービスプリンシパルを使った取得方法、運用時の注意点まで紹介します。
こんにちは、UOZUです!
以前、さくらのクラウドの「シークレットマネージャ」を利用して、API経由でパスワードを取得する方法を紹介しました。
APIで取得する、さくらのクラウドのシークレットマネージャ活用法
2026年10月28日、さくらインターネットからシークレットマネージャのAPI仕様変更が発表されました。
今回の変更は、既存のプログラムやスクリプトに影響する可能性があるため、内容を確認していきましょう。
今回変更されるのは、APIでシークレットを取得する際のバージョン指定方法です。
従来は、バージョンに 0 を指定すると最新のシークレットが取得できましたが、変更後はエラーとなります。
| 指定方法 | 変更前 | 変更後 |
|---|---|---|
Version: 0 | 最新版を取得 | エラー |
Version: null | 最新版を取得 | 最新版を取得 |
Version: 1 | バージョン1を取得 | バージョン1を取得 |
変更予定日は2027年1月21日(木)です。
これまで正常に動作していたプログラムでも、Version: 0 を指定している場合は、変更後にシークレットの取得に失敗する可能性があります。
APIで最新のシークレットを取得する場合は、リクエスト内容を修正する必要があります。
例えば、以下のようなJSONを送信している場合です。
変更前
{
"Secret": {
"Name": "uozu-db-password",
"Version": 0
}
}
変更後
{
"Secret": {
"Name": "uozu-db-password",
"Version": null
}
}
また、API仕様では Version は必須項目ではないため、次のように省略することもできます。
{
"Secret": {
"Name": "uozu-db-password"
}
}
以前の検証記事では Version を「1」と指定してAPIを実行しているため、今回の変更による修正は不要と考えられます。
シークレットマネージャをAPI経由で利用している場合は、以下の点を確認しておきましょう。
Version: 0 を指定していないか0 にしていないか特に、シークレットのバージョンを数値型で管理しているプログラムでは、意図せず 0 が指定されている可能性もあります。
APIの利用状況を確認し、必要に応じて事前に修正・動作確認しておくことをおすすめします。
今回は、さくらのクラウド「シークレットマネージャ」のAPI仕様変更について紹介しました。
変更されるのはバージョン指定に関する一部分ですが、シークレットの取得に失敗すると、アプリケーションの認証処理などに影響する可能性があります。
2027年1月21日の変更予定日までに、既存のAPI利用方法を確認しておきましょう。
詳細については、さくらインターネットの公式発表をご確認ください。
シークレットマネージャ シークレット取得APIの振る舞い変更のお知らせ
最後までお読みいただき、ありがとうございました!