{"id":"9e1e3db9-d788-4620-84ec-b212d3165550","shortId":"BNnBu2","kind":"skill","title":"azure-keyvault-secrets-rust","tagline":"Azure Key Vault Secrets SDK for Rust. Use for storing and retrieving secrets, passwords, and API keys. Triggers: \"keyvault secrets rust\", \"SecretClient rust\", \"get secret rust\", \"set secret rust\".","description":"# Azure Key Vault Secrets SDK for Rust\n\nClient library for Azure Key Vault Secrets — secure storage for passwords, API keys, and other secrets.\n\n## Installation\n\n```sh\ncargo add azure_security_keyvault_secrets azure_identity\n```\n\n## Environment Variables\n\n```bash\nAZURE_KEYVAULT_URL=https://<vault-name>.vault.azure.net/\n```\n\n## Authentication\n\n```rust\nuse azure_identity::DeveloperToolsCredential;\nuse azure_security_keyvault_secrets::SecretClient;\n\nlet credential = DeveloperToolsCredential::new(None)?;\nlet client = SecretClient::new(\n    \"https://<vault-name>.vault.azure.net/\",\n    credential.clone(),\n    None,\n)?;\n```\n\n## Core Operations\n\n### Get Secret\n\n```rust\nlet secret = client\n    .get_secret(\"secret-name\", None)\n    .await?\n    .into_model()?;\n\nprintln!(\"Secret value: {:?}\", secret.value);\n```\n\n### Set Secret\n\n```rust\nuse azure_security_keyvault_secrets::models::SetSecretParameters;\n\nlet params = SetSecretParameters {\n    value: Some(\"secret-value\".into()),\n    ..Default::default()\n};\n\nlet secret = client\n    .set_secret(\"secret-name\", params.try_into()?, None)\n    .await?\n    .into_model()?;\n```\n\n### Update Secret Properties\n\n```rust\nuse azure_security_keyvault_secrets::models::UpdateSecretPropertiesParameters;\nuse std::collections::HashMap;\n\nlet params = UpdateSecretPropertiesParameters {\n    content_type: Some(\"text/plain\".into()),\n    tags: Some(HashMap::from([(\"env\".into(), \"prod\".into())])),\n    ..Default::default()\n};\n\nclient\n    .update_secret_properties(\"secret-name\", params.try_into()?, None)\n    .await?;\n```\n\n### Delete Secret\n\n```rust\nclient.delete_secret(\"secret-name\", None).await?;\n```\n\n### List Secrets\n\n```rust\nuse azure_security_keyvault_secrets::ResourceExt;\nuse futures::TryStreamExt;\n\nlet mut pager = client.list_secret_properties(None)?.into_stream();\nwhile let Some(secret) = pager.try_next().await? {\n    let name = secret.resource_id()?.name;\n    println!(\"Secret: {}\", name);\n}\n```\n\n### Get Specific Version\n\n```rust\nuse azure_security_keyvault_secrets::models::SecretClientGetSecretOptions;\n\nlet options = SecretClientGetSecretOptions {\n    secret_version: Some(\"version-id\".into()),\n    ..Default::default()\n};\n\nlet secret = client\n    .get_secret(\"secret-name\", Some(options))\n    .await?\n    .into_model()?;\n```\n\n## Best Practices\n\n1. **Use Entra ID auth** — `DeveloperToolsCredential` for dev, `ManagedIdentityCredential` for production\n2. **Use `into_model()?`** — to deserialize responses\n3. **Use `ResourceExt` trait** — for extracting names from IDs\n4. **Handle soft delete** — deleted secrets can be recovered within retention period\n5. **Set content type** — helps identify secret format\n6. **Use tags** — for organizing and filtering secrets\n7. **Version secrets** — new values create new versions automatically\n\n## RBAC Permissions\n\nAssign these Key Vault roles:\n- `Key Vault Secrets User` — get and list\n- `Key Vault Secrets Officer` — full CRUD\n\n## Reference Links\n\n| Resource | Link |\n|----------|------|\n| API Reference | https://docs.rs/azure_security_keyvault_secrets |\n| Source Code | https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/keyvault/azure_security_keyvault_secrets |\n| crates.io | https://crates.io/crates/azure_security_keyvault_secrets |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["azure","keyvault","secrets","rust","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents"],"capabilities":["skill","source-sickn33","skill-azure-keyvault-secrets-rust","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-keyvault-secrets-rust","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34928 github stars · SKILL.md body (3,657 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T18:50:31.342Z","embedding":null,"createdAt":"2026-04-18T21:32:36.530Z","updatedAt":"2026-04-24T18:50:31.342Z","lastSeenAt":"2026-04-24T18:50:31.342Z","tsv":"'/azure/azure-sdk-for-rust/tree/main/sdk/keyvault/azure_security_keyvault_secrets':380 '/azure_security_keyvault_secrets':375 '/crates/azure_security_keyvault_secrets':384 '1':283 '2':294 '3':301 '4':310 '5':322 '6':330 '7':338 'action':397 'add':61 'api':21,53,371 'applic':391 'ask':435 'assign':349 'auth':287 'authent':75 'automat':346 'await':113,152,198,208,236,278 'azur':2,6,35,45,62,66,71,78,82,124,160,213,250 'azure-keyvault-secrets-rust':1 'bash':70 'best':281 'boundari':443 'cargo':60 'clarif':437 'clear':410 'client':42,93,106,143,188,270 'client.delete':202 'client.list':224 'code':377 'collect':168 'content':173,324 'core':99 'crates.io':381,383 'crates.io/crates/azure_security_keyvault_secrets':382 'creat':343 'credenti':88 'credential.clone':97 'criteria':446 'crud':366 'default':139,140,186,187,266,267 'delet':199,313,314 'describ':398,414 'deseri':299 'dev':290 'developertoolscredenti':80,89,288 'docs.rs':374 'docs.rs/azure_security_keyvault_secrets':373 'entra':285 'env':182 'environ':68,426 'environment-specif':425 'execut':393 'expert':431 'extract':306 'filter':336 'format':329 'full':365 'futur':219 'get':29,101,107,245,271,358 'github.com':379 'github.com/azure/azure-sdk-for-rust/tree/main/sdk/keyvault/azure_security_keyvault_secrets':378 'handl':311 'hashmap':169,180 'help':326 'id':240,264,286,309 'ident':67,79 'identifi':327 'input':440 'instal':58 'key':7,22,36,46,54,351,354,361 'keyvault':3,24,64,72,84,126,162,215,252 'let':87,92,104,130,141,170,221,231,237,256,268 'librari':43 'limit':402 'link':368,370 'list':209,360 'managedidentitycredenti':291 'match':411 'miss':448 'model':115,128,154,164,254,280,297 'mut':222 'name':111,148,194,206,238,241,244,275,307 'new':90,95,341,344 'next':235 'none':91,98,112,151,197,207,227 'offic':364 'oper':100 'option':257,277 'organ':334 'output':420 'overview':401 'pager':223 'pager.try':234 'param':131,171 'params.try':149,195 'password':19,52 'period':321 'permiss':348,441 'practic':282 'println':116,242 'prod':184 'product':293 'properti':157,191,226 'rbac':347 'recov':318 'refer':367,372 'requir':439 'resourc':369 'resourceext':217,303 'respons':300 'retent':320 'retriev':17 'review':432 'role':353 'rust':5,12,26,28,31,34,41,76,103,122,158,201,211,248 'safeti':442 'scope':413 'sdk':10,39 'secret':4,9,18,25,30,33,38,48,57,65,85,102,105,108,110,117,121,127,136,142,145,147,156,163,190,193,200,203,205,210,216,225,233,243,253,259,269,272,274,315,328,337,340,356,363 'secret-nam':109,146,192,204,273 'secret-valu':135 'secret.resource':239 'secret.value':119 'secretcli':27,86,94 'secretclientgetsecretopt':255,258 'secur':49,63,83,125,161,214,251 'set':32,120,144,323 'setsecretparamet':129,132 'sh':59 'skill':389,405 'skill-azure-keyvault-secrets-rust' 'soft':312 'sourc':376 'source-sickn33' 'specif':246,427 'std':167 'stop':433 'storag':50 'store':15 'stream':229 'substitut':423 'success':445 'tag':178,332 'task':409 'test':429 'text/plain':176 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'trait':304 'treat':418 'trigger':23 'trystreamext':220 'type':174,325 'updat':155,189 'updatesecretpropertiesparamet':165,172 'url':73 'use':13,77,81,123,159,166,212,218,249,284,295,302,331,387,403 'user':357 'valid':428 'valu':118,133,137,342 'variabl':69 'vault':8,37,47,352,355,362 'vault.azure.net':74,96 'version':247,260,263,339,345 'version-id':262 'within':319 'workflow':395","prices":[{"id":"25560d61-e459-449a-85ab-b611200e915e","listingId":"9e1e3db9-d788-4620-84ec-b212d3165550","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:32:36.530Z"}],"sources":[{"listingId":"9e1e3db9-d788-4620-84ec-b212d3165550","source":"github","sourceId":"sickn33/antigravity-awesome-skills/azure-keyvault-secrets-rust","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-keyvault-secrets-rust","isPrimary":false,"firstSeenAt":"2026-04-18T21:32:36.530Z","lastSeenAt":"2026-04-24T18:50:31.342Z"}],"details":{"listingId":"9e1e3db9-d788-4620-84ec-b212d3165550","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"azure-keyvault-secrets-rust","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34928,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"37e2782102963505a2cba094fc08343cc3577014","skill_md_path":"skills/azure-keyvault-secrets-rust/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-keyvault-secrets-rust"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"azure-keyvault-secrets-rust","description":"Azure Key Vault Secrets SDK for Rust. Use for storing and retrieving secrets, passwords, and API keys. Triggers: \"keyvault secrets rust\", \"SecretClient rust\", \"get secret rust\", \"set secret rust\"."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-keyvault-secrets-rust"},"updatedAt":"2026-04-24T18:50:31.342Z"}}