以下常見問答集不適用於由 Sinnet 營運的 AWS 中國 (北京) 區域和由 NWCD 營運的 AWS 中國 (寧夏) 區域中的 AWS KMS。請瀏覽此常見問答集連結,以取得這兩個中國區域的相關內容。 

一般

問:什麼是 AWS Key Management Service (KMS)?
AWS KMS 是一個受管的服務,可讓您輕鬆建立和控制用於加密操作的金鑰。此服務提供高度可用的金鑰產生、儲存、管理和稽核解決方案,方便您加密和用數位方式簽署自己應用程式中的資料,並跨 AWS 服務控制資料加密。

問:為什麼應該使用 AWS KMS?
如果您負責保護跨 AWS 服務的資料,應該使用本服務集中管理控制資料存取的加密金鑰。如果您是需要加密應用程式資料的開發人員,應該使用 AWS 加密開發套件搭配 AWS KMS,以輕鬆地產生、使用和保護程式碼中的對稱加密金鑰。如果您是需要用數位方式簽署或用非對稱金鑰驗證資料的開發人員,應該使用本服務建立及管理所需要的私有金鑰。如果您正在尋找可擴展的金鑰管理基礎設施以支援開發人員及其不斷成長的應用程式,應該使用本服務降低授權成本和操作負擔。如果您負責證明法規或合規目的的資料安全,應該使用本服務,因為其可用來證明資料受到保護。同時本服務也在廣泛的產業與區域性合規管轄範圍中。

問:如何開始使用 AWS KMS?
開始使用 KMS 最簡單的方法是選擇利用您的帳戶中,針對每一個服務自動建立的 AWS 受管主金鑰,為 AWS 服務中的資料進行加密。 如果想完全控制金鑰的管理,包括跨帳戶或服務共享金鑰存取權的能力,您可以在 AWS KMS 建立自己的客戶主金鑰 (CMK)。您也可以使用自己在應用程式中直接建立的 CMK。您可以從 KMS 主控台存取 AWS KMS,位於 AWS 主控台 AWS 服務首頁底下的安全、身分與合規群組。您也可以透過 AWS KMS 命令列界面直接存取 AWS KMS API,或透過 AWS SDK 以程式設計的方式存取。使用 AWS 加密開發套件也可間接透過 AWS KMS API 加密您應用程式中的資料。請瀏覽入門頁面以進一步了解。

問:哪些區域提供 AWS KMS?
我們的全球 按區域分類的產品和服務頁面會列出可用性。

問:AWS KMS 提供哪些金鑰管理功能?

您可以執行以下金鑰管理功能:

  • 建立對稱和非對稱金鑰,且其中的金鑰材料只在服務內使用
  • 建立對稱金鑰,且其中的金鑰材料只在您控制的自訂金鑰存放區內產生及使用
  • 匯入您自己的對稱金鑰材料,以供在服務內使用
  • 建立對稱和非對稱資料金鑰組,以供本機在應用程式內使用
  • 定義哪些 IAM 使用者和角色可以管理金鑰
  • 定義哪些 IAM 使用者和角色可以使用金鑰來加密和解密資料
  • 您可以選擇讓服務產生的金鑰每年自動輪換。
  • 臨時停用金鑰,讓任何人都無法使用
  • 重新啟用已停用的金鑰
  • 排定刪除不再使用的金鑰
  • 透過檢查 AWS CloudTrail 中的日誌來稽核金鑰的使用

* 使用自訂金鑰存放區時,您的帳戶中必須要有 CloudHSM 資源。

問:AWS KMS 如何運作?
您可要求建立 CMK 以開始使用本服務。您除了可控制 CMK 的生命週期,也能控制允許使用或管理的使用者。CMK 的金鑰材料會在 AWS KMS 所管理的硬體安全模組 (HSM) 內產生。或者,您可以從自己的金鑰管理基礎設施匯入金鑰材料,並將其與 CMK 建立關聯。也可在 AWS KMS 的自訂金鑰存放區功能的 AWS CloudHSM 叢集中產生及使用金鑰材料。
 
使用支援的三種選項其中之一建立 CMK 後,您可直接將資料提交至服務 AWS KMS,使用這些 CMK 進行簽署、驗證、加密或解密。您在這些金鑰上設定使用政策,以決定哪些使用者可以在哪些情況下執行哪些動作。

AWS KMS 與 AWS 服務和用戶端工具組整合,使用一種稱為信封加密的方法來保護您的資料。利用這種方法,AWS KMS 產生的資料金鑰會用來加密 AWS 服務或應用程式本機中的資料。此資料金鑰則在您定義的 CMK 下加密。AWS KMS 不會保留或管理資料金鑰。 AWS 服務會加密您的資料,並存放一份資料金鑰的加密副本以及加密的資料。當服務需要解密資料時,它們會請求 AWS KMS 使用您的 CMK 來解密資料金鑰。如果從 AWS 服務請求資料的使用者被授權根據您的 CMK 進行解密,則服務會收到來自 AWS KMS 的已解密資料金鑰。接著,AWS 服務會解密您的資料並以純文字的方式傳回該資料。所有的 CMK 使用請求都會記錄在 AWS CloudTrail 中,因此您可以了解誰在什麼情況下使用哪一個金鑰以及何時使用金鑰。

問:如果使用 AWS KMS,會在哪裡加密我的資料?
通常有三種情況會使用 AWS KMS 加密資料的方式。第一種情況是,您可以利用 AWS KMS API 直接透過存放在服務的 CMK 來加密和解密資料。第二種情況是,您可以選擇讓 AWS 服務使用存放在服務中的 CMK 來加密資料。在這種情況下,資料會使用受 CMK 保護的資料金鑰進行加密。第三種情況是,您可以使用與 AWS KMS 整合的 AWS 加密開發套件,在自己的應用程式中執行加密,無論應用程式是否在 AWS 中執行。

問:哪些 AWS 雲端服務與 AWS KMS 整合?
AWS KMS 與大部分其他 AWS 服務無縫整合,只需在這些服務中核取相關的方塊就可以加密資料。在某些情況下,根據預設會使用存放在 AWS KMS 中、但由相關 AWS 服務擁有和管理的金鑰加密資料。在許多情況下,CMK 屬於您,且在自己的帳戶中由您管理。某些服務可讓您選擇自行管理金鑰,或允許服務代表您管理金鑰。請參閱目前與 AWS KMS 整合的 AWS 服務清單。請參閱 AWS KMS Developer's Guide,以取得整合服務如何使用 AWS KMS 的詳細資訊。

問:為什麼使用信封加密? 為什麼不將資料傳送到 AWS KMS 直接加密?
由於 AWS KMS 支援傳送最高 4 KB 的資料直接進行加密,信封加密可提供明顯的效能優勢。當您使用 AWS KMS 直接加密資料時,必須透過網路傳輸資料。信封加密可以減少網路負載,因為網路只會處理較小的資料金鑰請求和交付。資料金鑰會在您的應用程式或加密 AWS 服務本機使用,無須將整個資料區塊傳送到 AWS KMS,也沒有網路延遲的不便。

問:我自己建立的 CMK 和其他 AWS 服務自動為我建立的 CMK,二者間有什麼區別?
當您希望 AWS 服務為您加密資料時,可以選擇使用特定的 CMK。這些稱為客戶受管 CMK,您可以完全控制它們。您可以為每一個金鑰定義存取控制和使用政策,而且可以向其他帳戶和服務授與金鑰的使用許可。如果您未指定 CMK,則當您首次嘗試在該服務建立加密資源時,相關服務會建立 AWS 受管 CMK。AWS 會代您管理與 AWS 受管 CMK 相關的政策。您可以在自己的帳戶中追蹤 AWS 受管金鑰,而且 AWS CloudTrail 中會有所有使用記錄,但是您無法直接控制金鑰本身。

問:為什麼我應該建立自己的客戶主金鑰?
建立自己的金鑰時,您擁有的控制權會高於 AWS 受管 CMK 所能提供的控制權。建立對稱的客戶受管 CMK 時,您可以選擇使用 AWS KMS 產生的金鑰材料 (在 AWS CloudHSM 叢集中產生),或者匯入您自己的金鑰材料。如果是 AWS KMS 產生的金鑰,您可以為金鑰定義別名和描述,並選擇每年自動輪換一次。您還可以定義該金鑰的所有許可,以控制誰能使用或管理金鑰。如果是非對稱的客戶受管 CMK,會有一些警告需要管理:金鑰材料只能在 AWS KMS HSM 內產生,且沒有可自動輪換金鑰的選項。

問:是否可在 AWS KMS 內使用我自己的金鑰?
是。您可以將自己金鑰管理基礎設施中的金鑰匯入 AWS KMS,並將它與任何整合的 AWS 服務搭配使用或在自己的應用程式內使用。但無法將非對稱 CMK 匯入 AWS KMS。

問:何時使用匯入的金鑰?
您可以使用匯入的金鑰對 AWS KMS 中金鑰的建立、生命週期管理和耐久性做更好的控制。匯入的金鑰旨在協助您達到合規要求,包含有能力產生金鑰或在基礎設施中維護一份安全金鑰,以及有能力從 AWS 基礎設施立即刪除匯入的金鑰。

問:可以匯入哪種類型的金鑰?
您可以匯入 256 位元對稱金鑰。

問:如何保護傳輸中匯入 AWS KMS 的金鑰?
在匯入過程中,必須使用兩個 RSA PKCS#1 機制的其中一種,以 AWS KMS 提供的公開金鑰包裝您的金鑰。這可確保加密的金鑰只能由 AWS KMS 解密。

問:我匯入的金鑰與 AWS KMS 產生的金鑰,二者之間有何差別?
有兩個主要的不同之處:

  1. 您要負責在金鑰管理基礎設施中維護一份匯入的金鑰,如此才能隨時重新匯入它們。不過,AWS 可代您確保 AWS KMS 產生之金鑰的可用性、安全性和耐用性,直到排定刪除金鑰為止。
  2. 您可以設定匯入金鑰的過期期間。AWS KMS 會在過期期間後自動刪除金鑰材料。您也可以根據需要刪除匯入的金鑰材料。在這兩種情況下,金鑰材料本身會被刪除,但 AWS KMS 中的 CMK 參考和相關中繼資料會予以保留,以便將來可以重新匯入金鑰材料。AWS KMS 產生的金鑰沒有過期時間,也無法立即刪除;會有 7 至 30 天的強制等待期間。無論是否匯入金鑰材料,所有客戶受管 CMK 都可以手動停用或安排刪除。在這種情況下,CMK 本身會被刪除,而不僅僅是相關的金鑰材料。

問:是否可輪換金鑰?
是。您可以選擇讓 AWS KMS 每年自動輪換 CMK,前提是這些金鑰必須是在 AWS KMS HSM 內產生。匯入的金鑰、非對稱金鑰,或使用 AWS KMS 自訂金鑰存放區功能在 AWS CloudHSM 叢集產生的金鑰,不支援自動金鑰輪換。如果您選擇將金鑰匯入 AWS KMS 或匯入非對稱金鑰或使用自訂金鑰存放區,則建立新的 CMK,然後將現有金鑰別名從舊 CMK 對應到新 CMK,便能手動輪換它們。

問:當金鑰在 AWS KMS 中輪換之後,是否必須重新加密資料?
如果您選擇讓 AWS KMS 自動輪換金鑰,則不用重新加密資料。AWS KMS 會自動保留舊版金鑰,以用於根據舊版金鑰解密已加密的資料。對 AWS KMS 中金鑰的所有新加密請求都會根據最新版金鑰加密。

如果手動輪換匯入或自訂金鑰存放區金鑰,則可能必須重新加密資料,具體情況取決於您是否決定保留舊版本的金鑰。

問:是否可以從 AWS KMS 刪除金鑰?
是。您可以排定刪除 AWS KMS 中建立的客戶主金鑰和關聯的中繼資料,並設定 7 到 30 天的等待期間。此等待期間可讓您確認刪除金鑰對於應用程式及使用該金鑰之使用者的影響。預設等待期間為 30 天。您可以在等待期間取消刪除金鑰。金鑰排定刪除後就無法使用,除非您在等待期間取消刪除。如果您沒有取消刪除,系統將在設定的等待期間結束時刪除金鑰。金鑰一旦刪除,就不能再使用。您無法存取已刪除之主金鑰保護的所有資料。

對於含匯入金鑰材料的客戶主金鑰,您可以透過兩種方式刪除金鑰材料而不刪除客戶主金鑰 ID 或中繼資料。第一,您可以隨需刪除匯入的金鑰材料,無須等待期間。第二,將金鑰材料匯入客戶主金鑰時,可針對匯入的金鑰材料刪除前 AWS 可使用多長時間來定義過期時間。如果需要再次使用金鑰材料,可將它重新匯入客戶主金鑰。

問:如果匯入的金鑰材料過期或不小心刪除的話,應該怎麼做?
將具備有效過期期間的金鑰材料重新匯入 AWS KMS 的原始客戶主金鑰下,即可開始使用。

問:是否會在需要重新匯入金鑰時提醒我?
是。將金鑰匯入客戶主金鑰之後,您將會每幾分鐘收到一個 Amazon CloudWatch 指標,該指標會倒數計時匯入金鑰的過期時間。客戶主金鑰下的匯入金鑰過期時,您還會收到 Amazon CloudWatch 事件。您可以建置在這些指標或事件上作用的邏輯,然後自動重新匯入具有新過期期間的金鑰,以避免出現可用性風險。

問:是否可以使用 AWS KMS 協助管理 AWS 雲端服務之外的資料加密?
是。AWS 開發套件、AWS 加密開發套件、Amazon DynamoDB 用戶端加密和 Amazon S3 加密用戶端支援 AWS KMS,無論應用程式在何處執行,您都可以輕鬆地在自己的應用程式內加密資料。請瀏覽 AWS Crypto Tools在 AWS 上開發網站,以取得詳細資訊。

問:可在 AWS KMS 中建立的金鑰數量是否有所限制?
您可在每個區域的每個帳戶下建立最多 10000 個 CMK。因為此限制包含啟用和停用的 CMK,所以建議您刪除不再使用的停用金鑰。用於支援之 AWS 服務而且代您建立的 AWS 受管 CMK 不在此限制之內。對於可使用 CMK 衍生且在應用程式中使用或由 AWS 服務用於代您加密資料的資料金鑰數量則沒有限制。如需請求提高 CMK 限額,請聯絡 AWS 支援中心

問:支援哪些類型的對稱金鑰和演算法?
AWS KMS 在建立 CMK 時支援 256 位元金鑰。傳回給發起人的產生資料金鑰可以是 256 位元、128 位元或最高到 1024 位元組的任意值。 AWS KMS 代表您使用 256 位元的 CMK 時,將使用 Galois Counter Mode (AES-GCM) 中的 AES 演算法。

問:支援哪些類型的非對稱金鑰?
AWS KMS 支援下列類型的非對稱金鑰 - RSA 2048、RSA 3072、RSA 4096、ECC NIST P-256、ECC NIST P-384、ECC NIST-521 和 ECC SECG P-256k1。

問:支援哪些類型的非對稱加密演算法?
AWS KMS 支援使用 RSA 2048、RSA 3072 和 RSA 4096 金鑰類型的 RSAES_OAEP_SHA_1 和 RSAES_OAEP_SHA_256 加密演算法。加密演算法不可搭配橢圓曲線的金鑰類型 (ECC NIST P-256、ECC NIST P-384、ECC NIST-521 和 ECC SECG P-256k1) 使用。

問:支援哪些類型的非對稱簽署演算法?
使用 RSA 金鑰類型時,AWS KMS 支援 RSASSA_PSS_SHA_256、RSASSA_PSS_SHA_384、RSASSA_PSS_SHA_512、RSASSA_PKCS1_V1_5_SHA_256、RSASSA_PKCS1_V1_5_SHA_384 和 RSASSA_PKCS1_V1_5_SHA_512 的簽署演算法。
使用橢圓曲線金鑰類型時,AWS KMS 支援 ECDSA_SHA_256、ECDSA_SHA_384 和 ECDSA_SHA_512 的簽署演算法。

問:是否能將對稱 CMK 以純文字格式匯出到服務之外?
否。對稱 CMK 或非對稱 CMK 的私人部分無法從 HSM 以純文字匯出。非對稱 CMK 的公開部分可從主控台或透過呼叫「GetPublicKey」API 的方式匯出。

問:是否能將資料金鑰和資料金鑰對以純文字格式匯出到 HSM 之外?
是。對稱資料金鑰可用「GenerateDataKey」API 或「GenerateDataKeyWithoutPlaintext」API 匯出。非對稱資料金鑰對的私人和公開部分可用「GenerateDataKeyPair」API 或「GenerateDataKeypairWithoutPlaintext」API 匯出到 AWS KMS 之外。

問:如何保護在服務之外的儲存體的資料金鑰和資料金鑰對?
對稱資料金鑰或非對稱資料金鑰的私人部分是由您在要求 AWS KMS 產生資料金鑰時所定義的對稱 CMK 保護。

問:如何使用非對稱 CMK 的公開部分?
非對稱金鑰材料的公開部分是在 AWS KMS 中產生,其可透過呼叫「Verify」API 來驗證數位簽章,或透過呼叫「Encrypt」API 來加密公開金鑰。公開金鑰也可在 AWS KMS 之外用於驗證或加密。您可呼叫 GetPublicKey API 來擷取非對稱 CMK 的公開部分。

問:傳送至 AWS KMS 進行非對稱操作的資料大小上限為何?
大小上限為 4KB。如果想數位簽署超過 4KB 的資料,可選擇建立資料的訊息摘要,然後傳送至 AWS KMS。數位簽章將建立在資料摘要上,然後傳回。您可在 Sign API 要求中以屬性指定要傳送完整訊息或訊息摘要。提交至需要使用非對稱操作的 Encrypt、Decrypt 或 Re-Encrypt API 的任何資料也必須小於 4KB。

問:如何分辨我所建立的非對稱或對稱 CMK?
主控台中的每個金鑰都會有一個「金鑰類型」的新欄位。其值為「非對稱金鑰」或「對稱金鑰」,用於表示金鑰的類型。「DescribeKey」API 將傳回「KeyUsage」欄位,用於指定金鑰將用於簽署或加密。

問:是否支援非對稱 CMK 的自動輪換?
否。不支援非對稱 CMK 的自動金鑰輪換。您可建立新的 CMK,然後將現有金鑰別名從舊 CMK 對應到新 CMK,便能手動輪換它們。

問:是否能將同一個非對稱 CMK 同時用於加密和簽署?
否。建立 CMK 時,您必須指定該金鑰將用於解密或簽署操作。RSA 金鑰類型可用於簽署或加密其中一項操作,但無法同時用於兩者。橢圓曲線金鑰類型只能用於簽署操作。

問:非對稱金鑰是否有相關的服務限制?
是。不同的金鑰類型和演算法,其每秒請求數速率限制也不相同。請參閱 AWS KMS 限制頁面以取得詳細資訊。

問:是否能將非對稱金鑰搭配 AWS KMS 自訂金鑰存放區或匯入金鑰功能使用?
否。您無法將自訂金鑰存放區功能用在非對稱金鑰,也無法將非對稱金鑰匯入到 AWS KMS。

問:是否能將非對稱 CMK 用於需要數位憑證的數位簽署操作?
不能直接使用。AWS KMS 不會存放或將數位憑證與其建立的非對稱 CMK 建立關聯。您可選擇由 ACM PCA 之類的憑證授權單位為您非對稱 CMK 中的公開部分核發憑證。如此一來,使用您的公開金鑰的實體便能確定該公開金鑰確實為您所有。

問:ACM Private Certificate Authority 和AWS KMS 分別適用何種使用情境? 
使用 ACM Private Certificate Authority (CA) 服務的主要原因,是為了提供公開金鑰基礎架構 (PKI),以用來識別實體和保護網路連線的安全。PKI 提供主要使用 X.509 憑證的流程和機制,來建立公開金鑰加密操作的結構。憑證則提供身分與公開金鑰之間的關聯。憑證授權單位核發憑證的認證流程,能讓受信任的憑證授權單位透過簽署憑證的方式來確立其他實體的身分。PKI 提供了身分、分散式信任、金鑰生命週期管理,以及從販售到撤銷的憑證狀態。這些功能為 AWS KMS 所提供的基本非對稱加密金鑰和演算法加入了重要的處理程序和基礎架構。

ACM Private CA 可讓您核發憑證,以用來識別 Web 和應用程式伺服器、服務網格、VPN 使用者、內部 API 端點,和 IoT 裝置。憑證可用來為這些資源建立身分,以及建立加密的 TLS/SSL 通訊通道。如果您考慮將非對稱金鑰用在 Web 和應用程式伺服器的 TLS 終止、Elastic Load Balancer、API Gateway 端點、EC2 執行個體或容器,則應考慮使用 ACM Private CA 來核發憑證及提供 PKI 基礎架構。

相較下,AWS KMS 可讓您產生、管理及使用非對稱金鑰,用在不需要憑證的數位簽署和/或加密操作。雖然憑證可用來驗證不信任方之間寄件者和收件者的身分,但假如您有其他機制可用來證明身分,或完全不需要證明身分,AWS KMS 提供的原始非對稱操作類型通常便已足供使用,能提供您所需要的安全優勢。

問:是否能將我的應用程式的 OpenSSL、JCE、Bouncy Castle 或 CNG 之類的加密 API 供應商用在 AWS KMS?
AWS KMS 未提供任何原生整合,無法搭配任何其他的加密 API 供應商使用。您必須直接使用 AWS KMS API 或透過 AWS SDK 將簽署和加密功能整合到您的應用程式中。

問:AWS KMS 是否提供服務水準協議 (SLA)?
是。如果客戶的每月正常執行時間百分比在任何帳單週期內低於我們的服務承諾,AWS KMS SLA 將提供服務補償。

自訂金鑰存放區

問:自訂金鑰存放區?
AWS KMS 自訂金鑰存放區會將 AWS CloudHSM 提供的控制功能與 AWS KMS 的整合性和易用性相結合。您可以設定自己的 CloudHSM 叢集,並授權 AWS KMS 將其當作專用金鑰存放區,而不是預設的 AWS KMS 金鑰存放區。在 AWS KMS 中建立金鑰時,您可以選擇在 CloudHSM 叢集產生金鑰材料。在自訂金鑰存放區產生的 CMK 永遠不會將 HSM 以純文字格式保留在 CloudHSM 叢集,而且使用這些金鑰的所有 AWS KMS 操作只會在您的 HSM 中執行。在所有其他方面,存放在自訂金鑰存放區的 CMK 會與其他 AWS KMS CMK 一致。

如果無法決定自己是否適合使用自訂金鑰存放區,可以在這篇部落格找到額外的指導。

問:為什麼我需要使用自訂金鑰存放區?
由於您控制 AWS CloudHSM 叢集,因此可以選擇管理 CMK 的生命週期,與 AWS KMS 無關。有四個原因可能會讓您發覺自訂金鑰存放區的實用性。第一個原因,可能明確規定您的金鑰必須放在單租戶 HSM 中保護,或者放在您可以直接控制的 HSM 中。第二個原因,您的金鑰可能需要存放在已按照 FIPS 140-2 第 3 級整體進行驗證的 HSM 中 (標準 AWS KMS 金鑰存放區使用的 HSM 已驗證或正在驗證至第 2 級,多個類別則為第 3 級)。第三個原因,您可能需要能立即從 AWS KMS 移除金鑰材料,並證明您已透過獨立方法完成此操作。最後一個原因,您可能需要能夠稽核所有金鑰的使用,而且與 AWS KMS 或 AWS CloudTrail 無關。

問:自訂金鑰存放區是否會影響金鑰的管理方式?
與預設 AWS KMS 金鑰存放區相比,在自訂金鑰存放區管理金鑰有兩個不同之處。您無法將金鑰材料匯入自訂金鑰存放區,也無法讓 AWS KMS 自動輪換金鑰。在所有其他方面,包括可以產生的金鑰類型、金鑰使用別名的方式以及如何定義政策,存放在自訂金鑰存放區中的金鑰其管理方式與任何其他 AWS KMS 客戶受管 CMK 相同。

問:是否可以使用自訂金鑰存放區來存放 AWS 受管客戶主金鑰?
否,只有客戶受管 CMK 可以在 AWS KMS 自訂金鑰存放區中存放和管理。為了加密資料而由其他 AWS 服務代表您建立的 AWS 受管 CMK,一律會在 AWS KMS 預設金鑰存放區中產生和存放。

問:自訂金鑰存放區是否會影響金鑰的使用方式?
否,API 請求 AWS KMS 使用 CMK 加密和解密資料時,處理的方式是一樣的。驗證和授權過程與金鑰存放的位置無關。使用自訂金鑰存放區中的金鑰進行的所有活動,也會以相同的方式記錄到 AWS CloudTrail。不過,實際的加密操作僅在自訂金鑰存放區或預設 AWS KMS 金鑰存放區中進行。

問:如何稽核自訂金鑰存放區中的金鑰使用?
除了 AWS KMS 記錄到 AWS CloudTrail 的活動之外,使用自訂金鑰存放區還提供三種稽核機制。第一種機制,AWS CloudHSM 也會將所有 API 活動記錄到 CloudTrail,例如,建立叢集以及新增或移除 HSM。第二種機制,每個叢集也會擷取自己的本機日誌,以記錄使用者和金鑰管理活動。第三種機制,每個 CloudHSM 執行個體會將本機使用者和金鑰管理活動日誌複製到 AWS CloudWatch。

問:使用自訂金鑰存放區對金鑰的可用性有何影響?
使用 AWS KMS 自訂金鑰存放區時,可以確定 AWS KMS 一定可以使用您的金鑰。CloudHSM 的組態錯誤以及 AWS CloudHSM 叢集中的金鑰材料意外刪除,可能會影響可用性。您使用的 HSM 數量以及選擇的可用區域 (AZ),也會影響叢集的恢復能力。與任何金鑰管理系統一樣,了解金鑰的可用性如何影響加密資料的恢復非常重要。

問:自訂金鑰存放區有什麼相關的效能限制?
存放在 AWS KMS 自訂金鑰存放區中的金鑰,當透過 AWS KMS API 呼叫使用時,速度低於存放在預設 AWS KMS 金鑰存放區中的金鑰。有關目前的效能限制,請參閱 AWS KMS Developer Guide。

問:使用自訂金鑰存放區時會有什麼相關成本?
AWS KMS 定價不受使用自訂金鑰存放區的影響。然而,每一個自訂金鑰存放區會要求您的 AWS CloudHSM 叢集至少包含兩個 HSM。這些 HSM 是按照標準 AWS CloudHSM 定價收費。使用自訂金鑰存放區不收取額外費用。

問:設定自訂金鑰存放區需要哪些其他技能和資源?
希望使用自訂金鑰存放區的 AWS KMS 使用者需要設定 AWS CloudHSM 叢集新增 HSM管理 HSM 使用者以及從備份還原 HSM。這些是對安全性要求很高的任務,您應該確定資源和組織控制已經準備到位。

問:是否可以將金鑰匯入自訂金鑰存放區?
否,不支援將您自己的金鑰材料匯入 AWS KMS 自訂金鑰存放區。存放在自訂金鑰存放區中的金鑰只能在構成 AWS CloudHSM 叢集的 HSM 中產生。

問:是否可以在預設 AWS KMS 金鑰存放區和自訂金鑰存放區之間移轉金鑰?
否,目前不支援在不同類型的 AWS KMS 金鑰存放區之間移轉金鑰。所有金鑰的建立和使用都必須在同一個金鑰存放區中,但如果是將自己的金鑰材料匯入預設 AWS KMS 金鑰存放區則除外。

問:是否可以輪換存放在自訂金鑰存放區中的金鑰?
不支援自動輪換 AWS KMS 自訂金鑰存放區中的金鑰材料。金鑰輪換必須手動執行,方法是建立新的金鑰並重新對應您的應用程式程式碼使用的 AWS KMS 金鑰別名,以便將新的金鑰用於將來的加密操作。

問:是否可以將 AWS CloudHSM 叢集用於其他應用程式?
是,AWS KMS 不會要求專屬的 AWS CloudHSM 叢集存取權。如果您已經有叢集,可以將它當作自訂金鑰存放區,並繼續用於其他應用程式。但是,如果您的叢集支援較高的非 AWS KMS 工作負載,則使用自訂金鑰存放區中的 CMK 時,可能會遇到操作輸送量降低的情況。同樣地,自訂金鑰存放區的高 AWS KMS 請求率可能會影響您的其他應用程式。

問:我如何進一步了解 AWS CloudHSM?
瀏覽 AWS CloudHSM 網站以取得服務概觀,如需設定和使用服務的更多詳細資訊,請閱讀 AWS CloudHSM User Guide。 

計費

問:使用 AWS KMS 如何計價和收費?
使用 AWS KMS,您僅需按用量付費,而且沒有最低費用。開始使用服務時,沒有安裝費,使用者無須對服務的使用簽訂任何長期使用期限合約。每個月底將自動向您的信用卡收取當月使用費。

您需支付建立的所有 CMK 的費用,也需支付每個月超過免費方案之後對服務所進行的 API 請求的費用。

要了解目前的定價資訊,請參閱 AWS KMS 定價頁面。

問:有免費方案嗎?
是。使用 AWS 免費用量方案,您可以在所有區域免費*開始使用 AWS KMS。AWS 服務代您建立的 AWS 受管 CMK 可隨意存放在您的帳戶中。還有用量免費方案,每月提供免費的服務請求數量。要了解目前的定價資訊,包括免費方案,請瀏覽 AWS KMS 定價頁面

*與非對稱 CMK 有關的 API 請求,和對 GenerateDataKeyPair 和 GenerateDataKeyPairWithoutPlaintext API 的請求,都排除在免費方案之外。

問:價格含稅嗎?
除非另有說明,否則我們的價格不包括適用的稅金和稅收 (包括加值稅和適用的營業稅)。帳單地址在日本的客戶若使用 AWS 服務,則需負擔日本消費稅。您可以在這裡進一步了解更多資訊。

安全性

問:誰可以在 AWS KMS 使用和管理我的金鑰?
AWS KMS 會強制執行您定義的使用和管理政策。您可以選擇允許您的帳戶或其他帳戶的 AWS Identity and Access Management (IAM) 使用者及角色使用和管理您的金鑰。

問:AWS 如何保護我建立的 CMK?
AWS KMS 的設計可確保沒有任何人 (包含 AWS 員工) 可從服務擷取您的純文字 CMK。AWS KMS 採用已通過 FIPS 140-2 驗證或正在驗證中的硬體安全模組 (HSM),來保護金鑰的機密性和完整性。無論您是使用 AWS KMS 還是 AWS CloudHSM 建立金鑰,還是將金鑰材料匯入 CMK,您的金鑰都儲存在這些 HSM 中。純文字 CMK 永遠不會離開 HSM,也永遠不會寫入磁碟,只在需要執行請求的加密操作時,才會在 HSM 的揮發性記憶體中使用。服務主機軟體和 AWS KMS HSM 韌體的更新由多方存取控制進行控管,該存取控制是由 Amazon 內部獨立的小組以及符合 FIPS 140-2 標準的 NIST 認證實驗室進行稽核和審查。

有關這些安全控制措施的更多詳細資訊,請查看 AWS KMS 加密詳細資訊技術白皮書。您也可以查看適用於 AWS KMS HSM 的 FIPS 140-2 憑證和相關的安全政策,以取得 AWS KMS HSM 如何符合 FIPS 140-2 安全要求的詳細資訊。此外,您可以從 AWS Artifact 下載服務組織控制 (SOC) 報告,以進一步了解服務用來保護 CMK 的安全控制措施。

問:如何移轉現有的 CMK,以使用經過 FIPS 140-2 驗證的 HSM?
所有 CMK 無論其建立日期或來源為何,都會自動使用經過 FIPS 140-2 驗證或正驗證中的 HSM 加以保護。您不需要採取任何動作,即可使用經過 FIPS 140-2 驗證的 HSM。

問:哪些 AWS 區域提供經過 FIPS 140-2 驗證的 HSM?
提供 AWS KMS 的所有 AWS 區域都可使用經過 FIPS 140-2 驗證的 HSM。

問:AWS KMS 中經過 FIPS 140-2 驗證的端點和經過 FIPS 140-2 驗證的 HSM 有何不同?
AWS KMS 是雙層服務。API 端點使用僅支援完美遠期保密的 TLS 加密技術,經由 HTTPS 連線接收用戶端請求。這些 API 端點會先驗證和授權請求,然後將該請求傳送到 AWS KMS HSM 進行加密操作;如果您正在使用 KMS 自訂金鑰存放區功能,則傳送到您的 AWS CloudHSM 叢集。

問:如何使用經過 FIPS 140-2 驗證的端點將 API 請求發送到 AWS KMS?
將您的應用程式設定為連接唯一的區域 FIPS 140-2 驗證 HTTPS 端點。AWS KMS FIPS 140-2 驗證 HTTPS 端點採用 OpenSSL FIPS Object Module 技術。您可以在以下位置查看 OpenSSL 模組安全政策:https://www.openssl.org/docs/fips/SecurityPolicy-2.0.13.pdf。所有提供 AWS KMS 的商業區域都能使用 FIPS 140-2 驗證的 API 端點。

問:是否可以使用 AWS KMS 協助符合支付卡產業資料安全標準 (PCI DSS 3.2.1) 中的加密和金鑰管理要求?
是。AWS KMS 已經過驗證,擁有可協助您符合 PCI DSS 3.2.1 加密和金鑰管理要求 (主要參考第 3.5 和 3.6 節) 的功能和安全控制措施。

有關 AWS 中 PCI DSS 合規服務的更多詳細資訊,可以閱讀 PCI DSS 常見問答集

問:AWS KMS 如何保護我在應用程式中匯出和使用的資料金鑰?
您可以請求 AWS KMS 產生資料金鑰,並將其傳回給您自己的應用程式使用。資料金鑰根據您在 AWS KMS 中定義的主金鑰加密,因此您可以安全地存放加密的資料金鑰與加密資料。加密的資料金鑰 (以及來源資料) 如要解密,只能由有權使用原始主金鑰將已加密資料金鑰解密的使用者執行。

問:是否可以匯出 CMK 並將其用於自己的應用程式中?
否。您只能在服務中建立和使用 CMK,以協助確保主金鑰的安全、一致地實施政策,並提供集中化的金鑰使用日誌。

問:我的金鑰存放在哪個地理區域?
AWS KMS 產生的單區域 KMS 金鑰僅在建立它的區域中存放和使用。使用 AWS KMS 多區域金鑰,您可以選擇將多區域主金鑰複製到同一 AWS 分區內的多個區域。

問:如何知道誰在 AWS KMS 中使用或變更我的金鑰組態?
AWS CloudTrail 中的日誌會顯示所有 AWS KMS API 請求,包括管理請求 (例如,建立、輪換、停用、政策編輯) 和加密請求 (例如,加密/解密)。在您的帳戶中開啟 AWS CloudTrail 可查看這些日誌。

問:AWS KMS 與 AWS CloudHSM 相比如何?
AWS CloudHSM 在 Amazon Virtual Private Cloud (VPC) 提供 FIPS 140-2 第 3 級整體驗證的單租戶 HSM 叢集,以存放和使用您的金鑰。您可以透過 AWS 以外的獨立身份驗證機制,獲得金鑰使用方法的專屬控制。AWS CloudHSM 叢集中的金鑰互動方式與 Amazon EC2 中執行的應用程式互動方式類似。您可以使用 AWS CloudHSM 支援各種使用案例,像是數位版權管理 (DRM)、公開金鑰基礎設施 (PKI)、文件簽署,以及使用 PKCS#11、Java JCE 或 Microsoft CNG 界面的加密功能。

AWS KMS 可讓您透過單一主控台來建立及控制加密金鑰,以用於您的應用程式和全球多個區域支援的 AWS 服務。該服務使用經過 FIPS 140-2 驗證或正在進行驗證的 FIPS HSM 來保護金鑰的安全。在 AWS KMS 集中管理所有金鑰能讓您強制管理哪些人可以在哪些條件下使用金鑰、金鑰輪換的時間,以及可管理金鑰的人員。AWS KMS 與 AWS CloudTrail 整合,可提供您稽核金鑰使用方式的功能,以支援您的監管和合規活動。如果想要直接呼叫服務 API,可使用 AWS 開發套件從應用程式與 AWS KMS 互動;如果想執行用戶端加密,則透過與 AWS KMS 整合的其他 AWS 服務或使用 AWS 加密開發套件

Standard Product Icons (Features) Squid Ink
進一步了解定價

檢視定價範例,計算您的成本。

進一步了解 
Sign up for a free account
註冊免費帳戶

立即存取 AWS 免費方案。 

註冊 
Standard Product Icons (Start Building) Squid Ink
開始在主控台進行建置

使用 AWS Key Management Service 開始在 AWS 主控台進行建置

登入