建立憑據並存入憑據的初始版本。
您需要指定憑據名稱、初始版本的憑據值和版本號碼。初始版本的狀態被標記為ACSCurrent。
KMS使用您指定的金鑰組憑據值進行加密保護,密鑰和憑據需要屬於同一個KMS執行個體,且密鑰必須為對稱金鑰。
您對憑據值進行加密前,需要具備密鑰的kms:GenerateDataKey許可權。
本文將提供一個樣本,建立一個名稱為mydbconninfo、初始版本號碼VersionId為v1、憑據值SecretData為{"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]}的RDS憑據。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
請求參數
|
名稱 |
類型 |
是否必選 |
樣本值 |
描述 |
| Action | String | 是 | CreateSecret | 要執行的操作。取值:CreateSecret。 |
| SecretName | String | 是 | mydbconninfo | 憑據名稱。 憑據名稱在當前地區下唯一。 長度不超過192個字元,可包含英文字母、數字、底線(_)、正斜線(/)、加號(+)、等號(=)、半形句號(.)、短劃線(-)和字元(@)。不同類型的憑據名稱要求如下:
|
| VersionId | String | 是 | v1 | 初始版本的版本號碼,版本號碼在該憑據內唯一。 長度不超過64個字元。 |
| EncryptionKeyId | String | 否 | key-gzz63ff0db5hg3qje**** | 用於加密憑據值的密鑰ID。 說明 密鑰和憑據需要屬於同一個KMS執行個體,且密鑰必須為對稱金鑰。 |
| SecretData | String | 是 | {"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]} | 憑據值。長度不超過30720位元組(30KB)。KMS使用指定的金鑰組其加密後,存入初始版本中。
|
| SecretDataType | String | 否 | text | 憑據實值型別。取值:
說明 當SecretType取值為Rds、Redis、PolarDB、RAMCredentials或ECS時,SecretDataType取值只能為text。 |
| Description | String | 否 | mydbinfo | 憑據的描述資訊。 |
| Tags | String | 否 | [{\"TagKey\":\"key1\",\"TagValue\":\"val1\"},{\"TagKey\":\"key2\",\"TagValue\":\"val2\"}] | 憑據的標籤。每個標籤由一個索引值對(Key:Value)組成,包含標籤鍵(Key)、標籤值(Value)。 標籤建和標籤值的格式:最多支援128個字元,可以包含英文大小寫字母、數字、正斜線(/)、反斜線(\)、底線(_)、短劃線(-)、半形句號(.)、加號(+)、等號(=)、半形冒號(:)、字元at(@)。
|
| SecretType | String | 否 | Rds | 憑據類型。取值:
|
| ExtendedConfig | Map | 否 | {"SecretSubType":"SingleUser", "DBInstanceId":"rm-bp1b3dd3a506e****" ,"CustomData":{"Key1": "v1", "fds":"fdsf"}} | 憑據的拓展配置,用於指定特定憑據類型的屬性。長度不超過1024個字元。
說明 當SecretType取值為Rds、Redis、PolarDB、RAMCredentials或ECS時,必須設定該參數。 |
| EnableAutomaticRotation | Boolean | 否 | true | 是否開啟自動輪轉,取值:
說明 當SecretType取值為Rds(RDS憑據)、PolarDB(PolarDB憑據)、Redis(Redis憑據)、RAMCredentials(RAM憑據)或ECS(ECS憑據)時,該參數有效。當SecretType取值為Generic(通用憑據)時,不支援自動輪轉,您可通過PutSecretValue操作手工輪轉。 |
| RotationInterval | String | 否 | 30d | 自動輪轉的周期。取值範圍:6小時~8,760小時(365天)。 格式為 unit取值:d(天)、h(小時)、m(分鐘)、s(秒)。例如:7d或者604,800s均表示7天的周期。 說明 僅當EnableAutomaticRotation取值為true時,必須設定該參數,否則無需設定。 |
| DKMSInstanceId | String | 否 | kst-bjj62d8f5e0sgtx8h**** | KMS執行個體的執行個體ID。 |
| Policy | String | 否 | {"Version":"1","Statement": [{"Sid":"kms default secret policy","Effect":"Allow","Principal":{"RAM": ["acs:ram::119285303511****:*"]},"Action":["kms:*"],"Resource": ["*"] }] } | 憑據策略的具體內容,JSON格式。最大長度為32768個位元組。 關於憑據策略的詳細介紹,請參見憑據策略概述。不輸入該參數時,使用預設憑據策略。 憑據策略內容包含:
憑據策略格式為:
Statement詳細介紹:
說明 授權給其他阿里雲帳號下的RAM使用者、RAM角色後,您仍需在存取控制RAM側,使用該RAM使用者、RAM角色的阿里雲帳號為其授權使用該憑據,RAM使用者、RAM角色才能使用該憑據。集體操作,請參見Key Management Service自訂權限原則參考、為RAM使用者授權、為RAM角色授權。 |
關於公用請求參數的詳情,請參見公用參數。
返回資料
名稱 |
類型 |
樣本值 |
描述 |
| RequestId | String | 3bf02f7a-015b-4f93-be0f-cc043fda2dd3 | 本次調用請求的ID,是由阿里雲為該請求產生的唯一識別碼,可用於排查和定位問題。 |
| AutomaticRotation | String | Enabled | 是否開啟自動輪轉。取值:
說明 SecretType取值為Rds、Redis、PolarDB、RAMCredentials或ECS時,返回該參數。 |
| 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 | {\"SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955****\", \"CustomData\":"Key1": "v1", "fds":"fdsf"} } | 憑據的拓展配置。 說明 當SecretType取值為Rds、Redis、PolarDB、RAMCredentials或ECS時,返回該參數。 |
| DKMSInstanceId | String | kst-bjj62d8f5e0sgtx8h**** | KMS執行個體的執行個體ID。 |
樣本
請求樣本
http(s)://[Endpoint]/?Action=CreateSecret
&SecretName=mydbconninfo
&VersionId=v1
&EncryptionKeyId=key-gzz63ff0db5hg3qje****
&SecretData={"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]}
&SecretDataType=text
&Description=mydbinfo
&Tags=[{\"TagKey\":\"key1\",\"TagValue\":\"val1\"},{\"TagKey\":\"key2\",\"TagValue\":\"val2\"}]
&SecretType=Rds
&EnableAutomaticRotation=true
&RotationInterval=30d
&DKMSInstanceId=kst-bjj62d8f5e0sgtx8h****
&Policy={"Version":"1","Statement": [{"Sid":"kms default secret policy","Effect":"Allow","Principal":{"RAM": ["acs:ram::119285303511****:*"]},"Action":["kms:*"],"Resource": ["*"] }] }
&公用請求參數
正常返回樣本
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateSecretResponse>
<RequestId>3bf02f7a-015b-4f93-be0f-cc043fda2dd3</RequestId>
<AutomaticRotation>Enabled</AutomaticRotation>
<SecretName>mydbconninfo</SecretName>
<VersionId>v1</VersionId>
<NextRotationDate>2023-07-06T18:22:03Z</NextRotationDate>
<SecretType>Rds</SecretType>
<RotationInterval>604800s</RotationInterval>
<Arn>acs:kms:cn-hangzhou:154035569884****:secret/mydbconninfo</Arn>
<ExtendedConfig>{\"SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955****\", \"CustomData\":"Key1": "v1", "fds":"fdsf"} }</ExtendedConfig>
<DKMSInstanceId>kst-bjj62d8f5e0sgtx8h****</DKMSInstanceId>
</CreateSecretResponse>
JSON格式
HTTP/1.1 200 OK
Content-Type:application/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****"
}
錯誤碼
|
HttpCode |
錯誤碼 |
錯誤資訊 |
描述 |
| 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. | 執行個體份額配額超過限制。 |
| 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. | 此憑據在計劃刪除中 |
| 500 | InternalFailure | Internal Failure | 內部錯誤 |
訪問錯誤中心查看更多錯誤碼。