本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
針對 Management Utility 啟用法定身分驗證的使用者 AWS CloudHSM 管理
硬體安全模組 AWS CloudHSM () 上的加密管理員 (COHSM) 可以為 上的下列操作設定法定身分驗證HSM:
-
建立HSM使用者
-
刪除HSM使用者
-
變更其他HSM使用者的密碼
HSM 設定 進行法定身分驗證後, COs無法自行執行HSM使用者管理操作。下列範例顯示 CO 嘗試在 上建立新使用者時的輸出HSM。命令失敗,出現 RET_MXN_AUTH_FAILED
錯誤,這表示規定人數身分驗證失敗。
aws-cloudhsm>
createUser CU user1 password
*************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. AWS does NOT synchronize these changes automatically with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?
y
Creating User user1(CU) on 2 nodes createUser failed: RET_MXN_AUTH_FAILED creating user on server 0(10.0.2.14) failed Retry/Ignore/Abort?(R/I/A):
A
若要執行HSM使用者管理操作,CO 必須完成下列任務:
如果您尚未HSM為 設定 的法定身分驗證COs,請立即執行此操作。如需詳細資訊,請參閱首次設定。
步驟 1. 取得規定人數字符
首先,CO 必須使用 cloudhsm_mgmt_util 命令列工具,以請求規定人數字符。
取得規定人數權杖
-
使用下列命令啟動 cloudhsm_mgmt_util 命令列工具。
$
/opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
-
使用 loginHSM命令以 CO HSM身分登入 。如需詳細資訊,請參閱HSM 使用 CloudHSM Management Utility (CMU) 進行使用者管理。
-
使用 getToken 命令來取得規定人數權杖。如需詳細資訊,請參閱下列範例或使用 help getToken 命令。
範例 – 取得規定人數字符
此範例會取得使用者名稱 officer1 之 CO 的規定人數字符,並將字符儲存至名為 officer1.token
的檔案。若要使用範例命令,請將這些值取代為您自己的值:
-
officer1
– 取得權杖的 CO 名稱。這必須與登入 HSM且正在執行此命令的 CO 相同。 -
officer1.token
– 用於儲存法定權杖的檔案名稱。
在以下命令中,3
會識別您可以對其使用要取得字符的服務。在此情況下,權杖適用於HSM使用者管理操作 (服務 3)。如需詳細資訊,請參閱步驟 2. 在 上設定法定人數最小值 HSM。
aws-cloudhsm>
getToken 3
getToken success on server 0(10.0.2.14) Token: Id:1 Service:3 Node:1 Key Handle:0 User:officer1 getToken success on server 1(10.0.1.4) Token: Id:1 Service:3 Node:0 Key Handle:0 User:officer1officer1
officer1.token
步驟 2. 從核准取得簽章 COs
具有法定權杖的 CO 必須取得其他 的核准COs。若要授予其核准,另一個COs使用其簽署金鑰以密碼編譯方式簽署權杖。他們在 之外執行此操作HSM。
簽署權杖的方式有很多。下列範例顯示如何使用 Open SSL
範例 – 從核准取得簽章 COs
在這個範例中,具有字符 (officer1) 的 CO 需要至少兩個核准。下列範例命令顯示兩個 COs 如何使用 OpenSSL 以密碼編譯方式簽署權杖。
在第一個命令中,officer1 會簽署自己的字符。若要使用下列範例命令,請將這些值取代為您自己的值:
-
officer1.key
以及officer2.key
– 包含 CO 簽署金鑰的檔案名稱。 -
officer1.token.sig1
以及officer1.token.sig2
– 用於儲存簽章的檔案名稱。務必將每個簽章儲存在不同的檔案中。 -
officer1.token
– 包含 CO 正在簽署之權杖的檔案名稱。
$
openssl dgst -sha256 -sign
officer1.key
-outofficer1.token.sig1
officer1.token
Enter pass phrase for officer1.key:
在以下命令中,officer2 會簽署相同的字符。
$
openssl dgst -sha256 -sign
officer2.key
-outofficer1.token.sig2
officer1.token
Enter pass phrase for officer2.key:
步驟 3。在 上核准已簽署的權杖 HSM
CO 從其他 取得最低核准數目 (簽章) 後COs,必須在 上核准簽署的權杖HSM。
若要核准 上簽署的權杖 HSM
-
建立字符核准檔案。如需詳細資訊,請參閱下列範例。
-
使用下列命令啟動 cloudhsm_mgmt_util 命令列工具。
$
/opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
-
使用 loginHSM命令以 CO HSM身分登入 。如需詳細資訊,請參閱HSM 使用 CloudHSM Management Utility (CMU) 進行使用者管理。
-
使用 approveToken 命令來核准已簽署的字符,以便傳遞字符核准檔案。如需詳細資訊,請參閱下列範例。
範例 – 在 上建立權杖核准檔案並核准簽署的權杖 HSM
權杖核准檔案是 HSM所需的特定格式的文字檔案。該檔案包含有關該字符、其核准者和核准者簽章的資訊。以下範例示範的是範例字符核准檔案。
# For "Multi Token File Path", type the path to the file that contains # the token. You can type the same value for "Token File Path", but # that's not required. The "Token File Path" line is required in any # case, regardless of whether you type a value. Multi Token File Path = officer1.token; Token File Path = ; # Total number of approvals Number of Approvals = 2; # Approver 1 # Type the approver's type, name, and the path to the file that # contains the approver's signature. Approver Type = 2; # 2 for CO, 1 for CU Approver Name = officer1; Approval File = officer1.token.sig1; # Approver 2 # Type the approver's type, name, and the path to the file that # contains the approver's signature. Approver Type = 2; # 2 for CO, 1 for CU Approver Name = officer2; Approval File = officer1.token.sig2;
建立字符核准檔案之後,CO 會使用 cloudhsm_mgmt_util 命令列工具以登入 HSM。接著 CO 會使用 approveToken 命令來核准字符,如下列範例所示。Replace (取代) approval.txt
使用權杖核准檔案的名稱。
aws-cloudhsm>
approveToken
approval.txt
approveToken success on server 0(10.0.2.14) approveToken success on server 1(10.0.1.4)
當此命令成功時, HSM已核准法定權杖。若要檢查字符的狀態,請使用 listTokens 命令,如下列範例所示。命令的輸出顯示字符擁有所需的核准數。
權杖有效時間表示權杖保證在 上保留多久HSM。即使已超過字符有效時間 (零秒),您仍可以繼續使用該字符。
aws-cloudhsm>
listTokens
===================== Server 0(10.0.2.14) ===================== -------- Token - 0 ---------- Token: Id:1 Service:3 Node:1 Key Handle:0 User:officer1 Token Validity: 506 sec Required num of approvers : 2 Current num of approvals : 2 Approver-0: officer1 Approver-1: officer2 Num of tokens = 1 ===================== Server 1(10.0.1.4) ===================== -------- Token - 0 ---------- Token: Id:1 Service:3 Node:0 Key Handle:0 User:officer1 Token Validity: 506 sec Required num of approvers : 2 Current num of approvals : 2 Approver-0: officer1 Approver-1: officer2 Num of tokens = 1 listTokens success
步驟 4. 針對使用者管理操作使用權杖
在 CO 擁有具有所需核准數量的權杖之後,如上一節所示,CO 可以執行下列其中一個HSM使用者管理操作:
-
使用 createUser命令建立HSM使用者
-
使用 deleteUser命令刪除HSM使用者
-
使用 changePswd命令變更其他HSM使用者的密碼
如需使用這些命令的詳細資訊,請參閱HSM 使用者。
CO 僅可以使用該字符來進行一個操作。當該操作成功,該字符即不再有效。若要執行其他HSM使用者管理操作,CO 必須取得新的法定權杖、從核准者取得新的簽章,並在 上核准新的權杖HSM。
注意
MofN 權杖僅在您目前的登入工作階段開啟時才有效。如果您登出 cloudhsm_mgmt_util 或網路連線中斷連線,則該權杖會失效。同樣地,授權的權杖只能在 cloudhsm_mgmt_util 中使用,而不能用於其他應用程式中進行身分驗證。
在下列範例命令中,CO 會在 上建立新的使用者HSM。
aws-cloudhsm>
createUser CU user1
password
*************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. AWS does NOT synchronize these changes automatically with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?
y
Creating User user1(CU) on 2 nodes
先前命令成功之後,後續的 listUsers 命令會顯示新使用者。
aws-cloudhsm>
listUsers
Users on server 0(10.0.2.14): Number of users found:8 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 YES 0 NO 4 CO officer2 YES 0 NO 5 CO officer3 YES 0 NO 6 CO officer4 YES 0 NO 7 CO officer5 YES 0 NO 8 CU user1 NO 0 NO Users on server 1(10.0.1.4): Number of users found:8 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 YES 0 NO 4 CO officer2 YES 0 NO 5 CO officer3 YES 0 NO 6 CO officer4 YES 0 NO 7 CO officer5 YES 0 NO 8 CU user1 NO 0 NO
如果 CO 嘗試執行另一個HSM使用者管理操作,它會失敗並出現法定身分驗證錯誤,如下列範例所示。
aws-cloudhsm>
deleteUser CU user1
Deleting user user1(CU) on 2 nodes deleteUser failed: RET_MXN_AUTH_FAILED deleteUser failed on server 0(10.0.2.14) Retry/rollBack/Ignore?(R/B/I):
I
deleteUser failed: RET_MXN_AUTH_FAILED deleteUser failed on server 1(10.0.1.4) Retry/rollBack/Ignore?(R/B/I):
I
listTokens 命令顯示 CO 沒有已核准的憑證,如下列範例所示。若要執行其他HSM使用者管理操作,CO 必須取得新的法定權杖、從核准者取得新的簽章,並在 上核准新的權杖HSM。
aws-cloudhsm>
listTokens
===================== Server 0(10.0.2.14) ===================== Num of tokens = 0 ===================== Server 1(10.0.1.4) ===================== Num of tokens = 0 listTokens success