[英]Embedding AWS IAM credentials in the code with the Java SDK
我正在使用 Java AWS IoT SDK,但我遇到了一個問題,我必須將我的 AWS IAM 訪問密鑰和密鑰憑證嵌入到我設備上的 Java 應用程序代碼中。
憑據最初僅用於在我的代碼中創建客戶端,然后使用 X.509 證書進行 MQTT 身份驗證和通信。 .
我聽說有一種方法可以通過使用AWSCredentialsProvider和令牌等來避免在代碼中嵌入 IAM 憑證的需要。但是,我沒有看到任何實際示例說明如何在不嵌入憑證的情況下實現這一點。 下面是我的代碼片段,顯示了我如何使用憑據創建客戶端對象。 謝謝。
String AWS_ACCESSKEY = "AKXXXXXXXXXXXXX"; // not real key
String AWS_SECRETKEY = "ABCXXXXXXXXXXXXXXXXXXXXXX"; // not real key
Regions AWS_REGION = Regions.US_EAST_2;
AWSIot client = AWSIotClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(new
BasicAWSCredentials(AWS_ACCESSKEY, AWS_SECRETKEY))).withRegion(AWS_REGION).build();
您可以將此憑據傳遞給普通的 application.properties 文件。
你只需要做兩件事。
您可以在本教程中閱讀更多內容: 單擊
接下來當您想在 builder 中使用此屬性時,您需要像這樣調用它:
AWSIot client = AWSIotClientBuilder.standard()
.withCredentials(
new AWSStaticCredentialsProvider(
new BasicAWSCredentials(
this.awsCredentials.getAccessKey(),
this.awsCredentials.getSecretKey()
)
)
)
.withRegion(AWS_REGION)
.build();
附注。 您也可以將區域導出到屬性。
您可以使用臨時安全憑證而不是實際訪問密鑰。 請檢查此鏈接。 https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.