亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的應用程序是否需要請求 ec2 實例上的角色來配置會話或將其留空?

我的應用程序是否需要請求 ec2 實例上的角色來配置會話或將其留空?

Go
藍山帝景 2023-06-05 13:24:36
我正在嘗試在我的應用程序中使用 aws-sdk-go。它在 EC2 實例上運行?,F在在文檔的配置憑證中,https://docs.aws.amazon.com/sdk-for-go/api/,它說它將查找*Environment Credentials - Set of environment variables that are useful when sub processes are created for specific roles.* Shared Credentials file (~/.aws/credentials) - This file stores your credentials based on a profile name and is useful for local development.*EC2 Instance Role Credentials - Use EC2 Instance Role to assign credentials to application running on an EC2 instance. This removes the need to manage credential files in production.`最好的順序不是相反的順序嗎?但我的主要問題是我是否需要詢問實例是否有角色,然后使用它來設置憑據(如果它有角色)?這是我不確定我需要做什么以及如何做的地方。我確實嘗試了一個簡單的測試來創建一個空配置,基本上只設置區域并在具有角色的實例上運行它,它似乎“有效”但在這種情況下,我不確定是否需要顯式設置作用與否。awsSDK.Config{    Region:      awsSDK.String(a.region),    MaxRetries:  awsSDK.Int(maxRetries),    HTTPClient:  http.DefaultClient,}我只想確認這樣做是否正確。我的想法是我需要做類似下面的事情   role = use sdk call to get role on machine   set awsSDK.Config { Credentials: credentials form of role,            ...       }   issue service command with returned client.任何更多的文檔/指針都會很棒!
查看完整描述

2 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

我從未使用過 go SDK,但如果未從任何其他來源找到憑據,我使用的 AWS SDK 會自動使用 EC2 實例角色。

如果您使用這樣的代碼,SDK 將按以下順序查找憑據:

  1. 在環境變量中。(不是 .NET SDK,如前所述。)

  2. 在中央憑證文件中(~/.aws/credentials 或 %USERPROFILE%.awscredentials)。

  3. 在現有默認的特定于 SDK 的配置文件中(如果存在)。如果您在進行這些更改之前一直在使用 SDK,就會出現這種情況。

  4. 對于 .NET SDK,在 SDK Store 中(如果存在)。

  5. 如果代碼在 EC2 實例上運行,則通過 Amazon EC2 的 IAM 角色。在這種情況下,代碼從實例元數據服務中獲取臨時安全憑證;憑據具有從與實例關聯的角色派生的權限。


查看完整回答
反對 回復 2023-06-05
?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

在我的應用程序中,當我需要連接到 AWS 資源時,我傾向于使用具有特定預定義 IAM 角色的訪問密鑰和秘密密鑰。假設我有這兩個,我用來創建會話的代碼是:

awsCredentials?:=?credentials.NewStaticCredentials(awsAccessKeyID,?awsSecretAccessKey,?"")
awsSession?=?session.Must(session.NewSession(&aws.Config{
????????????Credentials:?awsCredentials,
????????????Region:??????aws.String(awsRegion),
????????}))

當我使用它時,這兩個鍵通常被指定為環境變量(如果我部署到 docker 容器)。

查看完整回答
反對 回復 2023-06-05
  • 2 回答
  • 0 關注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號