Crée un secret et stocke sa version initiale.
Description de l'opération
-
Pour plus d'informations sur la stratégie d'accès requise pour qu'un utilisateur ou un rôle Resource Access Management (RAM) puisse appeler cette opération, consultez Resource Access Management.
-
Spécifiez le nom du secret, la valeur du secret pour la version initiale et le numéro de version. La version initiale est marquée avec l'étiquette d'étape ACSCurrent.
-
Key Management Service (KMS) utilise la clé que vous spécifiez pour chiffrer la valeur du secret. La clé et le secret doivent se trouver dans la même instance KMS. La clé doit être une clé symétrique.
RemarqueKMS chiffre la valeur du secret de chaque version. Les métadonnées telles que le nom du secret, le numéro de version et les étiquettes d'étape de version ne sont pas chiffrées.
-
Avant de chiffrer la valeur du secret, vous devez disposer de l'autorisation
kms:GenerateDataKeysur la clé.
Cette rubrique fournit un exemple de création d'un secret RDS. Le secret est nommé mydbconninfo. Le VersionId de la version initiale est v1. Le SecretData est {"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]}.
Testez maintenant
Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.
Test
Autorisation RAM
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| SecretName |
string |
Oui |
Le nom du secret. Le nom doit être unique dans la même région. Le nom peut comporter jusqu'à 192 caractères et contenir des lettres, des chiffres, des traits de soulignement (_), des barres obliques (/), des signes plus (+), des signes égal (=), des points (.), des traits d'union (-) et des arobases (@). Les limites suivantes s'appliquent aux noms de secret pour les différents types de secrets :
|
mydbconninfo |
| VersionId |
string |
Oui |
Le numéro de version de la version initiale. Le numéro de version doit être unique au sein du secret. Le numéro de version peut comporter jusqu'à 64 caractères. |
v1 |
| EncryptionKeyId |
string |
Non |
L'identifiant de la clé utilisée pour chiffrer la valeur du secret. Remarque
La clé et le secret doivent se trouver dans la même instance KMS. La clé doit être une clé symétrique. |
key-gzz63ff0db5hg3qje**** |
| SecretData |
string |
Oui |
La valeur du secret. La valeur peut comporter jusqu'à 30 720 octets (30 Ko). KMS chiffre la valeur du secret avec la clé spécifiée et stocke la valeur chiffrée dans la version initiale.
|
{"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]} |
| SecretDataType |
string |
Non |
Le type de la valeur du secret. Valeurs valides :
Remarque
Si SecretType est défini sur Rds, Redis, PolarDB, RAMCredentials ou ECS, SecretDataType doit être défini sur text. |
text |
| Description |
string |
Non |
La description du secret. |
mydbinfo |
| Tags |
string |
Non |
Les balises du secret. Chaque balise se compose d'une paire clé-valeur. Une balise se compose d'une clé de balise et d'une valeur de balise. La clé de balise et la valeur de balise peuvent comporter jusqu'à 128 caractères et contenir des lettres, des chiffres, des barres obliques (/), des barres obliques inverses (\), des traits de soulignement (_), des traits d'union (-), des points (.), des signes plus (+), des signes égal (=), des deux-points (:) et des arobases (@).
|
[{\"TagKey\":\"key1\",\"TagValue\":\"val1\"},{\"TagKey\":\"key2\",\"TagValue\":\"val2\"}] |
| SecretType |
string |
Non |
Le type du secret. Valeurs valides :
|
Rds |
| ExtendedConfig |
object |
Non |
La configuration étendue du secret. Ce paramètre spécifie les propriétés du secret d'un type spécifique. La valeur peut comporter jusqu'à 1 024 caractères.
Remarque
Si SecretType est défini sur Rds, Redis, PolarDB, RAMCredentials ou ECS, vous devez configurer ce paramètre. |
{"SecretSubType":"SingleUser", "DBInstanceId":"rm-bp1b3dd3a506e****" ,"CustomData":{"Key1": "v1", "fds":"fdsf"}} |
| EnableAutomaticRotation |
boolean |
Non |
Indique si la permutation automatique doit être activée. Valeurs valides :
Remarque
Ce paramètre n'est valide que si SecretType est défini sur Rds, PolarDB, Redis, RAMCredentials ou ECS. Si SecretType est défini sur Generic, la permutation automatique n'est pas prise en charge. Vous pouvez appeler l'opération PutSecretValue pour permuter manuellement le secret. |
true |
| RotationInterval |
string |
Non |
L'intervalle de permutation automatique. La valeur est comprise entre 6 heures et 8 760 heures (365 jours). Remarque
Vous devez spécifier ce paramètre si vous définissez EnableAutomaticRotation sur true. Vous n'avez pas besoin de spécifier ce paramètre si vous définissez EnableAutomaticRotation sur false. |
30d |
| DKMSInstanceId |
string |
Non |
L'identifiant de l'instance KMS. |
kst-bjj62d8f5e0sgtx8h**** |
| Policy |
string |
Non |
Le contenu de la stratégie de secret. La valeur est au format JSON. La valeur peut comporter jusqu'à 32 768 octets. Pour plus d'informations sur les stratégies de secret, consultez Présentation des stratégies de secret. Si vous ne spécifiez pas ce paramètre, la stratégie de secret par défaut est utilisée. Une stratégie de secret contient les parties suivantes :
Voici le format d'une stratégie de secret :
Détails d'une instruction :
Remarque
Après avoir accordé des autorisations à un utilisateur ou un rôle RAM d'un autre compte Alibaba Cloud, vous devez utiliser le compte Alibaba Cloud auquel l'utilisateur ou le rôle RAM appartient pour lui accorder les autorisations d'utilisation du secret dans la console RAM. Ensuite, l'utilisateur ou le rôle RAM peut utiliser le secret. Pour plus d'informations, consultez Stratégies personnalisées pour KMS, Accorder des autorisations à un utilisateur RAM et Accorder des autorisations à un rôle RAM. |
{"Version":"1","Statement": [{"Sid":"kms default secret policy","Effect":"Allow","Principal":{"RAM": ["acs:ram::119285303511****:*"]},"Action":["kms:*"],"Resource": ["*"] }] } |
Pour plus d'informations sur les paramètres de requête courants, consultez Paramètres courants.
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
|||
| RequestId |
string |
L'identifiant de la requête, qui est un identifiant unique généré par Alibaba Cloud. Vous pouvez utiliser cet identifiant pour résoudre les problèmes. |
3bf02f7a-015b-4f93-be0f-cc043fda2dd3 |
| AutomaticRotation |
string |
Indique si la permutation automatique est activée. Valeurs valides :
Remarque
Ce paramètre est renvoyé si SecretType est défini sur Rds, Redis, PolarDB, RAMCredentials ou ECS. |
Enabled |
| SecretName |
string |
Le nom du secret. |
mydbconninfo |
| VersionId |
string |
Le numéro de version du secret. |
v1 |
| NextRotationDate |
string |
L'heure à laquelle le secret sera permuté pour la prochaine fois. Remarque
Ce paramètre est renvoyé si la permutation automatique est activée. |
2023-07-06T18:22:03Z |
| SecretType |
string |
Le type du secret. Valeurs valides :
|
Rds |
| RotationInterval |
string |
L'intervalle de permutation automatique. Remarque
Ce paramètre est renvoyé si la permutation automatique est activée. |
604800s |
| Arn |
string |
Le nom de ressource Alibaba Cloud (ARN) du secret. |
acs:kms:cn-hangzhou:154035569884****:secret/mydbconninfo |
| ExtendedConfig |
string |
La configuration étendue du secret. Remarque
Ce paramètre est renvoyé si SecretType est défini sur Rds, Redis, PolarDB, RAMCredentials ou ECS. |
{\"SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955****\", \"CustomData\":"Key1": "v1", "fds":"fdsf"} } |
| DKMSInstanceId |
string |
L'identifiant de l'instance KMS. |
kst-bjj62d8f5e0sgtx8h**** |
Exemples
JSON format
{
"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****"
}
Codes d'erreur
|
Code de statut HTTP |
Code d'erreur |
Message d'erreur |
Description |
|---|---|---|---|
| 400 | UnsupportedOperation | This action is not supported. | The operation is not supported. |
| 400 | Rejected.LimitExceeded | The request was rejected because user create resource limit was exceeded | The request is rejected because the number of created resources reaches the upper limit. |
| 400 | InvalidParameter | The specified parameter is not valid. | An invalid value is specified for the parameter. |
| 400 | Rejected.ShareQuotaExceedLimit | Instance Share Quota Exceed Limit. | The instance share quota exceeds the limit. |
| 500 | InternalFailure | Internal Failure | An internal error occurred. |
| 403 | Forbidden.DKMSInstanceNotFound | The specified DKMS Instance is not found. | Your dedicated KMS instance is not found. |
| 404 | Forbidden.ResourceNotFound | The resource is not found. | The resource does not exist. |
| 409 | Rejected.ResourceExist | The resource already exists. | The resource already exists. |
| 409 | Rejected.ResourceInDeleteWindow | The secret is planned to be deleted. | The secret is to be deleted. |
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.