簡體   English   中英

如何使用 boto3 輪換我的 AWS IAM 用戶訪問權限和密鑰?

[英]How do I rotate my AWS IAM user access and secret key using boto3?

我們正在使用 Python AWS SDK ( boto3 ) 連接到 S3。

我們有一個 static 訪問和秘密令牌,但是 my.network 並不安全。

我不能使用 another.network 發送請求,所以有沒有辦法在每次請求后更改訪問密鑰和密鑰?

我可以在安全數據庫中保存一個新令牌以發送另一個請求,但重要的是在使用該令牌后,它會過期。

我在找什么:

send: curl https://aws.endpoint/refresh/token
response: {“new_access_token”:”blablabla”, “new_secret_token”:”blablablabla”}

如果必須,您可以結合使用iam.create_access_keyiam.get_access_key_last_usediam.update_access_keyiam.delete_access_key API 操作來輪換密鑰。

請記住,每個用戶最多只能有 2 個訪問密鑰,因此您必須使用create_access_key創建一個新訪問密鑰,禁用/禁用當前(舊)訪問密鑰( get_access_key_last_used & update_access_key ),將您的訪問密鑰更改為下一個應用程序代碼中的一個,然后最后刪除當前的一個delete_access_key


但是, AWS 訪問密鑰是 IAM 用戶或 AWS 賬戶根用戶的長期憑證 您可以定期輪換它們,但在這種情況下我不會首先這樣做。

您的最佳解決方案將取決於您使用的服務。

例如,如果使用 EC2 實例調用 S3,則不要使用/嵌入/傳遞/讀取訪問密鑰,而是使用短期臨時安全憑證,這些憑證將通過啟動具有 S3 訪問角色的 EC2 實例來提供。

如果您在本地使用此腳本,則可以使用AWS Security Token Service (AWS STS) ,它使您能夠為 AWS IAM 用戶/聯合用戶(單點登錄等)請求臨時的、有限權限的憑證。 您會尋找GetSessionToken API 操作( 此處為 Boto3 SDK 文檔)。

在這兩種情況下,憑據都包含一個安全令牌,指示憑據何時過期並且它們是有意短暫存在的,以幫助降低您的風險,以防憑據被意外暴露。

閱讀: 管理 AWS 訪問密鑰的最佳實踐

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM