Azure Gov Application API Access Notes.md 2.4 KB

Azure Application API Access Notes.md

Created: 8/12/2021

Notes related to creating an application and service principle in Azure Gov for accessing Azure resources via the REST API

All instructions will be done via portal.azure.us

Create an Application

  1. Navigate to Enterprise Applications
  2. Click on New application
  3. Click on Create your own application
  4. Input the name of the application and select Register an application to integrate with Azure AD (App you're developing)

Register a Client Secret

  1. Navigate to Azure Active Directory
  2. Click on App registrations
  3. Click on your app
  4. Record the Application (client) ID and Directory (tenant) ID while you're here on the Overview page
  5. Click on Certifcates & secrets
  6. Click on New client secret
  7. Input a description and expiry time
  8. Record the secret string for later (grab it now because you won't be able to view it later)

Give the application proper permissions

  1. Navigate to Resource Groups
  2. Click the proper resource group
  3. Click Access control (IAM)
  4. Click Add role assignment under Grant access to this resource
  5. Select the appropriate roles (least privilege)
  6. Click Next
  7. Click + Select members
  8. Search for your app name and click Select
  9. Click Next
  10. Click Review + assign

Get a bearer token

  1. Send a POST request to https://login.microsoftonline.us/{Tenant ID we got earlier}/oauth2/token with the following data
    1. grant_type: client_credentials
    2. client_id: {Client ID we got earlier}
    3. client_secret: {Client Secret we created earlier}
    4. resource: https://management.usgovcloudapi.net
  2. Grab the value of the access_token field of the response.

Access the API Endpoint

  1. Find your API endpoints at https://docs.microsoft.com/en-us/rest/api/. I will use https://docs.microsoft.com/en-us/rest/api/securityinsights/incidents/list as an example
  2. Fill in the neccessary values in the URL. It will look something like https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents?api-version=2021-04-01
  3. Replace management.azure.com with management.usgovcloudapi.net
  4. Add your bearer token to the request (instructions are dependant on what client you're using)
  5. Send the request
  6. Get your data
  7. Profit