> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/release-notes/jp/enterprise/keeper-secrets-manager/2026/javascript-gcp-kms-storage-1.1.0.md).

# JavaScript GCP KMS Storage 1.1.0

2026年10月7日リリース

> **互換性に影響する変更**
>
> **Node.js 22以降が必須:** `@google-cloud/kms` 6.xでNode.js 22以降が必要になったことに合わせ、`engines.node` も `>=22` を宣言するようになりました。本パッケージを更新する前に、Node.jsを更新してください。
>
> **構成ディレクトリに書き込み権限が必要:** アトミック書き込みでは構成ファイルと同じディレクトリに一時ファイルを作成するため、読み取り専用ディレクトリ内の構成ファイルは `EACCES` エラーで失敗するようになりました。該当ディレクトリに書き込み権限を付与してください。
>
> **シンボリックリンクされた構成パスは非対応:** 読み込み・書き込みのいずれも、該当パスを示すエラーメッセージとともに拒否されるようになりました。`keyVaultConfigFileLocation` または `KSM_CONFIG_FILE` には実体のファイルを指定してください。

### 更新内容

* **KSM-1553:** Yarn Plug'n'Playおよび `hoist: false` 設定のpnpm環境下でパッケージを読み込めるようになりました。未宣言の依存関係であった `google-auth-library` を直接インポートしなくなりました。
* **KSM-1524:** Application Default Credentialsのパスで `getToken()` が `undefined` を返し、`RAW_ENCRYPT_DECRYPT` キーが誤った暗号処理経路に進んでしまう問題を修正。トークン取得に失敗した場合は、メッセージのみを含むエラーで拒否されるようになりました。
* **KSM-1370:** `createConfigFileIfMissing()` が `fs.access` のあらゆる失敗時に構成ファイルを再作成していた問題を修正。`ENOENT` の場合のみ再作成し、それ以外の失敗はファイルを上書きせずに伝播するようになりました。
* **KSM-1450、KSM-1458、KSM-1508:** 構成ファイルの書き込みをアトミック化し、書き込み中のクラッシュによってファイルが不完全な状態で残ることがなくなりました。また、ディレクトリのfsyncに失敗しても書き込み自体は失敗しないようになりました。
* **KSM-1455、KSM-1486:** `loadConfig()` および `decryptConfig()` が、サイズが0バイトの構成ファイルを空のものとして暗黙的に再暗号化せず、例外を送出するようになりました。
* **KSM-1457:** 空の `KSM_CONFIG_FILE` 環境変数または `keyVaultConfigFileLocation` オプションが指定された場合、現在の作業ディレクトリに解決されるのではなく、次の構成ソースへフォールバックするようになりました。
* **KSM-1459、KSM-1507:** 処理中に構成ファイルが削除された場合、`saveConfig()` がファイルの再作成をスキップしなくなりました。削除とみなすのは `ENOENT` のみで、それ以外のアクセス失敗は保存処理を拒否するようになりました。
* **KSM-1460:** 構成の自動暗号化中にKMSで失敗が発生した場合、構成ファイルの破損としてではなく、KMSエラーとして報告されるようになりました。
* **KSM-1461:** `changeKey()` に失敗した場合、キー構成とともにキータイプおよび暗号化アルゴリズムもロールバックされるようになり、構成が復号不可能な状態のまま残らなくなりました。
* **KSM-1516:** `init()` を除くすべてのパブリックメソッドが、`init()` の完了まで拒否されるようになりました。
* **KSM-1515:** `loadConfig()` が、オブジェクトまたは文字列値以外のパース済み構成を書き込み前に拒否するようになりました。
* **KSM-1514:** SDKが、シンボリックリンクされた構成パスを読み込みおよび書き込みの両方で拒否するようになりました。これにより、仕込まれたシンボリックリンクを通じて攻撃者が指定した認証情報ファイルをSDKに読み込ませる経路を閉じました。
* **KSM-1533、KSM-1563:** 宣言されている `axios` の下限バージョンを `^1.20.0` に引き上げ、既知の勧告に対応しました。これには、本パッケージがGCP Cloud KMSへのベアラートークンリクエストで利用する1.19.0までの全リリースに影響する深刻度HIGHの脆弱性も含まれます。

### **リンク**

* [npmパッケージ](https://www.npmjs.com/package/@keeper-security/secrets-manager-gcp)
* [JavaScript SDKに関するドキュメント](/keeperpam/jp/secrets-manager/developer-sdk-library/javascript-sdk.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.keeper.io/release-notes/jp/enterprise/keeper-secrets-manager/2026/javascript-gcp-kms-storage-1.1.0.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
