Skip to content

AI-103 · Domain 1: Plan and manage an Azure AI solution · 28% of the exam

Task 1.3: Manage, monitor, and secure AI systems

Quotas, rate limits, scaling and cost; monitoring models, safety events, grounding quality and search index health; and securing access with managed identity, keyless credentials, private networking and roles.

Study it

  • Quotas, rate limits, provisioned throughput and cost

    Partly covered by: Rate Limiting

  • Monitoring models, agents, safety events and search indexes

    Partly covered by: Observability Basics

  • Security: managed identity, keyless credentials, private networking and roles

    Lesson coming

Sample questions

Try each one before opening the answer. Every option is explained, with the Microsoft documentation page that proves it.

Question 1 · choose 1

A summarization service gets frequent 429 responses from its Standard deployment, yet the usage metrics show it consumes well under half of its tokens-per-minute limit. Each request sets the maximum output to 16,000 tokens, although summaries are rarely longer than 500 tokens. What is the most effective change?

  1. ARequest a quota increase for the model in that region
  2. BSet the maximum output tokens close to the real summary length
  3. CTurn on streaming so that tokens are returned as they are generated
  4. DRaise the requests-per-minute limit independently of the TPM value
Show the answer and why
  • ARequest a quota increase for the model in that region

    Incorrect

    More quota would hide the problem at extra cost; the deployment isn't short of real tokens.

  • BSet the maximum output tokens close to the real summary length

    Correct

    The rate limiter counts an estimate that includes the max_tokens setting when each request arrives, so an oversized value uses up the TPM budget early.

  • CTurn on streaming so that tokens are returned as they are generated

    Incorrect

    Delivery style doesn't change how the rate limiter estimates each request.

  • DRaise the requests-per-minute limit independently of the TPM value

    Incorrect

    RPM is set in proportion to the TPM assignment; you can't raise it on its own, and requests aren't the bottleneck here.

TPM rate limits use an estimate made when a request is received, built from the prompt and the max_tokens setting. Billing uses the real count afterwards. Right-sizing max_tokens frees the budget.

Question 2 · choose 1

An app on Azure App Service calls a model deployed in Microsoft Foundry with an API key stored in an app setting. A new security rule forbids shared keys for any service-to-service call. What should the team do?

  1. AAllow calls to the Foundry resource only from the app's outbound IP addresses
  2. BRotate the API key every 30 days by using an Azure Automation runbook
  3. CUse the app's managed identity with an RBAC role and Entra tokens; disable keys
  4. DMove the API key into Azure Key Vault and read it each time the app starts
Show the answer and why
  • AAllow calls to the Foundry resource only from the app's outbound IP addresses

    Incorrect

    Network rules limit where calls come from, but the app would still authenticate with the key.

  • BRotate the API key every 30 days by using an Azure Automation runbook

    Incorrect

    Rotation shortens a key's life; it doesn't remove key-based access.

  • CUse the app's managed identity with an RBAC role and Entra tokens; disable keys

    Correct

    Keyless authentication uses Microsoft Entra ID: the managed identity gets a role on the Foundry resource, the code requests a token, and local (key) auth can then be disabled.

  • DMove the API key into Azure Key Vault and read it each time the app starts

    Incorrect

    Key Vault protects the secret, but the call still uses a shared key, which the rule forbids.

Keyless access means Entra ID tokens plus RBAC. Give the calling service a managed identity, assign it a role on the Foundry resource, acquire tokens for the https://ai.azure.com/.default scope, and remove key auth once no caller needs it.

Question 3 · choose 1

A developer has the Foundry User role on a Foundry resource and can build in the project, but the Quota page shows no available quota and deployment checks fail. What is the least-privilege fix?

  1. AAssign the Reader role to the developer at subscription scope
  2. BAssign Cognitive Services Usages Reader to the developer at subscription scope
  3. CAssign Cognitive Services Usages Reader to the developer on the Foundry resource
  4. DAssign Foundry Account Owner to the developer on the Foundry resource
Show the answer and why
  • AAssign the Reader role to the developer at subscription scope

    Incorrect

    Reader also works, but it grants read access far beyond quota and deployments.

  • BAssign Cognitive Services Usages Reader to the developer at subscription scope

    Correct

    Quota comes from the subscription-scoped Usages API, and this role is the least-privilege way to read it.

  • CAssign Cognitive Services Usages Reader to the developer on the Foundry resource

    Incorrect

    Resource group, resource and project assignments don't authorize the subscription-level Usages API.

  • DAssign Foundry Account Owner to the developer on the Foundry resource

    Incorrect

    That role manages resources and projects; it is broader than needed and isn't subscription-scoped.

Quota visibility is a subscription-level read. Grant Cognitive Services Usages Reader at the subscription; assignments at narrower scopes don't reach the Usages API.

Question 4 · choose 1

An Azure AI Search indexer feeds a RAG app. Its latest run shows the status Success, but users report that some newly uploaded PDFs never appear in answers. What should you check first?

  1. AWhether the indexer needs a reset so that every document is processed again
  2. BThe search service's query latency and throttling metrics for the last hour
  3. CThe run's errors and warnings; a run can succeed while some documents fail
  4. DThe semantic ranker configuration on the index that the app queries
Show the answer and why
  • AWhether the indexer needs a reset so that every document is processed again

    Incorrect

    A reset reprocesses everything, which is expensive and doesn't tell you why particular files failed.

  • BThe search service's query latency and throttling metrics for the last hour

    Incorrect

    Query latency describes serving, not whether the PDFs were indexed.

  • CThe run's errors and warnings; a run can succeed while some documents fail

    Correct

    A run is marked Success when failed items stay under the Max failed items setting, and document-level problems are listed in its errors and warnings.

  • DThe semantic ranker configuration on the index that the app queries

    Incorrect

    Ranking only orders documents that are in the index; missing documents point to ingestion.

Indexer health has two layers: the run status and the per-document results. Open the execution details or call Get Indexer Status to read the errors and warnings before changing anything.

Question 5 · choose 1

A batch summarizer wants to slow itself down before it is throttled rather than reacting after 429 errors. Which information returned with every Azure OpenAI response helps it do that?

  1. AThe created timestamp on each of the responses
  2. BThe finish_reason value on each choice it gets back
  3. CThe x-ratelimit-remaining-* response headers
  4. DThe model version field returned in each response
Show the answer and why
  • AThe created timestamp on each of the responses

    Incorrect

    A timestamp doesn't show remaining capacity.

  • BThe finish_reason value on each choice it gets back

    Incorrect

    It says why generation stopped for that call, not how much of the per-minute limit is left.

  • CThe x-ratelimit-remaining-* response headers

    Correct

    Rate limit headers report remaining tokens and requests so clients can monitor usage and avoid 429s proactively.

  • DThe model version field returned in each response

    Incorrect

    The version says which model answered, not how much quota is left.

Use the x-ratelimit-limit, -remaining and -reset headers to pace requests before the limits are reached.

Question 6 · choose 1

Security wants all secrets for a new Foundry resource's connections stored in the company's own Azure Key Vault. Which statement about setting this up is correct?

  1. AAdd several Key Vault connections, one for each of the projects
  2. BDelete the Key Vault later to rotate all of the secrets at once
  3. CAdd it at any time; the existing secrets migrate automatically
  4. DAdd it while the resource has no other connections yet
Show the answer and why
  • AAdd several Key Vault connections, one for each of the projects

    Incorrect

    Key Vault connections are limited to one per Foundry resource.

  • BDelete the Key Vault later to rotate all of the secrets at once

    Incorrect

    Deleting the underlying Key Vault breaks the Foundry resource.

  • CAdd it at any time; the existing secrets migrate automatically

    Incorrect

    Foundry doesn't support secret migration.

  • DAdd it while the resource has no other connections yet

    Correct

    The prerequisites require a Foundry resource with no existing connections at the resource or project level.

Bringing your own Key Vault is a setup-time decision: one connection per resource, created before other connections, and the vault must not be deleted while the resource uses it.

Question 7 · choose 1

A team wants to analyze six months of query latency and the actual query strings users send to its Azure AI Search service. The portal shows only recent metrics. What should it enable?

  1. ADiagnostic logging to a Log Analytics workspace
  2. BA semantic configuration on the main index
  3. CAn indexer schedule that runs more often
  4. DMore replicas so metrics are kept longer
Show the answer and why
  • ADiagnostic logging to a Log Analytics workspace

    Correct

    Portal metrics keep 30 days; longer retention and query strings need diagnostic logging, with Log Analytics recommended.

  • BA semantic configuration on the main index

    Incorrect

    Semantic settings affect ranking, not logging.

  • CAn indexer schedule that runs more often

    Incorrect

    Indexer schedules affect ingestion, not query logs.

  • DMore replicas so metrics are kept longer

    Incorrect

    Replicas don't change how long logs and metrics are kept.

Search monitoring has two layers: built-in metrics in the portal and resource logs through diagnostic settings for longer retention and detailed analysis with Kusto.

Question 8 · choose 1

A team wants its Foundry agents' network traffic isolated so that agents can reach only approved Azure resources, but it doesn't want to build or maintain its own virtual network. Which option fits?

  1. AA Key Vault connection for all of the project's secrets
  2. BPublic network access enabled from all networks
  3. CA managed virtual network for the Foundry resource
  4. DAn API key rotation schedule for the resource
Show the answer and why
  • AA Key Vault connection for all of the project's secrets

    Incorrect

    Key Vault protects secrets; it doesn't isolate network traffic.

  • BPublic network access enabled from all networks

    Incorrect

    That widens access instead of restricting it.

  • CA managed virtual network for the Foundry resource

    Correct

    A managed network gives a secure default that restricts what agents can access and helps prevent data exfiltration.

  • DAn API key rotation schedule for the resource

    Incorrect

    Rotation affects credentials, not network paths.

Network isolation choices range from bringing your own virtual network to a managed virtual network that Foundry operates; check the supported regions and limitations.

Question 9 · choose 1

Finance wants an email when the month's spend for the resource group that holds a team's Foundry resource reaches 80 percent of an agreed amount, without other teams' resources counting toward it. What should the team set up?

  1. AA hard spending cap on the Foundry resource that stops calls
  2. BA Cost Management budget on that resource group with an alert
  3. CCost analysis filtered by the project tag on the resource
  4. DA daily export of the cost data to a storage account
Show the answer and why
  • AA hard spending cap on the Foundry resource that stops calls

    Incorrect

    Azure OpenAI doesn't currently offer hard spending limits; budget notifications can only start automation that you build yourself.

  • BA Cost Management budget on that resource group with an alert

    Correct

    Budgets track spending against a limit at the scope you choose and send alerts when costs approach or exceed the thresholds you set.

  • CCost analysis filtered by the project tag on the resource

    Incorrect

    Cost analysis shows spend and trends, but viewing it doesn't notify anyone when a threshold is reached.

  • DA daily export of the cost data to a storage account

    Incorrect

    Exports support later analysis in tools such as Excel or Power BI; they don't alert on a threshold.

Estimate with the pricing calculator, track with cost analysis and set budgets with alerts at the subscription or resource group scope. A budget warns; it doesn't stop usage on its own.

Practise domain 1 →Practise all domains →