Search K
Appearance
Appearance
Overview Use this guide to create and configure an Azure service account in MinuteView Console. This service account enables server-to-server integration with Microsoft Azure services including:
- Azure Active Directory for user authentication and authorization
- Azure Storage for file storage and blob operations
- Microsoft Graph for SharePoint, OneDrive, and Office 365 integration
- Azure Key Vault for secure credential management
- Azure Cognitive Services for AI and machine learning capabilities
- Azure SQL Database and other data services
Unlike OAuth accounts which require user consent, service accounts use application-only authentication with certificates or client secrets for automated, unattended operations.
MinuteView Service Account
From the app's Overview page, note:
12345678-1234-1234-1234-123456789012
87654321-4321-4321-4321-210987654321
Choose between certificate-based or secret-based authentication:
# Generate certificate
$cert = New-SelfSignedCertificate -Subject "CN=MinuteView-ServiceAccount" `
-KeyDescription "MinuteView Service Account Certificate" `
-KeyUsage DigitalSignature `
-KeyLength 2048 `
-NotAfter (Get-Date).AddYears(2) `
-CertStoreLocation "Cert:\CurrentUser\My"
# Export certificate
Export-Certificate -Cert $cert -FilePath "minuteview-cert.cer"
Export-PfxCertificate -Cert $cert -FilePath "minuteview-cert.pfx" -Password (ConvertTo-SecureString "your-password" -AsPlainText -Force)
.cer
file and provide descriptionMinuteView Service Secret
Navigate to API permissions → Add a permission → Microsoft Graph → Application permissions
Files.ReadWrite.All
- Read/write all filesSites.ReadWrite.All
- SharePoint site accessDirectory.Read.All
- Read directory dataUser.Read.All
- Read all user profilesGroup.Read.All
- Read all groupsGroupMember.Read.All
- Read group membershipsMail.ReadWrite
- Access all mailboxesCalendars.ReadWrite
- Access all calendarsFor Azure resource management:
user_impersonation
Assign appropriate roles based on needs:
# Assign Storage Blob Data Contributor role
New-AzRoleAssignment -ObjectId "app-object-id" `
-RoleDefinitionName "Storage Blob Data Contributor" `
-Scope "/subscriptions/subscription-id/resourceGroups/rg-name/providers/Microsoft.Storage/storageAccounts/storage-name"
# Assign Key Vault Secrets Officer role
New-AzRoleAssignment -ObjectId "app-object-id" `
-RoleDefinitionName "Key Vault Secrets Officer" `
-Scope "/subscriptions/subscription-id/resourceGroups/rg-name/providers/Microsoft.KeyVault/vaults/vault-name"
# Assign Reader role at subscription level
New-AzRoleAssignment -ObjectId "app-object-id" `
-RoleDefinitionName "Reader" `
-Scope "/subscriptions/subscription-id"
Azure-ServiceAccount-Prod
.pfx
filehttps://management.azure.com/
) or specific servicehttps://graph.microsoft.com/.default
) or custom scopes{
"storageAccount": "minuteviewstorage",
"containerName": "documents",
"connectionString": "DefaultEndpointsProtocol=https;AccountName=...",
"useManagedIdentity": false,
"serviceAccountId": "azure-serviceaccount-prod"
}
Access SharePoint sites and OneDrive:
GET https://graph.microsoft.com/v1.0/sites
Authorization: Bearer {access_token}
Retrieve secrets securely:
GET https://vault-name.vault.azure.net/secrets/secret-name?api-version=7.0
Authorization: Bearer {access_token}
AADSTS700016: Application not found
AADSTS7000215: Invalid client secret
Certificate validation failed
Insufficient privileges
Access denied to resource
Name: Azure-Production-ServiceAccount
Type: Azure
Authentication: Certificate
Client ID: 12345678-1234-1234-1234-123456789012
Tenant ID: 87654321-4321-4321-4321-210987654321
Certificate: minuteview-prod.pfx
Azure Environment: Public Cloud
Name: Azure-Development-ServiceAccount
Type: Azure
Authentication: Client Secret
Client ID: 87654321-4321-4321-4321-210987654321
Tenant ID: 12345678-1234-1234-1234-123456789012
Client Secret: [secret-value]
Azure Environment: Public Cloud
Name: Azure-Graph-OnlyAccount
Type: Azure
Authentication: Certificate
Scope: https://graph.microsoft.com/.default
Resource URL: https://graph.microsoft.com/
Purpose: Microsoft Graph API access only
This configuration enables comprehensive Azure integration for MinuteView, supporting everything from file storage and user management to advanced AI services and secure credential management.