microsoft / microsoft/finops-toolkit

[PowerShell] New-FinOpsServicePrincipal – Manage billing account service principals

Open
#130 0 comments 1 reaction 1 assignee View on GitHub

@MSBrett is already working on this.

Since May 30, 2023.

Tool: PowerShell Type: Feature 💎
Dominant language
PowerShell
Stars
603
Forks
248
Avg merge
7d 11h
Merged PRs (30d)
11

Description

📝 Scenario

As an Enterprise Agreement billing account administrator, I need to create service principals in order to automate Cost Management and Billing API integration

💎 Solution

Create functions to manage service principals for EA accounts:

  • Add-<prefix>ServicePrincipal
  • Get-<prefix>ServicePrincipal
  • Remove-<prefix>ServicePrincipal
  • Update-<prefix>ServicePrincipal

https://learn.microsoft.com/azure/cost-management-billing/manage/assign-roles-azure-service-principals#assign-enrollment-account-role-permission-to-the-spn

We need to determine what prefix we want to use for these, since this isn't a native Az module function. Some ideas:

  • FinOps if we want to maintain branding of the toolkit/module.
  • Toolkit if we want to be very explicit that this is a toolkit feature. Main downside is the length.
  • Azure to differentiate from anything we might do in the future for non-Azure clouds (e.g., manage
  • Billing since this only applies to billing scopes.
  • Account if we want to support each billing scope in its own function. (I'm thinking one for all scopes with a -Scope parameter for simplicity.)

Examples:

  • Add-FinOpsToolkitAzureBillingAccountServicePrincipal
  • Add-FinOpsAzureBillingServicePrincipal
  • Add-AzureBillingServicePrincipal
  • Add-FinOpsServicePrincipal

🙋‍♀️ Ask for the community

We could use your help:

  1. Please vote this issue up (👍) to prioritize it.
  2. Leave comments to help us solidify the vision.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.