本文以命令列工具(CLI)為例,為您介紹如何管理通用憑據(Generic Secrets)。您也可以通過阿里雲控制台或API管理通用憑據。
建立通用憑據
- 樣本1:建立通用憑據時不指定加密金鑰
執行以下命令調用CreateSecret介面建立通用憑據,KMS憑據管家會使用系統預設加密的方式保護憑據值。
aliyun kms CreateSecret \ --SecretName db_cred \ --SecretData "{\"uname\": \"alice\", \"pwd\": \"12****\"}" \ --VersionId v1
KMS返回以下結果:
{ "Arn": "acs:kms:cn-shanghai:111760096384****:secret/db_cred", "RequestId": "ef0e4234-085c-4676-9ab6-159f2338aaf0", "SecretName": "db_cred", "SecretType": "Generic", "VersionId": "v1" }
- 樣本2:建立通用憑據時指定加密金鑰
執行以下命令調用CreateSecret介面建立通用憑據,KMS憑據管家使用指定的使用者主要金鑰(CMK)對憑據進行加密。
aliyun kms CreateSecret \ --SecretName ssh_key \ --SecretData ssh-key-blob \ --VersionId v1 \ --EncryptionKeyId Example-CMK-Id
說明- KMS憑據管家使用指定的CMK產生資料密鑰,用於加密保護憑據的明文資料。
- 如果建立通用憑據時指定加密金鑰,CreateSecret的調用者還需要具備指定CMK的kms:GenerateDataKey許可權。
KMS返回以下結果:
{ "Arn": "acs:kms:cn-shanghai:111760096384****:secret/ssh_key", "RequestId": "ef0e4234-085c-4676-9ab6-159f2338aaf0", "SecretName": "ssh_key", "SecretType": "Generic", "VersionId": "v1" }
查詢通用憑據列表
執行以下命令調用ListSecrets介面查詢通用憑據列表。
aliyun kms ListSecrets
KMS返回以下結果:
{
"SecretList": {
"Secret": [
{
"SecretName": "db_cred",
"SecretType": "Generic",
"CreateTime": "2020-01-22T03:55:18Z",
"UpdateTime": "2020-01-22T03:55:18Z"
},
{
"SecretName": "ssh_key",
"SecretType": "Generic",
"CreateTime": "2020-01-22T03:57:09Z",
"UpdateTime": "2020-01-22T03:57:09Z"
}
]
},
"RequestId": "75aebbde-be68-4cab-ba6e-e4925b61****",
"PageNumber": 1,
"PageSize": 10,
"TotalCount": 2
}
查詢通用憑據的憑據值
執行以下命令調用GetSecretValue介面查詢通用憑據的憑據值。
aliyun kms GetSecretValue --SecretName ssh_key
KMS返回以下結果:
{
"CreateTime": "2021-07-08T05:51:50Z",
"RequestId": "1415f5c7-ecb2-495e-8051-4cd466022c1f",
"SecretData": "{\"test\":\"test\"}",
"SecretDataType": "text",
"SecretName": "ssh_key",
"SecretType": "Generic",
"VersionId": "v1",
"VersionStages": {
"VersionStage": [
"ACSCurrent"
]
}
}
查詢通用憑據中繼資料資訊
執行以下命令調用DescribeSecret介面查詢通用憑據中繼資料資訊。
aliyun kms DescribeSecret --SecretName ssh_key
KMS返回以下結果:
{
"Arn": "acs:kms:cn-shanghai:111760096384****:secret/ssh_key",
"SecretName": "ssh_key",
"SecretType": "Generic",
"EncryptionKeyId": "Example-CMK-Id",
"Description": "",
"CreateTime": "2020-01-22T03:57:09Z",
"UpdateTime": "2020-01-22T03:57:09Z",
"RequestId": "ca61398f-e61e-4552-aa7e-957955f6125s"
}
刪除通用憑據
- 執行以下命令調用DeleteSecret介面刪除通用憑據。
- 預設情況下,刪除的憑據可以在30天內恢複。
aliyun kms DeleteSecret --SecretName ssh_key
KMS返回以下結果:
{ "SecretName": "ssh_key", "RequestId": "3e54b02b-6461-46bb-afd5-dbd29d96eead", "PlannedDeleteTime": "2020-02-21T04:24:04.58616562Z" }
- 刪除憑據時,可以指定恢複視窗為7天。
aliyun kms DeleteSecret --SecretName ssh_key --RecoveryWindowInDays 7
KMS返回以下結果:
{ "SecretName": "ssh_key", "RequestId": "95ec4f18-8f97-4fd5-b7c6-1588979dse4s", "PlannedDeleteTime": "2020-01-29T04:25:14.165242211Z" }
- 刪除憑據時,如果指定強制移除,則不允許恢複。
aliyun kms DeleteSecret --SecretName ssh_key --ForceDeleteWithoutRecovery true
KMS返回以下結果:
{ "SecretName": "ssh_key", "RequestId": "75efc9c3-8e21-4e38-b6e4-486886be1546", "PlannedDeleteTime": "2020-01-22T12:28:22.006884739+08:00" }
- 預設情況下,刪除的憑據可以在30天內恢複。
- 執行以下命令調用RestoreSecret介面,在恢複視窗期內恢複憑據。
aliyun kms RestoreSecret --SecretName ssh_key
KMS返回以下結果:
{ "RequestId": "12770cee-92af-42f5-88e0-cbaa7e0c1254", "SecretName": "ssh_key" }
輪轉通用憑據
如果您需要對憑據進行輪轉,請參見輪轉通用憑據。