Skip to content
Back to skills

Connect Azure

ASecurity

Connect to an Azure subscription, validate credentials, and discover what services are in use.

  • 4 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 12, 2026
securitypythonbashazureapidatabase

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill connect-azure --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Connect Azure?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Connect Azure
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-connect-azure/badge)](https://www.skillsdirectory.com/skills/aibot88-connect-azure)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: connect-azure
description: Connect to an Azure subscription, validate credentials, and discover what services are in use.
user-invocable: true
---

# Connect Azure

You are helping a semi-technical founder connect Shasta to their Azure subscription for SOC 2 and ISO 27001 compliance scanning.

## Configuration

Shasta uses `shasta.config.json` in the project root for all settings. Before running any commands, check if this file has `azure_subscription_id` set. If not, you'll need to configure it.

## What to do

1. **Check if shasta.config.json is configured for Azure.** Read the file. If `azure_subscription_id` is empty, ask the user:
   - Have you run `az login`? If not, tell them to run `! az login` first.
   - Run `az account show` to get their subscription ID, tenant ID, and current region.
   - What region are their resources in? (e.g., `centralindia`, `eastus`, `westeurope`)
   - If `company_name` is still empty, ask for it too.
   
   Update `shasta.config.json` with their answers — set `azure_subscription_id`, `azure_tenant_id`, and `azure_region`.

2. **Also detect the correct Python command** if `python_cmd` isn't set. Run `python3 --version` and `python --version` to find which works. Update `python_cmd` in the config.

3. **Validate Azure credentials** by running (substitute the correct python command):
   ```bash
   <PYTHON_CMD> -c "
   from shasta.config import get_azure_client
   c = get_azure_client()
   info = c.validate_credentials()
   services = c.discover_services()
   print(f'Azure Subscription: {info.subscription_name} ({info.subscription_id})')
   print(f'Tenant: {info.tenant_id}')
   print(f'Identity: {info.user_principal}')
   print(f'Region: {info.region}')
   print(f'Services detected: {services if services else \"none (empty subscription)\"}')
   "
   ```

4. **Initialize the Shasta database** (if not already done):
   ```bash
   <PYTHON_CMD> -c "from shasta.db.schema import ShastaDB; db = ShastaDB(); db.initialize(); print('Database initialized at data/shasta.db')"
   ```

5. **Present results** in a clear, friendly format and suggest running `/scan` next.

## Important notes

- **Never ask the user to paste Azure credentials into the chat.** Always use `az login` or service principal environment variables.
- Replace `<PYTHON_CMD>` with whatever works on this machine (`python3`, `python`, or `py -3.12`).
- If credentials fail, guide them through `az login` or `az account set --subscription <ID>`.
- Azure scanning requires read access. The user's default role (Reader or Contributor) is sufficient for all checks.
- Entra ID checks (Conditional Access, user enumeration) require Graph API permissions — these may produce NOT_ASSESSED findings if permissions are missing, which is fine.

Files in this skill

  • SKILL.md2.7 KB
  • source.json601 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.