建立憑據並存入憑據的初始版本。
介面說明
-
RAM 使用者或 RAM 角色調用該 OpenAPI 需要被授與權限策略詳情,請參見存取控制。
-
您需要指定憑據名稱、初始版本的憑據值和版本號碼。初始版本的狀態被標記為 ACSCurrent。
-
KMS 使用您指定的金鑰組憑據值進行加密保護,密鑰和憑據需要屬於同一個 KMS 執行個體,且密鑰必須為對稱金鑰。
說明KMS 對每個版本的憑據值進行加密,憑據名稱、版本號碼、版本的狀態標記等中繼資料不會被加密。
-
您對憑據值進行加密前,需要具備密鑰的
kms:GenerateDataKey許可權。
本文將提供一個樣本,建立一個名稱為mydbconninfo、初始版本號碼VersionId為v1、憑據值SecretData為{"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]}的 RDS 憑據。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| SecretName |
string |
是 |
憑據名稱。 憑據名稱在當前地區下唯一。 長度不超過 192 個字元,可包含英文字母、數字、底線(_)、正斜線(/)、加號(+)、等號(=)、半形句號(.)、短劃線(-)和字元(@)。不同類型的憑據名稱要求如下:
|
mydbconninfo |
| VersionId |
string |
是 |
初始版本的版本號碼,版本號碼在該憑據內唯一。 長度不超過 64 個字元。 |
v1 |
| EncryptionKeyId |
string |
否 |
用於加密憑據值的金鑰識別碼。 說明
密鑰和憑據需要屬於同一個 KMS 執行個體,且密鑰必須為對稱金鑰。 |
key-gzz63ff0db5hg3qje**** |
| SecretData |
string |
是 |
憑據值。長度不超過 30720 位元組(30KB)。KMS 使用指定的金鑰組其加密後,存入初始版本中。
|
{"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]} |
| SecretDataType |
string |
否 |
憑據實值型別。取值:
說明
當 SecretType 取值為 Rds、Redis、PolarDB、RAMCredentials 或 ECS 時,SecretDataType 取值只能為 text。 |
text |
| Description |
string |
否 |
憑據的描述資訊。 |
mydbinfo |
| Tags |
string |
否 |
憑據的標籤。每個標籤由一個索引值對(Key:Value)組成,包含標籤鍵(Key)、標籤值(Value)。 標籤建和標籤值的格式:最多支援 128 個字元,可以包含英文大小寫字母、數字、正斜線(/)、反斜線(\)、底線(_)、短劃線(-)、半形句號(.)、加號(+)、等號(=)、半形冒號(:)、字元 at(@)。
|
[{\"TagKey\":\"key1\",\"TagValue\":\"val1\"},{\"TagKey\":\"key2\",\"TagValue\":\"val2\"}] |
| SecretType |
string |
否 |
憑據類型。取值:
|
Rds |
| ExtendedConfig |
object |
否 |
憑據的拓展配置,用於指定特定憑據類型的屬性。長度不超過 1024 個字元。
說明
當 SecretType 取值為 Rds、Redis、PolarDB、RAMCredentials 或 ECS 時,必須設定該參數。 |
{"SecretSubType":"SingleUser", "DBInstanceId":"rm-bp1b3dd3a506e****" ,"CustomData":{"Key1": "v1", "fds":"fdsf"}} |
| EnableAutomaticRotation |
boolean |
否 |
是否開啟自動輪轉,取值:
說明
當 SecretType 取值為 Rds(RDS 憑據)、PolarDB(PolarDB 憑據)、Redis(Redis 憑據)、RAMCredentials(RAM 憑據)或 ECS(ECS 憑據)時,該參數有效。當 SecretType 取值為 Generic(通用憑據)時,不支援自動輪轉,您可通過 PutSecretValue 操作手工輪轉。 |
true |
| RotationInterval |
string |
否 |
自動輪轉的周期。取值範圍:6 小時~8,760 小時(365 天)。 說明
僅當 EnableAutomaticRotation 取值為 true 時,必須設定該參數,否則無需設定。 |
30d |
| DKMSInstanceId |
string |
否 |
KMS 執行個體的執行個體 ID。 |
kst-bjj62d8f5e0sgtx8h**** |
| Policy |
string |
否 |
憑據策略的具體內容,JSON 格式。最大長度為 32768 個位元組。 關於憑據策略的詳細介紹,請參見憑據策略概述。不輸入該參數時,使用預設憑據策略。 憑據策略內容包含:
憑據策略格式為:
Statement 詳細介紹:
說明
授權給其他阿里雲帳號下的 RAM 使用者、RAM 角色後,您仍需在存取控制 RAM 側,使用該 RAM 使用者、RAM 角色的阿里雲帳號為其授權使用該憑據,RAM 使用者、RAM 角色才能使用該憑據。集體操作,請參見Key Management Service自訂權限原則參考、為 RAM 使用者授權、為 RAM 角色授權。 |
{"Version":"1","Statement": [{"Sid":"kms default secret policy","Effect":"Allow","Principal":{"RAM": ["acs:ram::119285303511****:*"]},"Action":["kms:*"],"Resource": ["*"] }] } |
關於公用請求參數的詳情,請參見公用參數。
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
|||
| RequestId |
string |
本次調用請求的 ID,是由阿里雲為該請求產生的唯一識別碼,可用於排查和定位問題。 |
3bf02f7a-015b-4f93-be0f-cc043fda2dd3 |
| AutomaticRotation |
string |
是否開啟自動輪轉。取值:
說明
SecretType 取值為 Rds、Redis、PolarDB、RAMCredentials 或 ECS 時,返回該參數。 |
Enabled |
| SecretName |
string |
憑據名稱。 |
mydbconninfo |
| VersionId |
string |
憑據版本號碼。 |
v1 |
| NextRotationDate |
string |
下一次輪轉的時間。 說明
當自動輪轉開啟時,返回該參數。 |
2023-07-06T18:22:03Z |
| SecretType |
string |
憑據類型。取值:
|
Rds |
| RotationInterval |
string |
憑據自動輪轉的周期。 說明
當自動輪轉開啟時,返回該參數。 |
604800s |
| Arn |
string |
阿里雲資源名稱。 |
acs:kms:cn-hangzhou:154035569884****:secret/mydbconninfo |
| ExtendedConfig |
string |
憑據的拓展配置。 說明
當 SecretType 取值為 Rds、Redis、PolarDB、RAMCredentials 或 ECS 時,返回該參數。 |
{\"SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955****\", \"CustomData\":"Key1": "v1", "fds":"fdsf"} } |
| DKMSInstanceId |
string |
KMS 執行個體的執行個體 ID。 |
kst-bjj62d8f5e0sgtx8h**** |
樣本
正常返回樣本
JSON格式
{
"RequestId": "3bf02f7a-015b-4f93-be0f-cc043fda2dd3",
"AutomaticRotation": "Enabled",
"SecretName": "mydbconninfo",
"VersionId": "v1",
"NextRotationDate": "2023-07-06T18:22:03Z",
"SecretType": "Rds",
"RotationInterval": "604800s",
"Arn": "acs:kms:cn-hangzhou:154035569884****:secret/mydbconninfo",
"ExtendedConfig": "{\\\"SecretSubType\\\":\\\"SingleUser\\\", \\\"DBInstanceId\\\":\\\"rm-uf667446pc955****\\\", \\\"CustomData\\\":\"Key1\": \"v1\", \"fds\":\"fdsf\"} }",
"DKMSInstanceId": "kst-bjj62d8f5e0sgtx8h****"
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | UnsupportedOperation | This action is not supported. | 不支援的操作 |
| 400 | Rejected.LimitExceeded | The request was rejected because user create resource limit was exceeded | 建立的資源達到上限,請求被拒絕。 |
| 400 | InvalidParameter | The specified parameter is not valid. | 參數非法。 |
| 400 | Rejected.ShareQuotaExceedLimit | Instance Share Quota Exceed Limit. | 執行個體份額配額超過限制。 |
| 500 | InternalFailure | Internal Failure | 內部錯誤 |
| 403 | Forbidden.DKMSInstanceNotFound | The specified DKMS Instance is not found. | 您指定的專屬kms執行個體未找到。 |
| 404 | Forbidden.ResourceNotFound | The resource is not found. | 資源不存在。 |
| 409 | Rejected.ResourceExist | The resource already exists. | 資源已存在。 |
| 409 | Rejected.ResourceInDeleteWindow | The secret is planned to be deleted. | 此憑據在計劃刪除中 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。