You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge in SIE-BB/netapp-dataops-toolkit from feature/secure-auth-anf-gcnv to release-v3.1.0
* commit '3da1488775aefe1e801ff7f88fc4dd6cc76a25c8':
NSOL-6266: fixing path manipulation vulnerability from coverity scan
NSOL-6228: updating documentation
NSOL-6228: updating anf mcp server documentation
NSOL-6228: updating authentication process in anf documentation
Copy file name to clipboardExpand all lines: netapp_dataops_traditional/docs/anf_mcp_server_readme.md
+31-31Lines changed: 31 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,45 +47,44 @@ After installation, the `netapp_dataops_anf_mcp.py` command will be available in
47
47
48
48
### Azure Authentication
49
49
50
-
The MCP server uses **Azure CLI authentication** (`AzureCliCredential`) and automatically retrieves your subscription ID from the active Azure CLI session.
50
+
The MCP server uses **`DefaultAzureCredential`** from `azure-identity`, which automatically selects the appropriate credential based on the environment — no configuration required. The active subscription is resolved via the Azure SDK's `SubscriptionClient`.
51
+
52
+
> **No secrets or environment variables are required.** The credential resolves automatically based on the environment.
51
53
52
54
#### Required Setup
53
55
54
-
1.**Install Azure CLI**: Follow the [installation guide](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
-**Simplified Setup**: No subscription ID in config files or function parameters
86
-
-**Better Security**: Subscription ID not stored anywhere
87
-
-**Multi-Tenant Support**: Easy switching between tenants/subscriptions with Azure CLI
88
-
-**Automatic Detection**: Works seamlessly with your Azure CLI context
89
88
90
89
### ANF Configuration (Optional)
91
90
@@ -130,7 +129,7 @@ The configuration file is stored at `~/.netapp_dataops/anf_config.json` and cont
130
129
}
131
130
```
132
131
133
-
> **📝 Note:** The subscription ID is **not** stored in the configuration file. It is automatically retrieved from your active Azure CLI session using `az account show`.
132
+
> **📝 Note:** The subscription ID is **not** stored in the configuration file. It is automatically resolved at runtime via `DefaultAzureCredential` and the Azure SDK's `SubscriptionClient`.
134
133
135
134
#### Configuration Benefits and Usage
136
135
@@ -281,7 +280,9 @@ Set up disaster recovery:
281
280
1.**Authentication Failed**:
282
281
```bash
283
282
az login
284
-
# or check service principal credentials
283
+
# or for a specific tenant
284
+
az login --tenant <TENANT_ID>
285
+
# verify active session
285
286
az account show
286
287
```
287
288
@@ -379,7 +380,6 @@ print('Config test - Account:', get_config_value('account_name'))
379
380
- Regularly review and update Azure role assignments
380
381
- Implement proper network security groups and access controls
381
382
- Enable encryption at rest and in transit where required
382
-
- Use Azure managed identities for production workloads where possible
383
383
- Leverage Azure Active Directory for centralized authentication
The ANF module uses **Azure CLI authentication**(`AzureCliCredential`) and automatically retrieves your subscription ID from the active Azure CLI session.
107
+
The ANF module uses **`DefaultAzureCredential`**from `azure-identity`, which automatically chains through multiple authentication methods without requiring any environment variables or secrets. The active subscription is resolved via the Azure SDK's `SubscriptionClient`.
- ✅ **Multi-subscription Support**: Honors `az account set --subscription`
142
-
- ✅ **Consistent Authentication**: Uses same credentials as Azure CLI
143
-
144
-
**Note:** Service Principal and environment variable authentication methods are no longer supported. The module now exclusively uses Azure CLI authentication for consistency and security.
146
+
-**Zero secrets** – No `AZURE_CLIENT_ID`, `AZURE_CLIENT_SECRET`, or `AZURE_TENANT_ID` needed
147
+
-**Portable** – Works in local dev, CI/CD, containers, and Azure-hosted environments
148
+
-**Subscription auto-resolved** – No subscription ID in config files or function parameters
-**Version control friendly** - Config file can be shared across teams
191
197
192
198
### Configuration File Location
193
199
@@ -209,7 +215,7 @@ The configuration is automatically saved to:
209
215
}
210
216
```
211
217
212
-
**Note:** Subscription ID is not stored in the config file. It's automatically retrieved from your Azure CLI session via `az account show`.
218
+
**Note:** Subscription ID is not stored in the config file. It's automatically resolved at runtime via `DefaultAzureCredential` and the Azure SDK's `SubscriptionClient`.
0 commit comments