azure-keyvault-certificates-rust について
Azure Key Vault の証明書を保存、管理する Rust クライアントライブラリです。証明書のライフサイクル操作やポリシー管理を行う Rust 開発者向けです。
主な機能
- 01証明書の取得と一覧表示
- 02証明書の作成とインポート
- 03証明書ポリシーの更新
- 04復元可能な証明書の削除
活用シーン
- 01保管庫から証明書を取得
- 02PFX または PEM 証明書をインポート
- 03証明書の更新ポリシーを設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill azure-keyvault-certificates-rustインストール後、Claude Code で/azure-keyvault-certificates-rustを入力して読み込まれたか確認します。
詳細
Azure Key Vault Certificates SDK for Rust
Azure Key Vault Certificates 用のクライアントライブラリです。証明書を安全に保管および管理できます。
バージョンと実行範囲
サンプルは API のスケッチです。シグネチャや機能、非同期ランタイム、レスポンスモデルについては、まず Cargo.lock と対応する SDK ドキュメントを確認してください。テスト用のボールトと最小権限を使用してください。PFX/秘密鍵のインポートや証明書ポリシーの変更・削除には、対応する権限が必要です。インポートパスワードや秘密鍵はシークレットストアに保管し、ソースコードやログには決して含めないでください。削除レスポンスがあっても、パージや関連するすべてのキー/シークレットのバージョンが削除されたことを証明するものではありません。実際のライフサイクル状態を確認してください。
インストール
cargo add azure_security_keyvault_certificates azure_identity
環境変数
AZURE_KEYVAULT_URL=https://<vault-name>.vault.azure.net/
認証
use azure_identity::DeveloperToolsCredential;
use azure_security_keyvault_certificates::CertificateClient;
let credential = DeveloperToolsCredential::new(None)?;
let client = CertificateClient::new(
"https://<vault-name>.vault.azure.net/",
credential.clone(),
None,
)?;
主な操作
証明書の取得
use azure_core::base64;
let certificate = client
.get_certificate("certificate-name", None)
.await?
.into_model()?;
println!(
"Thumbprint: {:?}",
certificate.x509_thumbprint.map(base64::encode_url_safe)
);
証明書の作成
use azure_security_keyvault_certificates::models::{
CreateCertificateParameters, CertificatePolicy,
IssuerParameters, X509CertificateProperties,
};
let policy = CertificatePolicy {
issuer_parameters: Some(IssuerParameters {
name: Some("Self".into()),
..Default::default()
}),
x509_certificate_properties: Some(X509CertificateProperties {
subject: Some("CN=example.com".into()),
..Default::default()
}),
..Default::default()
};
let params = CreateCertificateParameters {
certificate_policy: Some(policy),
..Default::default()
};
let operation = client
.create_certificate("cert-name", params.try_into()?, None)
.await?;
証明書のインポート
use azure_security_keyvault_certificates::models::ImportCertificateParameters;
let params = ImportCertificateParameters {
base64_encoded_certificate: Some(base64_cert_data),
password: Some("optional-password".into()),
..Default::default()
};
let certificate = client
.import_certificate("cert-name", params.try_into()?, None)
.await?
.into_model()?;
証明書の削除
client.delete_certificate("certificate-name", None).await?;
証明書の一覧表示
use azure_security_keyvault_certificates::ResourceExt;
use futures::TryStreamExt;
let mut pager = client.list_certificate_properties(None)?.into_stream();
while let Some(cert) = pager.try_next().await? {
let name = cert.resource_id()?.name;
println!("Certificate: {}", name);
}
証明書ポリシーの取得
let policy = client
.get_certificate_policy("certificate-name", None)
.await?
.into_model()?;
証明書ポリシーの更新
use azure_security_keyvault_certificates::models::UpdateCertificatePolicyParameters;
let params = UpdateCertificatePolicyParameters {
// Update policy properties
..Default::default()
};
client
.update_certificate_policy("cert-name", params.try_into()?, None)
.await?;
証明書のライフサイクル
- 作成 — ポリシーに基づいて新しい証明書を生成します
- インポート — 既存の PFX/PEM 証明書をインポートします
- 取得 — 証明書を取得します(公開鍵のみ)
- 更新 — 証明書のプロパティを変更します
- 削除 — 論理削除します(復元可能)
- パージ — 完全に削除します
ベストプラクティス
- Entra ID 認証を使用する — 開発時には
DeveloperToolsCredentialを使用します - マネージド証明書を使用する — 対応する発行者で自動更新します
- 適切な有効期間を設定する — セキュリティとメンテナンスのバランスを取ります
- 証明書ポリシーを使用する — 更新とキーのプロパティを定義します
- 有効期限を監視する — 有効期限が近い証明書のアラートを設定します
- 論理削除を有効にする — 本番環境のボールトでは必須です
RBAC のアクセス許可
次の Key Vault ロールを割り当てます。
Key Vault Certificates Officer— 証明書に対する完全な CRUD 権限Key Vault Reader— 証明書メタデータの読み取り権限
参考リンク
使用する場面
このスキルは、概要で説明されているワークフローまたは操作を実行する場合に適用できます。
制限事項
- 上記の説明にある範囲とタスクが明確に一致する場合に限り、このスキルを使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、アクセス許可、安全上の境界、または成功基準が不足している場合は、停止して確認してください。
コメント
Markdown 対応