シークレットを作成し、シークレットの初期バージョンを保存します。

使用上の注意

シークレット名、初期バージョンに格納されているシークレット値、およびバージョン番号を指定する必要があります。 初期バージョンはACSCurrentとラベル付けされています。

対称顧客マスターキー (CMK) を暗号化キーとして指定して、シークレット値を暗号化できます。 暗号化キーを指定しない場合、Secrets Managerは、シークレット値を暗号化するためのCMKを作成します。 このCMKは、現在のリージョンのAlibaba Cloudアカウントによって作成されたすべてのシークレットのデフォルトの暗号化キーとして使用されます。 Secrets Managerは、各バージョンのシークレット値のみを暗号化します。 Secrets Managerは、シークレット名、バージョン番号、状態ラベルなどのメタデータを暗号化しません。

指定されたCMKを使用してシークレット値を暗号化するには、CMKに対するkms:GenerateDataKey権限が必要です。

この例では、mydbconninfoという名前のジェネリックシークレットが作成されます。 シークレットの初期バージョン番号はVersionIdパラメーターで指定され、値はv1です。 シークレット値はSecretDataパラメーターで指定され、値は {"user":"root","passwd":"****"} です。

デバッグ

OpenAPI Explorer は署名値を自動的に計算します。 この操作は、OpenAPI Explorer で呼び出すことを推奨します。 OpenAPI Explorer は、さまざまな SDK に対して操作のサンプルコードを動的に生成します。

リクエストパラメーター

パラメーター データ型 必須/任意 説明
操作 String 必須 CreateSecret

実行する操作です。 値をCreateSecretに設定します。

SecretName String 必須 mydbconninfo

秘密の名前。The name of the secret.

値は1 ~ 64文字で、英数字、アンダースコア (_) 、スラッシュ (/) 、プラス記号 (+) 、等号 (=) 、ピリオド (.) 、ハイフン (-) 、アット記号 (@) を使用できます。 次のリストは、さまざまなタイプのシークレットの名前要件を示しています。

  • SecretTypeパラメーターがGenericまたはRdsに設定されている場合、名前をacs/ で始めることはできません。
  • SecretTypeパラメーターがRAMCredentialsに設定されている場合、SecretNameパラメーターを $Autoに設定します。 この場合、KMSは自動的にacs/ram/user/ で始まるシークレット名を生成します。 RAMユーザーの表示名が含まれます。
  • SecretTypeパラメーターがECSに設定されている場合、名前はacs/ecs/ で始まる必要があります。
VersionId String 必須 v1

初期バージョン番号。 バージョン番号は各シークレットで一意です。

暗号化KeyId String 任意 00aa68af-2c02-4f68-95fe-3435d330 ****

シークレット値の暗号化に使用されるCMKのID。

DKMSInstanceIdパラメーターが空の場合、Secrets Managerは専用KMSによって作成されたCMKを使用してシークレットを暗号化および保護します。 DKMSInstanceIdパラメーターが空でない場合は、専用KMSインスタンスのCMKを指定して、シークレットを暗号化および保護します。

CMKは対称CMKでなければなりません。
SecretData String 必須 {"user":"root","passwd":"****"}

作成するシークレットの値。The value of the secret that you want to create. Secrets Managerはシークレット値を暗号化し、暗号化された値を初期バージョンに保存します。

  • SecretTypeパラメーターをジェネリックシークレットを示すGenericに設定すると、シークレット値をカスタマイズできます。
  • SecretTypeパラメーターをマネージドApsaraDB Rdsシークレットを示すRDSに設定した場合、シークレット値は {"Accounts":[{"AccountName":"" "," AccountPassword ":" ""}]} の形式である必要があります。 上記の形式で、AccountNameはApsaraDB RDSインスタンスへの接続に使用されるアカウントのユーザー名を示し、AccountPasswordはアカウントのパスワードを指定します。
  • SecretTypeパラメーターをマネージRAMシークレットを示すRAMCredentialsに設定した場合、シークレット値は {"AccessKeys":[{"AccessKeyId":"","","}]} の形式でなければなりません。 上記の形式では、AccessKeyIdはRAMユーザーのAccessKey IDを示し、AccessKeySecretはRAMユーザーのAccessKeyシークレットを指定します。 RAMユーザーのすべてのAccessKeyペアを指定する必要があります。
  • SecretTypeパラメーターをマネージドECSシークレットを示すECSに設定した場合、シークレット値は次のいずれかの形式である必要があります。
    • {"UserName": "","Password": ""}: UserNameはECSインスタンスへのログインに使用されるユーザー名を指定し、PasswordはECSインスタンスへのログインに使用されるパスワードを指定します。
    • {"UserName": "", "PublicKey": "" "," PrivateKey ":" ""}: PublicKeyはECSインスタンスへのログインに使用されるSSH公開鍵を示し、PrivateKeyはECSインスタンスへのログインに使用されるSSH秘密鍵を示します。
SecretDataType String 任意 text

シークレット値の型。 設定可能な値は以下のとおりです。

  • text
  • binary
SecretTypeパラメーターをRds、RAMCredentials、またはECSに設定した場合、SecretDataTypeパラメーターをtextに設定する必要があります。
説明 String 任意 mydbinfo

The description of the secret.

タグ String 任意 [{\"TagKey\":\"key1\" 、\"TagValue\":\"val1\" },{\ "TagKey\":\"key2\" 、\"TagValue\":\"val2\"}]

秘密のタグ。

SecretType String 任意 Rds

シークレットのタイプ。 設定可能な値は以下のとおりです。

  • Generic: ジェネリックシークレットを指定します。
  • Rds: マネージドApsaraDB RDSシークレットを指定します。
  • RAMCredentials: マネージRAMシークレットを指定します。
  • ECS: マネージドECSシークレットを指定します。
ExtendedConfig 地図 任意 {"SecretSubType":"SingleUser", "DBInstanceId":"rm-bp1b3dd3a506e ****", "CustomData" :{}}

シークレットの拡張設定。 このパラメータは、特定の型のシークレットのプロパティを指定します。 説明の長さは最大1,024文字です。

  • SecretTypeパラメーターをGenericに設定した場合、このパラメーターを設定する必要はありません。
  • SecretTypeパラメーターをRdsに設定した場合、ExtendedConfigパラメーターに次のフィールドを設定します。
    • SecretSubType: 必須です。 シークレットのサブタイプ。 設定可能な値は以下のとおりです。
      • SingleUser: Secrets Managerは、単一アカウントモードでApsaraDB RDSシークレットを管理します。 シークレットがローテーションされると、指定されたアカウントのパスワードが新しいランダムパスワードにリセットされます。
      • DoubleUsers: Secrets Managerは、デュアルアカウントモードでApsaraDB RDSシークレットを管理します。 一方のアカウントはACSCurrentバージョンによって参照され、もう一方のアカウントはACSPreviousバージョンによって参照されます。 シークレットがローテーションされると、ACSPreviousバージョンで参照されているアカウントのパスワードが新しいランダムパスワードにリセットされます。 次に、Secrets Managerは、参照アカウントをACSCurrentバージョンとACSPreviousバージョンの間で切り替えます。
    • DBInstanceId: 必須です。 ApsaraDB RDSアカウントが属するApsaraDB RDSインスタンス。
    • CustomData: オプション。 カスタムデータ。 値は、JSON形式のキーと値のペアのコレクションです。 最大10個のキーと値のペアを指定できます。 複数のキーと値のペアはコンマ (,) で区切ります。 例: {"Key1": "v1", "fds": "fdsf"} デフォルト値は空の中かっこ ({}) のペアです。
  • SecretTypeパラメーターをRAMCredentialsに設定した場合、ExtendedConfigパラメーターに次のフィールドを設定します。
    • SecretSubType: 必須です。 The subtype of the secret. 値をRamUserAccessKeyに設定します。
    • UserName: 必須です。 RAMユーザーの名前。
    • CustomData: オプション。 カスタムデータ。 値は、JSON形式のキーと値のペアのコレクションです。 最大10個のキーと値のペアを指定できます。 複数のキーと値のペアはコンマ (,) で区切ります。 デフォルト値は空の中かっこ ({}) のペアです。
  • SecretTypeパラメーターをECSに設定した場合、ExtendedConfigパラメーターに次のフィールドを設定します。
    • SecretSubType: 必須です。 シークレットのサブタイプ。 設定可能な値は以下のとおりです。
      • パスワード: ECSインスタンスへのログインに使用されるパスワード。
      • SSHKey: ECSインスタンスへのログインに使用されるSSH公開鍵と秘密鍵。
    • RegionId: 必須です。 ECSインスタンスが存在するリージョンのID。
    • InstanceId: 必須です。 ECSインスタンスのID。
    • CustomData: オプション。 カスタムデータ。 値は、JSON形式のキーと値のペアのコレクションです。 最大10個のキーと値のペアを指定できます。 複数のキーと値のペアはコンマ (,) で区切ります。 デフォルト値は空の中かっこ ({}) のペアです。
このパラメーターは、SecretTypeパラメーターをRds、RAMCredentials、またはECSに設定した場合に必要です。
EnableAutomaticRotation Boolean 任意 真実

自動回転を有効にするかどうかを指定します。 設定可能な値は以下のとおりです。

  • true: 自動回転を有効にすることを指定します。
  • false: 自動回転を無効にすることを指定します。 デフォルト値です。
このパラメーターは、SecretTypeパラメーターをRds、RAMCredentials、またはECSに設定した場合に有効です。
RotationInterval String 任意 30d

自動回転の間隔。 有効な値: 6時間から8,760時間 (365日) 。

値はinteger[unit] 形式です。

単位は、d (日) 、h (時間) 、m (分) 、またはs (秒) であり得る。 たとえば、7dと604800秒の両方が7日間の間隔を示します。

このパラメーターは、EnableAutomaticRotationパラメーターをtrueに設定する場合に必要です。 EnableAutomaticRotationパラメーターをfalseに設定した場合、またはEnableAutomaticRotationパラメーターが設定されていない場合、このパラメーターは無視されます。
DKMSInstanceId String 任意 kst-bjj62d8f5e0sgtx8h ****

専用KMSインスタンスのID。

共通リクエストパラメーターの詳細については、「共通パラメーター」をご参照ください。

レスポンスパラメーター

パラメーター データ型 説明
RequestId String 3bf02f7a-015b-4f93-be0f-cc043fda2dd3

リクエストのID。問題の特定とトラブルシューティングに使用されます。

AutomaticRotation String 有効

自動回転が有効かどうかを示します。 設定可能な値は以下のとおりです。

  • Enabled: 自動ローテーションが有効になっていることを示します。
  • Disabled: 自動ローテーションが無効であることを示します。
  • 無効: 自動ローテーションのステータスが異常であることを示します。 この場合、Secrets Managerはシークレットを自動的に回転できません。
SecretTypeパラメーターをRds、RAMCredentials、またはECSに設定した場合、このパラメーターが返されます。
SecretName String mydbconninfo

秘密の名前。The name of the secret.

VersionId String v1

シークレットのバージョン番号。

NextRotationDate String 2022-07-06T18:22:03Z

次のローテーションが実行される時刻。

自動回転が有効になっている場合、このパラメーターが返されます。
SecretType String Rds

シークレットのタイプ。 設定可能な値は以下のとおりです。

  • Generic: ジェネリックシークレットを示します。
  • Rds: 管理対象のApsaraDB RDSシークレットを示します。
  • RAMCredentials: マネージRAMシークレットを示します。
  • ECS: マネージドECSシークレットを示します。
RotationInterval String 604800s

自動回転の間隔。

値はinteger[unit] 形式です。 unitフィールドの値はsとして固定されます。 たとえば、値が604800秒の場合、7日間隔で自動ローテーションが実行されます。

自動回転が有効になっている場合、このパラメーターが返されます。
Arn String acs:kms:cn-hangzhou:154035569884 ****:secret/mydbconninfo

シークレットのAlibaba Cloudリソース名 (ARN) 。

ExtendedConfig String {\"SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955 ****\", \"CustomData\" :{}}

シークレットの拡張設定。

SecretTypeパラメーターをRds、RAMCredentials、またはECSに設定した場合、このパラメーターが返されます。
DKMSInstanceId String kst-bjj62d8f5e0sgtx8h ****

専用KMSインスタンスのID。

リクエストの例

http(s)://[Endpoint]/?Action=CreateSecret
&SecretName=mydbconninfo
&VersionId=v1
&EncryptionKeyId=00aa68af-2c02-4f68-95fe-3435d330 ****
&SecretData={"user":"root","passwd":"****"}
&SecretDataType=テキスト
&Description=mydbinfo
&タグ=[{\"TagKey\":\"key1\",\"TagValue\":\"val1\" },{\ "TagKey\":\"key2\",\"TagValue\":\"val2\"}]
&SecretType=Rds
&EnableAutomaticRotation=true
&RotationInterval=30d
&DKMSInstanceId=kst-bjj62d8f5e0sgtx8h ****
&<共通リクエストパラメーター>

正常に処理された場合のレスポンス例

XML 形式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateSecretResponse>
    <RequestId>3bf02f7a-015b-4f93-be0f-cc043fda2dd3</RequestId>
    <AutomaticRotation> 有効 </AutomaticRotation>
    <SecretName>mydbconninfo</SecretName>
    <VersionId>v1</VersionId>
    <NextRotationDate>2022-07-06T18:22:03Z</NextRotationDate>
    <SecretType>Rds</SecretType>
    <RotationInterval>604800秒 </RotationInterval>
    <Arn>acs:kms:cn-hangzhou:154035569884 ****:secret/mydbconninfo</Arn>
    <ExtendedConfig >{\ "SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955 ****\", \"CustomData\" :{} }</ExtendedConfig>
    <DKMSInstanceId>kst-bjj62d8f5e0sgtx8h ****</DKMSInstanceId>
</CreateSecretResponse>

JSON 形式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "3bf02f7a-015b-4f93-be0f-cc043fda2dd3" 、
  "AutomaticRotation" : "有効" 、
  "SecretName" : "mydbconninfo" 、
  "VersionId" : "v1" 、
  "NextRotationDate" : "2022-07-06T18:22:03Z" 、
  "SecretType" : "Rds" 、
  "RotationInterval" : "604800s" 、
  "Arn" : "acs:kms:cn-hangzhou:154035569884 ****:secret/mydbconninfo" 、
  "ExtendedConfig" : "{\\\" SecretSubType \\\ ":\\\" SingleUser \\\ "、\\\" DBInstanceId \\\ ":\\\" rm-uf667446pc955 **** \\\ "、\\\\" CustomData \\\ \":{} }" 、
  "DKMSInstanceId" : "kst-bjj62d8f5e0sgtx8h ****"
}

エラーコード

HTTP ステータスコード エラーコード エラーメッセージ 説明
400 InvalidParameter 指定したパラメーターは無効です。 指定されたパラメーターが無効な場合に返されるエラーメッセージです。
400 Rejected.LimitExceeded 秘密のクォータを超えています。 シークレットクォータが使い果たされた場合に返されるエラーメッセージ。
403 Forbidden.NoPermission 操作を実行する権限がありません。 該当の操作を実行する権限がない場合に返されるエラーメッセージです。
404 Forbidden.ResourceNotFound リソースが見つかりません。 リソースが存在しない場合に返されるエラーメッセージ。
409 拒否されました。ResourceExist リソースはすでに存在します。 指定されたリソースが既に存在する場合に返されるエラーコード。
409 拒否されました。ResourceInDeleteWindow シークレットは削除される予定です。 シークレットが削除される予定の場合に返されるエラーメッセージ。
429 拒否されました。スロットリング QPSの上限を超えています。 1秒あたりのクエリ数 (QPS) が上限に達した場合に返されるエラーメッセージ。
500 InternalFailure 内部エラーが発生しました。 内部エラーが発生した場合に返されるエラーメッセージです。

エラーコードリストについては、「API エラーセンター」をご参照ください。