管理 IAM 使用者的存取金鑰 - AWS Identity and Access Management

管理 IAM 使用者的存取金鑰

注意

如果您是因為正在尋找 Product Advertising API 相關資訊以在您的網站上銷售 Amazon 產品而找到此頁面,請參閱 Product Advertising API 5.0 文件

存取金鑰是 IAM 使用者或 AWS 帳戶 根使用者的長期憑證。您可以使用存取金鑰,對 AWS CLI 或 AWS API 的程式設計請求進行簽署 (直接或使用 AWS SDK)。如需詳細資訊,請參閱 Amazon Web Services 一般參考中的簽署 AWS API 請求

存取金鑰包含兩個部分:存取金鑰 ID (例如 AKIAIOSFODNN7EXAMPLE) 和私密存取金鑰 (例如 wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY)。如同使用者名稱和密碼,您必須一起使用存取金鑰 ID 和私密存取金鑰來驗證您的請求。就如對您的使用者名稱和密碼一樣,安全地管理您的存取金鑰。

重要

請勿將您的存取金鑰提供給第三方,甚至是協助尋找您的標準使用者 ID。執行此作業,可能會讓他人能夠永久存取您的帳戶。

最佳實務的作法是使用臨時安全憑證 (IAM 角色) (而不是存取金鑰),並停用任何 AWS 帳戶 根使用者存取金鑰。如需詳細資訊,請參閱 Amazon Web Services 一般參考中的 管理 AWS 存取金鑰的最佳實務

如果您仍然需要使用長期存取金鑰,您可以建立、修改、檢視或輪換存取金鑰 (存取金鑰 ID 和私密存取金鑰)。您最多可以擁有兩個存取金鑰。這可讓您根據最佳實務來輪換作用中的索引鍵。

建立存取金鑰對時,將存取金鑰 ID 和私密存取金鑰儲存在安全位置。私密存取金鑰只會在您建立它的時候顯示一次。如果您遺失了私密存取金鑰,則必須刪除該存取金鑰並新建一個。如需詳細資訊,請參閱 重設 AWS 遺失或遺忘的密碼或存取金鑰

必要許可

為 IAM 使用者建立存取金鑰,您必須擁有以下政策的許可:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateOwnAccessKeys", "Effect": "Allow", "Action": [ "iam:CreateAccessKey", "iam:GetUser", "iam:ListAccessKeys" ], "Resource": "arn:aws:iam::*:user/${aws:username}" } ] }

為 IAM 使用者輪換存取金鑰,您必須擁有以下政策的許可:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageOwnAccessKeys", "Effect": "Allow", "Action": [ "iam:CreateAccessKey", "iam:DeleteAccessKey", "iam:GetAccessKeyLastUsed", "iam:GetUser", "iam:ListAccessKeys", "iam:UpdateAccessKey" ], "Resource": "arn:aws:iam::*:user/${aws:username}" } ] }

管理存取金鑰 (主控台)

您可以使用 AWS Management Console 來管理 IAM 使用者的存取金鑰。

建立、修改或刪除 IAM 使用者的存取金鑰 (主控台)

  1. 使用您的 AWS 帳戶 ID 或帳戶別名、IAM 使用者名稱及密碼,登入 IAM 主控台

    注意

    為方便起見,AWS 登入頁面使用瀏覽器 Cookie 來記住您的 IAM 使用者名稱和帳戶資訊。如果您先前以不同的使用者身分登入,請選擇在頁面底部附近的 Sign in to a different account (登入不同的帳戶),返回主要登入頁面。從那裡您可以輸入您的 AWS 帳戶ID 或帳戶別名,以重新引導至您帳戶的 IAM 使用者登入頁面。

    若要取得 AWS 帳戶 ID,請聯絡您的管理員。

  2. 在右上方的導覽列中,選擇您的使用者名稱,然後選擇 My Security Credentials (我的安全憑證)

    
                  AWS 管理主控台我的安全憑證連結
  3. 展開 Access keys (access key ID and secret access key) (存取金鑰 (存取金鑰 ID 和私密存取金鑰)) 區段。

  4. 執行下列任何一項:

    • 如要建立存取金鑰,請選擇 Create New Access Key (建立新的存取金鑰)。如果停用此功能,您必須先刪除其中一個現有的索引鍵,才能建立新的索引鍵。警告表示您只有這一次機會可檢視或下載私密存取金鑰。如要複製索引鍵並在其他位置貼上以進行保管,請選擇 Show Access Key (顯示存取金鑰)。如要將存取金鑰 ID 和私密存取金鑰儲存到 .csv 檔案並在您電腦中的安全位置保管,請選擇 Download Key File (下載索引鍵檔案)。

    • 若要停用作用中的存取金鑰,請選擇 Make Inactive (設為非作用中)。

    • 若要重新啟用非使用中的存取金鑰,請選擇 Make Active (設為使用中)。

    • 若要刪除存取金鑰,請選擇 Delete (刪除)。AWS 建議您在執行這項操作之前,先停用金鑰並測試確認該金鑰不再使用。當您使用 AWS Management Console 時,您必須先停用金鑰,才能刪除金鑰。

建立、修改或刪除另一 IAM 使用者的存取金鑰 (主控台)

  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽窗格中,選擇 Users (使用者)

  3. 選擇要為其管理存取金鑰的使用者名稱,然後選擇 Security credentials (安全憑證) 索引標籤。

  4. Access keys (存取金鑰) 區段,執行下列項目:

    • 若要建立存取金鑰,選擇 Create access key (建立存取金鑰)。然後選擇 Download .csv file (下載 .csv 檔案),將存取金鑰 ID 和私密存取金鑰儲存至電腦上的 CSV 檔案。將檔案存放在安全位置。在關閉此對話方塊後,您將無法再次存取該私密存取金鑰。在您下載 CSV 檔案後,選擇 Close (關閉)。當您建立存取金鑰時,在預設情況下,該金鑰對是作用中的,且您可以立即使用該金鑰對。

    • 若要停用作用中的存取金鑰,請選擇 Make inactive (設為非作用中)。

    • 若要重新啟用非使用中的存取金鑰,請選擇 Make active (設為使用中)。

    • 若要刪除存取金鑰,請選擇 Delete (刪除)。AWS 建議您在執行這項操作之前,先停用金鑰並測試確認該金鑰不再使用。當您使用 AWS Management Console 時,您必須先停用金鑰,才能刪除金鑰。

列出 IAM 使用者的存取金鑰 (主控台)

  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽窗格中,選擇 Users (使用者)

  3. 選擇目標使用者的名稱,然後選擇 Security credentials (安全憑證) 索引標籤。顯示使用者的存取金鑰和每個索引鍵的狀態。

    注意

    只有使用者的存取金鑰 ID 是可見的。只有在建立金鑰時才能擷取私密存取金鑰。

列出多個 IAM 使用者的存取金鑰 ID (主控台)

  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽窗格中,選擇 Users (使用者)

  3. 如有必要,請透過完成以下步驟將 Access key ID (存取金鑰 ID) 欄新增到使用者表格:

    1. 在最右側的表格上方,選擇設定圖示 ( 
                           Settings icon
                        )。

    2. Manage columns (管理欄) 中,選取 Access key ID (存取金鑰 ID)。

    3. 選擇 Close (關閉) 返回使用者清單。

  4. Access key ID (存取金鑰 ID) 欄會顯示每個存取金鑰 ID,其後跟隨其狀態;例如,23478207027842073230762374023 (Active) (作用中) 或 22093740239670237024843420327 (Inactive) (非作用中)。

    您可以使用此資訊來查看和複製具有一個或兩個存取金鑰的使用者的存取金鑰。對於沒有存取金鑰的使用者,該欄會顯示 None (無)。

    注意

    只有使用者的存取金鑰 ID 和狀態是可見的。只有在建立金鑰時才能擷取私密存取金鑰。

尋找哪位 IAM 使用者擁有特定的存取金鑰 (主控台)

  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽窗格中,選擇 Users (使用者)

  3. 在搜尋方塊中,輸入或貼上要尋找的使用者的存取金鑰 ID。

  4. 如有必要,請透過完成以下步驟將 Access key ID (存取金鑰 ID) 欄新增到使用者表格:

    1. 在最右側的表格上方,選擇設定圖示 ( 
                           Settings icon
                        )。

    2. Manage columns (管理欄) 中,選取 Access key ID (存取金鑰 ID)。

    3. 選擇 Close (關閉) 返回使用者清單,並確認已篩選的使用者擁有指定的存取金鑰。

管理存取金鑰 (AWS CLI)

若要從 AWS CLI 管理 IAM 使用者的存取金鑰,請執行以下命令。

管理存取金鑰 (AWS API)

若要從 AWS API 管理 IAM 使用者的存取金鑰,請呼叫以下操作。

輪換存取金鑰

我們建議的安全性最佳實務是,定期輪換 (變更) IAM 使用者存取金鑰。如果您的管理員授予您必要的許可,您就可以輪換自己的存取金鑰。

管理者,如需授予使用者許可,讓他們可輪換自己存取金鑰的詳細資訊,請參閱 AWS:允許 IAM 使用者在 My Security Credentials (我的安全憑證) 頁面上管理其密碼、存取金鑰和 SSH 公有金鑰。您還可以套用密碼政策到您的帳戶,以要求所有 IAM 使用者定期輪換其密碼。您可以選擇他們必須這樣做的頻率。如需詳細資訊,請參閱 設定 IAM 使用者的帳戶密碼政策

重要

根據最佳實務,請勿使用 AWS 帳戶 根使用者。如果您使用 AWS 帳戶 根使用者憑證,我們建議您也定期進行輪換。帳戶密碼政策不適用於根使用者憑證。IAM 使用者無法管理 AWS 帳戶 根使用者的憑證,因此您必須使用根使用者憑證 (而非使用者的憑證) 來變更根使用者憑證。請注意,我們建議不要在 AWS 中使用根使用者進行日常工作。

輪換 IAM 使用者存取金鑰 (主控台)

您可以從 AWS Management Console 中輪換存取金鑰。

在不會中斷您的應用程式下輪換 IAM 使用者的存取金鑰 (主控台)

  1. 當第一個存取金鑰仍然有效時,建立第二個存取金鑰。

    1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

    2. 在導覽窗格中,選擇 Users (使用者)

    3. 選擇目標使用者的名稱,然後選擇 Security credentials (安全憑證) 索引標籤。

    4. 選擇 Create access key (建立存取金鑰),然後選擇 Download .csv file (下載 .csv 檔案) 將存取金鑰 ID 和私密存取金鑰儲存至電腦上的 .csv 檔案中。將檔案存放在安全位置。關閉後,您將無法再次存取該私密存取金鑰。在您下載該 .csv 檔後,選擇 Close (關閉)

      在預設情況下,新的存取金鑰是作用中的。此時,使用者有兩個作用中的存取金鑰。

  2. 更新所有應用程式和工具以使用新的存取金鑰。

  3. 透過查看 Last used (上次使用) 欄位中最舊的存取金鑰,判斷第一個存取金鑰是否仍在使用中。其中一個方法是等待幾天,然後在繼續之前檢查舊的存取金鑰以供使用。

  4. 即使 Last used (上次使用) 欄值指示從未使用舊金鑰,我們建議您不要立即刪除第一個存取金鑰。反之,選擇 Make inactive (設為非作用中) 以停用第一個存取金鑰。

  5. 僅使用新的存取金鑰來確認您的應用程式正在工作。任何仍在使用原始存取金鑰的應用程式和工具都將在此時停止工作,因為它們無法再存取 AWS 資源。如果您找到此類應用程式或工具,則可以選擇 Make active (設為作用中) 以重新啟用第一個存取金鑰。然後,返回 步驟 3 並更新此應用程式以使用新的金鑰。

  6. 等待一段時間後確保所有應用程式和工具都已更新,您可以刪除第一個存取金鑰:

    1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

    2. 在導覽窗格中,選擇 Users (使用者)

    3. 選擇目標使用者的名稱,然後選擇 Security credentials (安全憑證) 索引標籤。

    4. 找到要刪除的存取金鑰,然後選擇該列最右側的 X 按鈕。輸入存取金鑰 ID 以確認刪除,然後選擇 Delete (刪除)。

判斷存取金鑰何時需要輪換 (主控台)

  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽窗格中,選擇 Users (使用者)

  3. 如有必要,請透過完成以下步驟將 Access key age (存取金鑰使用期限) 欄新增到使用者表格:

    1. 在最右側的表格上方,選擇設定圖示 ( 
                              Settings icon
                           )。

    2. Manage columns (管理欄) 中,選取 Access key age (存取金鑰使用期限)。

    3. 選擇 Close (關閉) 返回使用者清單。

  4. Access key age (存取金鑰使用期限) 列顯示自建立最早的作用中存取金鑰以來的天數。您可以使用此資訊來尋找需要輪換存取金鑰的使用者。對於沒有存取金鑰的使用者,該欄會顯示 None (無)。

輪換存取金鑰 (AWS CLI)

您可以從 AWS Command Line Interface 中輪換存取金鑰。

在不會中斷您的應用程式下輪換存取金鑰 (AWS CLI)

  1. 當第一個存取金鑰仍然有效時,建立第二個存取金鑰,該索引鍵在預設情況下處於作用中。執行以下命令:

  2. 更新所有應用程式和工具以使用新的存取金鑰。

  3. 使用此命令判斷第一個存取金鑰是否仍在使用中:

    其中一個方法是等待幾天,然後在繼續之前檢查舊的存取金鑰以供使用。

  4. 即使步驟 步驟 3 表示不使用舊金鑰,我們也建議您不要立即刪除第一個存取金鑰。反之,使用此命令將第一個存取金鑰的狀態變更為 Inactive

  5. 僅使用新的存取金鑰來確認您的應用程式正在工作。任何仍在使用原始存取金鑰的應用程式和工具都將在此時停止工作,因為它們無法再存取 AWS 資源。如果找到此類應用程式或工具,則可以將其狀態切換回 Active 以重新啟用第一個存取金鑰。然後,返回步驟 步驟 2 並更新此應用程式以使用新的金鑰。

  6. 等待一段時間後確保所有應用程式和工具都已更新,可以使用此命令刪除第一個存取金鑰:

如需詳細資訊,請參閱下列內容:

輪換存取金鑰 (AWS API)

您可以使用 AWS API 輪換存取金鑰。

在不會中斷您的應用程式下輪換存取金鑰 (AWS API)

  1. 當第一個存取金鑰仍然有效時,建立第二個存取金鑰,該索引鍵在預設情況下處於作用中。呼叫以下操作:

  2. 更新所有應用程式和工具以使用新的存取金鑰。

  3. 透過呼叫此操作判斷第一個存取金鑰是否仍在使用中:

    其中一個方法是等待幾天,然後在繼續之前檢查舊的存取金鑰以供使用。

  4. 即使步驟 步驟 3 表示不使用舊金鑰,我們也建議您不要立即刪除第一個存取金鑰。反之,呼叫此操作將第一個存取金鑰的狀態變更為 Inactive

  5. 僅使用新的存取金鑰來確認您的應用程式正在工作。任何仍在使用原始存取金鑰的應用程式和工具都將在此時停止工作,因為它們無法再存取 AWS 資源。如果找到此類應用程式或工具,則可以將其狀態切換回 Active 以重新啟用第一個存取金鑰。然後,返回步驟 步驟 2 並更新此應用程式以使用新的金鑰。

  6. 等待一段時間後確保所有應用程式和工具都已更新,您可以刪除呼叫此操作的第一個存取金鑰:

如需詳細資訊,請參閱下列內容:

稽核存取金鑰

您可以檢閱程式碼中的 AWS 存取金鑰,以判斷這些索引鍵是否來自您擁有的帳戶。您可以使用 aws sts get-access-key-info AWS CLI 命令或 GetAccessKeyInfo AWS API 操作來傳遞存取金鑰 ID。

AWS CLI 和 AWS API 操作會傳回存取金鑰所屬的 AWS 帳戶 ID。開頭為 AKIA 的存取金鑰是 IAM 使用者或 AWS 帳戶 根使用者的長期憑證。開頭為 ASIA 的存取金鑰 ID 是使用 AWS STS 操作建立的臨時憑證。如果回應中的帳戶是您的,您可以根使用者的身分登入並檢閱根使用者存取金鑰。然後,您可以提取憑證報告來了解擁有索引鍵的是哪位 IAM 使用者。若要了解 ASIA 存取金鑰臨時憑證的申請者,請在 CloudTrail 日誌中檢視 AWS STS 事件。

基於安全考量,您可以檢閱 AWS CloudTrail記錄以瞭解在 AWS 中執行動作的人員。您可以使用角色信任政策中的 sts:SourceIdentity 條件索引鍵,請求使用者在擔任角色時指定身分。例如,您可以請求 IAM 使用者將自己的使用者名稱指定為其來源身分。這可以協助您判斷哪位使用者在 AWS 中執行了特定動作。如需詳細資訊,請參閱。sts:SourceIdentity

此操作不會指出存取金鑰的狀態。金鑰可能是作用中、非作用中或已刪除。作用中金鑰可能沒有操作的執行許可。提供已刪除的存取金鑰可能會傳回金鑰不存在的錯誤。