2017-02-16 68 views
0

我已經硬編碼這些憑證到我的js文件和它的作品:AWS憑據不加載在Mac

AWS.config.update({ 
    accessKeyId: "...", 
    secretAccessKey: "...", 
    region: "us-west-2", 
    endpoint: "http://localhost:8000" 
}); 

如果我刪除了硬編碼creds然後...... 我還創建了一個文件的憑據在: /Users/todd/.aws/credentials 用下面的代碼:

[default] 
aws_access_key_id = ... 
aws_secret_access_key = ... 

似乎並沒有找到該文件。

我也再試圖進入我的.bash_profile文件中創建環境變量,並寫道:

export AWS_ACCESS_KEY_ID=... 
export AWS_SECRET_ACCESS_KEY=... 

這也不起作用。有人能指出我正確的方向,以獲得證書文件或環境變量與我的節點js文件一起工作,所以我不必在每個文件中對密鑰和祕密進行硬編碼?

回答

0

如果你的代碼是這樣硬編碼的,那麼它總是會使用它。如果您的代碼中明確指定了憑據,它將不會查看配置文件或環境變量。如果您從您的代碼中刪除accessKeyIdsecretAccessKey行,則應該選取環境變量,然後選擇默認憑證文件。

請注意,環境變量應爲而不是的名稱中包含S3_。他們應該是AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

+0

我瞭解硬編碼,我刪除它們之前嘗試其他選項。 S3上的好點(不小心複製),我會刪除並嘗試。 –

+0

工作。你知道aws首先在證書文件和環境變量之間檢查什麼嗎?我怎麼知道它正在使用哪一個? –

+0

查看這裏的文檔https://aws.amazon.com/blogs/security/a-new-and-standardized-way-to-manage-credentials-in-the-aws-sdks/它檢查的順序是環境變量,憑證文件,IAM角色。 –