

 適用於 JavaScript 的 AWS SDK v2 已end-of-support。我們建議您遷移至 [適用於 JavaScript 的 AWS SDK v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/)。如需如何遷移的其他詳細資訊和資訊，請參閱此[公告](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Node.js 設定登入資料
<a name="setting-credentials-node"></a>

在 Node.js 中將登入資料提供給軟體開發套件有幾種方法。有些方法比較安全，有些在開發應用程式時更方便。在 Node.js 中取得登入資料時，對於依賴不只一個來源 (像是環境變數和您載入的 JSON 檔案) 時請小心。您可以變更程式碼執行所用的許可，而不需了解發生的變更。

以下是您可以提供登入資料的方法，依建議順序列出：

1. 從 Amazon EC2 的 AWS Identity and Access Management (IAM) 角色載入

1. 從共享登入資料檔案 (`~/.aws/credentials`) 載入。

1. 從環境變數中載入

1. 從磁碟上的 JSON 檔案載入

1. JavaScript 開發套件提供的其他登入資料提供者類別

如果開發套件有不只一個登入資料來源，預設的選擇順序如下：

1. 透過服務客戶建構函數明確設定的登入資料

1. 環境變數

1. 共享登入資料檔案

1. 從 ECS 登入資料提供者 (若適用的話) 載入的登入資料

1. 使用共用 AWS 組態檔案或共用登入資料檔案中指定的登入資料程序取得的登入資料。如需詳細資訊，請參閱[使用所設定的登入資料程序在 Node.js 中載入登入資料](loading-node-credentials-configured-credential-process.md)。

1. 使用 AWS Amazon EC2 執行個體的登入資料提供者從 IAM 載入的登入資料 （如果在執行個體中繼資料中設定）

如需詳細資訊，請參閱 API 參考[https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html)中的 [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html)和 。

**警告**  
雖然可以這樣做，但不建議硬式編碼應用程式中的 AWS 登入資料。將登入資料寫死會造成存取金鑰 ID 和私密存取金鑰遭暴露的風險。

本節的主題說明如何在 Node.js 中載入登入資料。

**Topics**
+ [從 Amazon EC2 的 IAM 角色載入 Node.js 中的登入資料](loading-node-credentials-iam.md)
+ [載入 Node.js Lambda 函數的登入資料](loading-node-credentials-lambda.md)
+ [從共用登入資料檔案中在 Node.js 中載入登入資料](loading-node-credentials-shared.md)
+ [從環境變數在 Node.js 中載入登入資料](loading-node-credentials-environment.md)
+ [從 JSON 檔案中在 Node.js 中載入登入資料](loading-node-credentials-json-file.md)
+ [使用所設定的登入資料程序在 Node.js 中載入登入資料](loading-node-credentials-configured-credential-process.md)