Skip to content

Commit 121cf6c

Browse files
Use ManagedIdentityCredential
1 parent 92054d5 commit 121cf6c

25 files changed

+67
-73
lines changed

docs/workshop/docs/workshop/Challenge-3-and-4/knowledge_mining_api.ipynb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"import pyodbc\n",
2929
"from dotenv import load_dotenv\n",
3030
"\n",
31-
"from azure.identity.aio import DefaultAzureCredential, get_bearer_token_provider\n",
31+
"from azure.identity.aio import ManagedIdentityCredential, get_bearer_token_provider\n",
3232
"from azure.ai.agents.models import TruncationObject\n",
3333
"\n",
3434
"from semantic_kernel.functions.kernel_function_decorator import kernel_function\n",
@@ -61,7 +61,7 @@
6161
" mid_id = os.getenv(\"SQLDB_USER_MID\")\n",
6262
"\n",
6363
" try:\n",
64-
" async with DefaultAzureCredential() as credential:\n",
64+
" async with ManagedIdentityCredential() as credential:\n",
6565
" token = await credential.get_token(\"https://database.windows.net/.default\")\n",
6666
" token_bytes = token.token.encode(\"utf-16-LE\")\n",
6767
" token_struct = struct.pack(\n",
@@ -128,7 +128,7 @@
128128
"\n",
129129
" try:\n",
130130
" token_provider = get_bearer_token_provider(\n",
131-
" DefaultAzureCredential(), \"https://cognitiveservices.azure.com/.default\"\n",
131+
" ManagedIdentityCredential(), \"https://cognitiveservices.azure.com/.default\"\n",
132132
" )\n",
133133
" token = await token_provider()\n",
134134
" client = openai.AzureOpenAI(\n",
@@ -175,7 +175,7 @@
175175
" Only return the generated SQL query. Do not return anything else.'''\n",
176176
" \n",
177177
" token_provider = get_bearer_token_provider(\n",
178-
" DefaultAzureCredential(), \"https://cognitiveservices.azure.com/.default\"\n",
178+
" ManagedIdentityCredential(), \"https://cognitiveservices.azure.com/.default\"\n",
179179
" )\n",
180180
" token = await token_provider()\n",
181181
" client = openai.AzureOpenAI(\n",
@@ -212,7 +212,7 @@
212212
" ):\n",
213213
" try:\n",
214214
" token_provider = get_bearer_token_provider(\n",
215-
" DefaultAzureCredential(), \"https://cognitiveservices.azure.com/.default\"\n",
215+
" ManagedIdentityCredential(), \"https://cognitiveservices.azure.com/.default\"\n",
216216
" )\n",
217217
" token = await token_provider()\n",
218218
" client = openai.AzureOpenAI(\n",
@@ -313,7 +313,7 @@
313313
"async def main() -> None:\n",
314314
" ai_agent_settings = AzureAIAgentSettings()\n",
315315
" async with (\n",
316-
" DefaultAzureCredential() as creds,\n",
316+
" ManagedIdentityCredential() as creds,\n",
317317
" AzureAIAgent.create_client(credential=creds, endpoint=ai_agent_settings.endpoint) as client,\n",
318318
" ):\n",
319319
" AGENT_INSTRUCTIONS = '''You are a helpful assistant.\n",

docs/workshop/docs/workshop/Challenge-5/notebooks/video_chapter_generation.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@
117117
")\n",
118118
"from python.content_understanding_client import AzureContentUnderstandingClient\n",
119119
"\n",
120-
"from azure.identity import DefaultAzureCredential, get_bearer_token_provider\n",
121-
"credential = DefaultAzureCredential()\n",
120+
"from azure.identity import ManagedIdentityCredential, get_bearer_token_provider\n",
121+
"credential = ManagedIdentityCredential()\n",
122122
"token_provider = get_bearer_token_provider(credential, AUTHENTICATION_URL)\n",
123123
"\n",
124124
"# The analyzer template is used to define the schema of the output\n",

docs/workshop/docs/workshop/Challenge-5/notebooks/video_tag_generation.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@
117117
")\n",
118118
"from python.content_understanding_client import AzureContentUnderstandingClient\n",
119119
"\n",
120-
"from azure.identity import DefaultAzureCredential, get_bearer_token_provider\n",
121-
"credential = DefaultAzureCredential()\n",
120+
"from azure.identity import ManagedIdentityCredential, get_bearer_token_provider\n",
121+
"credential = ManagedIdentityCredential()\n",
122122
"token_provider = get_bearer_token_provider(credential, AUTHENTICATION_URL)\n",
123123
"\n",
124124
"# The analyzer template is used to define the schema of the output\n",

docs/workshop/docs/workshop/Challenge-5/python/utility.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
from openai import AzureOpenAI
77
import tiktoken
8-
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
8+
from azure.identity import ManagedIdentityCredential, get_bearer_token_provider
99
from tenacity import retry, wait_random_exponential, stop_after_attempt
1010
from pydantic import BaseModel, Field
1111

@@ -158,7 +158,7 @@ def __init__(
158158
if aoai_api_key is None or aoai_api_key == "":
159159
print("Using Entra ID/AAD to authenticate")
160160
token_provider = get_bearer_token_provider(
161-
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
161+
ManagedIdentityCredential(), "https://cognitiveservices.azure.com/.default"
162162
)
163163

164164
self.client = AzureOpenAI(

docs/workshop/docs/workshop/Challenge-6/Content_safety_evaluation.ipynb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"metadata": {},
3737
"outputs": [],
3838
"source": [
39-
"from azure.identity import DefaultAzureCredential\n",
39+
"from azure.identity import ManagedIdentityCredential\n",
4040
"\n",
4141
"azure_ai_project = {\n",
4242
" \"subscription_id\": os.environ.get(\"AZURE_SUBSCRIPTION_ID\"),\n",
@@ -122,8 +122,8 @@
122122
"outputs": [],
123123
"source": [
124124
"from azure.ai.evaluation.simulator import AdversarialScenario\n",
125-
"from azure.identity import DefaultAzureCredential\n",
126-
"credential = DefaultAzureCredential()\n",
125+
"from azure.identity import ManagedIdentityCredential\n",
126+
"credential = ManagedIdentityCredential()\n",
127127
"\n",
128128
"scenario = AdversarialScenario.ADVERSARIAL_QA\n",
129129
"adversarial_simulator = AdversarialSimulator(azure_ai_project=azure_ai_project, credential=credential)\n",
@@ -150,7 +150,7 @@
150150
"from azure.ai.evaluation import ContentSafetyEvaluator\n",
151151
"import pandas as pd\n",
152152
"\n",
153-
"credential = DefaultAzureCredential()\n",
153+
"credential = ManagedIdentityCredential()\n",
154154
"# instantiate an evaluator with image and multi-modal support\n",
155155
"safety_evaluator = ContentSafetyEvaluator(credential=credential, azure_ai_project=azure_ai_project)\n",
156156
"\n",

infra/scripts/fabric_scripts/create_fabric_items.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from azure.identity import DefaultAzureCredential
1+
from azure.identity import ManagedIdentityCredential
22
import base64
33
import json
44
import requests
@@ -9,7 +9,7 @@
99
import time
1010

1111

12-
# credential = DefaultAzureCredential()
12+
# credential = ManagedIdentityCredential()
1313
from azure.identity import AzureCliCredential
1414
credential = AzureCliCredential()
1515

infra/scripts/index_scripts/01_create_search_index.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from azure.identity import DefaultAzureCredential
1+
from azure.identity import ManagedIdentityCredential
22
from azure.keyvault.secrets import SecretClient
33
from azure.search.documents.indexes import SearchIndexClient
44
from azure.search.documents.indexes.models import (
@@ -18,7 +18,6 @@
1818

1919
# === Configuration ===
2020
KEY_VAULT_NAME = 'kv_to-be-replaced'
21-
MANAGED_IDENTITY_CLIENT_ID = 'mici_to-be-replaced'
2221
INDEX_NAME = "call_transcripts_index"
2322

2423

@@ -28,12 +27,12 @@ def get_secrets_from_kv(secret_name: str) -> str:
2827
2928
Args:
3029
secret_name (str): Name of the secret.
31-
credential (DefaultAzureCredential): Credential with access to Key Vault.
30+
credential (ManagedIdentityCredential): Credential with access to Key Vault.
3231
3332
Returns:
3433
str: The secret value.
3534
"""
36-
kv_credential = DefaultAzureCredential(managed_identity_client_id=MANAGED_IDENTITY_CLIENT_ID)
35+
kv_credential = ManagedIdentityCredential()
3736
secret_client = SecretClient(
3837
vault_url=f"https://{KEY_VAULT_NAME}.vault.azure.net/",
3938
credential=kv_credential
@@ -49,7 +48,7 @@ def create_search_index():
4948
- Semantic search using prioritized fields
5049
"""
5150
# Shared credential
52-
credential = DefaultAzureCredential(managed_identity_client_id=MANAGED_IDENTITY_CLIENT_ID)
51+
credential = ManagedIdentityCredential()
5352

5453
# Retrieve secrets from Key Vault
5554
search_endpoint = get_secrets_from_kv("AZURE-SEARCH-ENDPOINT")

infra/scripts/index_scripts/02_create_cu_template_audio.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
from pathlib import Path
22
import sys
33

4-
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
4+
from azure.identity import ManagedIdentityCredential, get_bearer_token_provider
55
from azure.keyvault.secrets import SecretClient
66

77
from content_understanding_client import AzureContentUnderstandingClient
88

99

1010
# === Configuration ===
1111
KEY_VAULT_NAME = 'kv_to-be-replaced'
12-
MANAGED_IDENTITY_CLIENT_ID = 'mici_to-be-replaced'
1312
AZURE_AI_API_VERSION = "2024-12-01-preview"
1413
ANALYZER_ID = "ckm-audio"
1514
ANALYZER_TEMPLATE_FILE = 'ckm-analyzer_config_audio.json'
@@ -27,7 +26,7 @@ def get_secrets_from_kv(secret_name: str, vault_name: str) -> str:
2726
Returns:
2827
str: The value of the secret.
2928
"""
30-
kv_credential = DefaultAzureCredential(managed_identity_client_id=MANAGED_IDENTITY_CLIENT_ID)
29+
kv_credential = ManagedIdentityCredential()
3130
secret_client = SecretClient(
3231
vault_url=f"https://{vault_name}.vault.azure.net/",
3332
credential=kv_credential
@@ -39,7 +38,7 @@ def get_secrets_from_kv(secret_name: str, vault_name: str) -> str:
3938
# Fetch endpoint from Key Vault
4039
endpoint = get_secrets_from_kv("AZURE-OPENAI-CU-ENDPOINT", KEY_VAULT_NAME)
4140

42-
credential = DefaultAzureCredential(managed_identity_client_id=MANAGED_IDENTITY_CLIENT_ID)
41+
credential = ManagedIdentityCredential()
4342
# Initialize Content Understanding Client
4443
token_provider = get_bearer_token_provider(credential, "https://cognitiveservices.azure.com/.default")
4544
client = AzureContentUnderstandingClient(

infra/scripts/index_scripts/02_create_cu_template_text.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22
import sys
33
from pathlib import Path
44

5-
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
5+
from azure.identity import ManagedIdentityCredential, get_bearer_token_provider
66
from azure.keyvault.secrets import SecretClient
77
from content_understanding_client import AzureContentUnderstandingClient
88

99

1010
# === Configuration ===
1111
KEY_VAULT_NAME = 'kv_to-be-replaced'
12-
MANAGED_IDENTITY_CLIENT_ID = 'mici_to-be-replaced'
1312
AZURE_AI_API_VERSION = "2024-12-01-preview"
1413
ANALYZER_ID = "ckm-json"
1514
ANALYZER_TEMPLATE_FILE = 'ckm-analyzer_config_text.json'
@@ -20,7 +19,7 @@ def get_secret(secret_name: str, vault_name: str) -> str:
2019
"""
2120
Retrieve a secret value from Azure Key Vault.
2221
"""
23-
kv_credential = DefaultAzureCredential(managed_identity_client_id=MANAGED_IDENTITY_CLIENT_ID)
22+
kv_credential = ManagedIdentityCredential()
2423
secret_client = SecretClient(vault_url=f"https://{vault_name}.vault.azure.net/", credential=kv_credential)
2524
return secret_client.get_secret(secret_name).value
2625

@@ -30,7 +29,7 @@ def get_secret(secret_name: str, vault_name: str) -> str:
3029
# Get endpoint from Key Vault
3130
endpoint = get_secret("AZURE-OPENAI-CU-ENDPOINT", KEY_VAULT_NAME)
3231

33-
credential = DefaultAzureCredential(managed_identity_client_id=MANAGED_IDENTITY_CLIENT_ID)
32+
credential = ManagedIdentityCredential()
3433
# Initialize Content Understanding Client
3534
token_provider = get_bearer_token_provider(credential, "https://cognitiveservices.azure.com/.default")
3635
client = AzureContentUnderstandingClient(

infra/scripts/index_scripts/03_cu_process_data_text.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import pyodbc
66
import pandas as pd
77
from datetime import datetime, timedelta
8-
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
8+
from azure.identity import ManagedIdentityCredential, get_bearer_token_provider
99
from azure.keyvault.secrets import SecretClient
1010
from azure.search.documents import SearchClient
1111
from azure.search.documents.indexes import SearchIndexClient
@@ -15,14 +15,13 @@
1515

1616
# Constants and configuration
1717
KEY_VAULT_NAME = 'kv_to-be-replaced'
18-
MANAGED_IDENTITY_CLIENT_ID = 'mici_to-be-replaced'
1918
FILE_SYSTEM_CLIENT_NAME = "data"
2019
DIRECTORY = 'call_transcripts'
2120
AUDIO_DIRECTORY = 'audiodata'
2221
INDEX_NAME = "call_transcripts_index"
2322

2423
def get_secrets_from_kv(kv_name, secret_name):
25-
kv_credential = DefaultAzureCredential(managed_identity_client_id=MANAGED_IDENTITY_CLIENT_ID)
24+
kv_credential = ()
2625
secret_client = SecretClient(vault_url=f"https://{kv_name}.vault.azure.net/", credential=kv_credential)
2726
return secret_client.get_secret(secret_name).value
2827

@@ -40,15 +39,15 @@ def get_secrets_from_kv(kv_name, secret_name):
4039

4140
# Azure DataLake setup
4241
account_url = f"https://{account_name}.dfs.core.windows.net"
43-
credential = DefaultAzureCredential(managed_identity_client_id=MANAGED_IDENTITY_CLIENT_ID)
42+
credential = ManagedIdentityCredential()
4443
service_client = DataLakeServiceClient(account_url, credential=credential, api_version='2023-01-03')
4544
file_system_client = service_client.get_file_system_client(FILE_SYSTEM_CLIENT_NAME)
4645
directory_name = DIRECTORY
4746
paths = list(file_system_client.get_paths(path=directory_name))
4847
print("Azure DataLake setup complete.")
4948

5049
# Azure Search setup
51-
search_credential = DefaultAzureCredential(managed_identity_client_id=MANAGED_IDENTITY_CLIENT_ID)
50+
search_credential = ManagedIdentityCredential()
5251
search_client = SearchClient(search_endpoint, INDEX_NAME, search_credential)
5352
index_client = SearchIndexClient(endpoint=search_endpoint, credential=search_credential)
5453
print("Azure Search setup complete.")
@@ -65,7 +64,7 @@ def get_secrets_from_kv(kv_name, secret_name):
6564

6665

6766
# Content Understanding client
68-
cu_credential = DefaultAzureCredential(managed_identity_client_id=MANAGED_IDENTITY_CLIENT_ID)
67+
cu_credential = ManagedIdentityCredential()
6968
cu_token_provider = get_bearer_token_provider(cu_credential, "https://cognitiveservices.azure.com/.default")
7069
cu_client = AzureContentUnderstandingClient(
7170
endpoint=azure_ai_endpoint,
@@ -79,7 +78,7 @@ def get_secrets_from_kv(kv_name, secret_name):
7978
def get_embeddings(text: str, openai_api_base, openai_api_version):
8079
model_id = "text-embedding-ada-002"
8180
token_provider = get_bearer_token_provider(
82-
DefaultAzureCredential(managed_identity_client_id=MANAGED_IDENTITY_CLIENT_ID),
81+
ManagedIdentityCredential(),
8382
"https://cognitiveservices.azure.com/.default"
8483
)
8584
client = AzureOpenAI(
@@ -290,7 +289,7 @@ def call_gpt4(topics_str1, client):
290289
return json.loads(res.replace("```json", '').replace("```", ''))
291290

292291
token_provider = get_bearer_token_provider(
293-
DefaultAzureCredential(managed_identity_client_id=MANAGED_IDENTITY_CLIENT_ID),
292+
ManagedIdentityCredential(),
294293
"https://cognitiveservices.azure.com/.default"
295294
)
296295
openai_client = AzureOpenAI(

0 commit comments

Comments
 (0)