すべてのプロダクト
Search
ドキュメントセンター

Key Management Service:よくある質問

最終更新日:May 15, 2025

このトピックでは、シークレットに関するよくある質問への回答を提供します。

質問

KMS はシークレットのセキュリティをどのように確保しますか?

シークレットを作成する際は、シークレットが属するインスタンスに対称キーを指定する必要があります。 KMS は、対称キーを使用してデータキーを生成し、データキーを使用してシークレットを暗号化し、専用のストレージにシークレットを保存します。この暗号化メカニズムは、エンベロープ暗号化と呼ばれます。

説明

KMS は、シークレット名、バージョン番号、バージョンのステージラベルなど、シークレットのメタデータを暗号化しません。

アプリケーションがシークレットをリクエストすると、KMS は Resource Access Management (RAM) またはアプリケーション アクセスポイント (AAP) を使用して、アプリケーションの身元認証と権限チェックを実行します。アプリケーションが認証と権限チェックに合格すると、KMS はシークレットを復号化し、TLS 1.2 経由でシークレットのプレーンテキストをアプリケーションに返します。

シークレットはどのように暗号化されますか?

KMS は、エンベロープ暗号化によってシークレットを暗号化します。

エンベロープ暗号化で使用されるキーは、シークレットの作成時に指定したキーです。詳細については、「KMS キーをエンベロープ暗号化に使用する」をご参照ください。

ローテーション ポリシーを設定する際、または即時ローテーションを開始する際に、「シークレットがローテーションされています。後でもう一度お試しください」というメッセージが表示された場合はどうすればよいですか?

シークレット タイプ

考えられる原因と解決策

RAM シークレット

RAM シークレットはローテーション中です。

自動ローテーションのローテーション期間は約 48 時間です。即時ローテーションのローテーション期間は、指定したローテーション ウィンドウです。

ローテーション ウィンドウ内で完了しない場合は、RAM ユーザーがまだ RAM に存在するかどうかを確認してください。

RDS シークレット

ほとんどの場合、RDS シークレットのローテーションはすぐに完了します。 2 分以上完了しない場合は、必要な RDS インスタンスと必要な ApsaraDB RDS アカウントが想定どおりに動作しているかどうかを確認してください。

ECS シークレット

ほとんどの場合、ECS シークレットのローテーションはすぐに完了します。 2 分以上完了しない場合は、必要な ECS インスタンスと必要な ECS アカウントが想定どおりに動作しているかどうかを確認してください。

シークレット ステータスが使用できない場合、または API 呼び出しが「Rejected.Unavailable」を返す場合はどうすればよいですか?

シークレットが属する KMS インスタンスの期限が切れているためです。

期限切れ後 15 暦日以内にインスタンスを更新してください。そうしないと、インスタンスは解放されます。詳細については、「更新ポリシー」をご参照ください。

現在インスタンスを必要としないが、後でインスタンス内のキーまたはシークレットが必要になる可能性がある場合は、事前にインスタンスをバックアップしてください。詳細については、「バックアップ管理」をご参照ください。

新しいコンソール (KMS 3.0) で作成されたシークレットが見つからない場合はどうすればよいですか?

説明

新しいコンソール (KMS 3.0) には、KMS インスタンスで管理されているシークレットのみが表示されます。

古いバージョンの KMS (1.0) を使用しているユーザーは、KMS インスタンスを購入せずにシークレットを作成できます。ただし、これらのシークレットは 3.0 コンソールでは表示できません。 古いコンソールに戻って、作成したシークレットを表示してください。

RDS シークレット アカウントの検証に失敗した場合はどうすればよいですか?

ほとんどの場合、これは RDS シークレットに関連付けられている ApsaraDB RDS アカウントまたは ApsaraDB RDS インスタンスが削除されたために発生します。 ApsaraDB RDS アカウントまたは ApsaraDB RDS インスタンスが ApsaraDB RDS に存在するかどうかを確認することをお勧めします。

RAM シークレットを作成し、KMS に AK 権限へのアクセスを承認する際に、「この操作を実行する権限がありません」というメッセージが表示された場合はどうすればよいですか?

KMS に AK 権限へのアクセスを承認する際に「この操作を実行する権限がありません」というメッセージが表示された場合は、現在ログインしている RAM アカウントにクラウドリソースを操作する権限がないことを示しています。

権限付与リンクを RAM 管理者(リソース管理権限を持つ RAM ユーザーまたは Alibaba Cloud アカウント)に送信して、権限付与を完了します。権限付与が完了したら、RAM シークレット作成ページに戻り、[更新] ボタンをクリックします。これで RAM シークレットを作成できます。詳細については、「手順 1: KMS に RAM ユーザーの AccessKey ペアを管理する権限を付与する」をご参照ください。

API を介してキーで暗号化されたシークレット値を取得するには、どのような権限ポリシーが必要ですか?

少なくとも、 GetSecretValueDecrypt の両方の権限が必要です。

例:

{
	"Version": "1",
	"Statement": [{
		"Effect": "Allow",
		"Action": [
			"kms:GetSecretValue",
			"kms:Decrypt"
		],
		"Resource": [
			"acs:kms:${region}:${account}:secret/example-secret",
			"acs:kms:${region}:${account}:key/keyId-example"
		]
	}]
}

手順については、「RAM ユーザーに権限を付与する」および「RAM ロールに権限を付与する」をご参照ください。