首頁 >Java >更新 AWS 憑證

更新 AWS 憑證

PHPz
PHPz轉載
2024-02-09 18:51:08925瀏覽

php小編蘋果為您帶來最新的關於"更新 AWS 憑證"的指南。 AWS憑證是存取亞馬遜網路服務(AWS)資源的必要工具,然而,隨著時間的推移,憑證可能會過期或失效。為了確保您能夠持續存取和管理AWS資源,定期更新AWS憑證是至關重要的。本指南將為您詳細介紹如何更新AWS憑證,以確保您的工作不受干擾,並提供一些有用的提示和注意事項,以便您順利完成此操作。讓我們一起來了解吧!

問題內容

我需要有關如何在 aws 憑證過期後更新憑證的建議。

我用這種方式建立 amazonsimpleemailservice 的 bean:

@Bean
    public AmazonSimpleEmailService getSesClient() {
        return AmazonSimpleEmailServiceClientBuilder.standard()
                .withCredentials(new AWSStaticCredentialsProvider(new STSAssumeRoleSessionCredentialsProvider.Builder("ses-role-us-west-2", "mail-sender")
                        .build()
                        .getCredentials())
                )
                .withRegion(Regions.US_WEST_2).build();
    }

但是當我嘗試使用它時出現錯誤:

請求中包含的安全性令牌已過期(服務:amazonsimpleemailservice;狀態代碼:403;錯誤代碼:expiredtoken

如果我在每次發送郵件之前創建一個 ses 用戶端實例 - 它可以正常工作,但在每次使用之前創建一個新實例似乎是一個不好的做法。

我了解我透過 stsassumerolesessioncredentialsprovider 取得的憑證存在問題 - 它們只是有一個過期時間。

我想知道是否應該有一種方法可以在憑證即將過期時自動更新憑證,因此我非常感謝有關如何執行此操作的任何建議。

解決方法

stsassumerolesessioncredentialsprovider 將自動刷新憑證,但您透過取得一組憑證並將其傳遞到awsstaticcredentialsprovider 實例來阻止該功能。

這應該允許您使用 sts 提供者的自動刷新:

@Bean
    public AmazonSimpleEmailService getSesClient() {
        return AmazonSimpleEmailServiceClientBuilder.standard()
                .withCredentials(new STSAssumeRoleSessionCredentialsProvider.Builder("ses-role-us-west-2", "mail-sender")
                        .build()
                )
                .withRegion(Regions.US_WEST_2).build();
    }

以上是更新 AWS 憑證的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除