Fixed typos in the documentation & updated references to learn.microsoft.
This commit is contained in:
Родитель
444564556e
Коммит
17421c5ad9
14
README.md
14
README.md
|
@ -1,18 +1,18 @@
|
|||
# Enterprise-Scale-APIM
|
||||
|
||||
This is a repository ([aka.ms/EnterpriseScale-APIM](https://aka.ms/EnterpriseScale-APIM)) that contains both enterprise architecture (proven recommendations and considerations) and reference implementaion (deployable artifacts for a common implementations).
|
||||
This is a repository ([aka.ms/EnterpriseScale-APIM](https://aka.ms/EnterpriseScale-APIM)) that contains both enterprise architecture (proven recommendations and considerations) and reference implementation (deployable artifacts for a common implementations).
|
||||
|
||||
## Enterprise-Scale Architecture
|
||||
|
||||
The enterprise architecture is broken down into six different design areas, where you can find the links to each at:
|
||||
| Design Area|Considerations|Recommendations|
|
||||
|:--------------:|:--------------:|:--------------:|
|
||||
| Identity and Access Management|[Design Considerations](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/identity-and-access-management#design-considerations)|[Design Recommendations](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/identity-and-access-management#design-recommendations)|
|
||||
| Network Topology and Connectivity|[Design Considerations](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/network-topology-and-connectivity#design-considerations)|[Design Recommendations](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/network-topology-and-connectivity#design-recommendations)|
|
||||
| Security|[Design Considerations](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/security#design-considerations)|[Design Recommendations](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/security#design-recommendations)|
|
||||
| Management|[Design Considerations](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/management#design-considerations)|[Design Recommendations](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/management#design-recommendation)|
|
||||
| Governance|[Design Considerations](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/governance#design-considerations)|[Design Recommendations](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/governance#design-recommendations)|
|
||||
| Platform Automation and DevOps|[Design Considerations](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/platform-automation-and-devops#design-considerations)|[Design Recommendations](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/platform-automation-and-devops#design-recommendations)|
|
||||
| Identity and Access Management|[Design Considerations](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/identity-and-access-management#design-considerations)|[Design Recommendations](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/identity-and-access-management#design-recommendations)|
|
||||
| Network Topology and Connectivity|[Design Considerations](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/network-topology-and-connectivity#design-considerations)|[Design Recommendations](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/network-topology-and-connectivity#design-recommendations)|
|
||||
| Security|[Design Considerations](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/security#design-considerations)|[Design Recommendations](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/security#design-recommendations)|
|
||||
| Management|[Design Considerations](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/management#design-considerations)|[Design Recommendations](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/management#design-recommendation)|
|
||||
| Governance|[Design Considerations](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/governance#design-considerations)|[Design Recommendations](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/governance#design-recommendations)|
|
||||
| Platform Automation and DevOps|[Design Considerations](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/platform-automation-and-devops#design-considerations)|[Design Recommendations](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/api-management/platform-automation-and-devops#design-recommendations)|
|
||||
|
||||
## Enterprise-Scale Reference Implementation
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
|
||||
|
||||
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below.
|
||||
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://learn.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below.
|
||||
|
||||
## Reporting Security Issues
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ The `Enterprise-scale-APIM` - architecture solution template is intended to prov
|
|||
|
||||
## Tooling
|
||||
|
||||
- [Az CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) latest version
|
||||
- [Az CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) latest version
|
||||
OR
|
||||
- Azure [cloud shell](https://shell.azure.com/)
|
||||
|
||||
|
@ -29,15 +29,15 @@ You can automate workflows using Azure [Login Action](https://github.com/Azure/l
|
|||
|
||||
The Azure login action supports two different ways of authenticating with Azure :
|
||||
|
||||
- Service principal with [secrets](https://docs.microsoft.com/en-us/azure/developer/github/connect-from-azure?tabs=azure-cli%2Cwindows#use-the-azure-login-action-with-a-service-principal-secret)
|
||||
- Service principal with [secrets](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure?tabs=azure-cli%2Cwindows#use-the-azure-login-action-with-a-service-principal-secret)
|
||||
|
||||
- OpenID Connect (OIDC) with a Azure service principal using a [Federated Identity Credential](https://docs.microsoft.com/en-us/azure/developer/github/connect-from-azure?tabs=azure-cli%2Cwindows#use-the-azure-login-action-with-openid-connect)
|
||||
- OpenID Connect (OIDC) with a Azure service principal using a [Federated Identity Credential](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure?tabs=azure-cli%2Cwindows#use-the-azure-login-action-with-openid-connect)
|
||||
|
||||
**Note** The default configuration for the APIM accelerator workflow is to use OpenID Connect.
|
||||
|
||||
### 3. Create a Service Principal using Az CLI commands by signing-in interactively OR using Cloud Shell
|
||||
|
||||
a.) Interactive sign-in using [Az CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli).
|
||||
a.) Interactive sign-in using [Az CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli).
|
||||
|
||||
```Powershell
|
||||
az login
|
||||
|
@ -225,14 +225,14 @@ Alternatively, you can also trigger the workflow by going to **Actions** tab and
|
|||
|
||||
### 8. Deploy the Function and APIs
|
||||
|
||||
- [Import](https://docs.microsoft.com/en-us/azure/devops/repos/git/import-git-repository?view=azure-devops) this repo to an Azure DevOps Repo
|
||||
- Create two [ARM service connections](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/connect-to-azure?view=azure-devops) each scoped to the apim resource group and the fucntion app resource group
|
||||
- [Import](https://learn.microsoft.com/en-us/azure/devops/repos/git/import-git-repository?view=azure-devops) this repo to an Azure DevOps Repo
|
||||
- Create two [ARM service connections](https://learn.microsoft.com/en-us/azure/devops/pipelines/library/connect-to-azure?view=azure-devops) each scoped to the apim resource group and the function app resource group
|
||||
- Make sure that the *Default* agent pool has _Grant access to all pipelines_ selected
|
||||
|
||||
## Deploy the backend
|
||||
|
||||
- Create a pipeline using the [deploy-function.yml](/src/pipelines/deploy-function.yml) file
|
||||
- Add [variables](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#access-variables-through-the-environment) to the pipeline
|
||||
- Add [variables](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#access-variables-through-the-environment) to the pipeline
|
||||
- armServiceConnection - the service connection scoped to the backend resource group
|
||||
- functionAppName - name of the function app in the backend resource group
|
||||
- poolName
|
||||
|
|
|
@ -9,7 +9,7 @@ Bicep is a domain-specific language (DSL) that uses declarative syntax to deploy
|
|||
|
||||
You can use Bicep instead of JSON to develop your Azure Resource Manager templates (ARM templates). The JSON syntax to create an ARM template can be verbose and require complicated expressions. Bicep syntax reduces that complexity and improves the development experience. Bicep is a transparent abstraction over ARM template JSON and doesn't lose any of the JSON template capabilities. During deployment, the Bicep CLI converts a Bicep file into ARM template JSON.
|
||||
|
||||
For more information please see [this](https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/)
|
||||
For more information please see [this](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/)
|
||||
|
||||
## How to convert Bicep To ARM using Automation
|
||||
Initially we had prepared automated way, so for the GitHub Actions you can use this snippet
|
||||
|
@ -82,9 +82,9 @@ There are several ways to **Validate** an ARM Template;
|
|||
|
||||
**Syntax**: For syntax check ```bicep build``` completes that validation.
|
||||
|
||||
**Behavior**: Bicep completes most of behavior checks, while [arm-ttk](https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/test-toolkit) has some additional capabilities that will eventually be incorporated into Bicep or other tools.
|
||||
**Behavior**: Bicep completes most of behavior checks, while [arm-ttk](https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/test-toolkit) has some additional capabilities that will eventually be incorporated into Bicep or other tools.
|
||||
|
||||
**Result**: This can be covered using [Azure Policy](https://docs.microsoft.com/en-us/azure/governance/policy/overview).
|
||||
**Result**: This can be covered using [Azure Policy](https://learn.microsoft.com/en-us/azure/governance/policy/overview).
|
||||
|
||||
**Intent**: We can run what-if scenarios on the ARM Template. This, however, requires human interaction and thus cannot be automated.
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
## Pre-requisites
|
||||
|
||||
1. [Terraform](#configure-terraform)
|
||||
1. [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
|
||||
1. [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli)
|
||||
1. Azure Subscription
|
||||
|
||||
## Overview
|
||||
|
@ -87,10 +87,10 @@ AppInsightsName = appi-${resource_suffix} [e.g. appi-apidemo-dev-eastus-001]
|
|||
|
||||
If you haven't already done so, configure Terraform using one of the following options:
|
||||
|
||||
- [Configure Terraform in Azure Cloud Shell with Bash](https://docs.microsoft.com/en-us/azure/developer/terraform/get-started-cloud-shell-bash)
|
||||
- [Configure Terraform in Azure Cloud Shell with PowerShell](https://docs.microsoft.com/en-us/azure/developer/terraform/get-started-cloud-shell-powershell)
|
||||
- [Configure Terraform in Windows with Bash](https://docs.microsoft.com/en-us/azure/developer/terraform/get-started-windows-bash)
|
||||
- [Configure Terraform in Windows with PowerShell](https://docs.microsoft.com/en-us/azure/developer/terraform/get-started-windows-powershell)
|
||||
- [Configure Terraform in Azure Cloud Shell with Bash](https://learn.microsoft.com/en-us/azure/developer/terraform/get-started-cloud-shell-bash)
|
||||
- [Configure Terraform in Azure Cloud Shell with PowerShell](https://learn.microsoft.com/en-us/azure/developer/terraform/get-started-cloud-shell-powershell)
|
||||
- [Configure Terraform in Windows with Bash](https://learn.microsoft.com/en-us/azure/developer/terraform/get-started-windows-bash)
|
||||
- [Configure Terraform in Windows with PowerShell](https://learn.microsoft.com/en-us/azure/developer/terraform/get-started-windows-powershell)
|
||||
|
||||
#### Configure Remote Storage Account
|
||||
|
||||
|
@ -121,9 +121,9 @@ Alternatively, the [Terraform Dependencies](../../../.github/workflows/terraform
|
|||
|
||||
For additional reading around remote state:
|
||||
|
||||
- [MS Doc: Store Terraform state in Azure Storage](https://docs.microsoft.com/en-us/azure/developer/terraform/store-state-in-azure-storage?tabs=azure-cli)
|
||||
- [MS Doc: Store Terraform state in Azure Storage](https://learn.microsoft.com/en-us/azure/developer/terraform/store-state-in-azure-storage?tabs=azure-cli)
|
||||
- [TF Doc: AzureRM Provider Configuration Documentation](https://www.terraform.io/language/settings/backends/azurerm)
|
||||
- [GitHub Doc: GitHub Actions Secrets](https://docs.github.com/en/github-ae@latest/rest/actions/secrets)
|
||||
- [GitHub Doc: GitHub Actions Secrets](https://learn.github.com/en/github-ae@latest/rest/actions/secrets)
|
||||
|
||||
### Deploy the API Management Landing Zone
|
||||
|
||||
|
@ -148,7 +148,7 @@ To configure your Terraform deployment to use the newly provisioned storage acco
|
|||
As you configured the backend remote state with your live Azure infrastructure resource values, you must also provide them for your deployment.
|
||||
|
||||
1. Review the available variables with their descriptions and default values in the [variables.tf](./variables.tf) file.
|
||||
2. Provide any custom values to the defined variables by creating a `terraform.tfvars` file in this direcotry (`reference-implementations/AppGW-IAPIM-Func/terraform/terraform.tfvars`)
|
||||
2. Provide any custom values to the defined variables by creating a `terraform.tfvars` file in this directory (`reference-implementations/AppGW-IAPIM-Func/terraform/terraform.tfvars`)
|
||||
- [TF Docs: Variable Definitions (.tfvars) Files](https://www.terraform.io/language/values/variables#variable-definitions-tfvars-files)
|
||||
|
||||
#### Deploy
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
# Steps to deploy the function and APIs
|
||||
|
||||
- [Import](https://docs.microsoft.com/en-us/azure/devops/repos/git/import-git-repository?view=azure-devops) this repo to an Azure DevOps Repo
|
||||
- Create two [ARM service connections](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/connect-to-azure?view=azure-devops) each scoped to the apim resource group and the fucntion app resource group
|
||||
- [Import](https://learn.microsoft.com/en-us/azure/devops/repos/git/import-git-repository?view=azure-devops) this repo to an Azure DevOps Repo
|
||||
- Create two [ARM service connections](https://learn.microsoft.com/en-us/azure/devops/pipelines/library/connect-to-azure?view=azure-devops) each scoped to the APIM resource group and the function app resource group
|
||||
- Make sure that the *Default* agent pool has _Grant access to all pipelines_ selected
|
||||
- Create an [Artifacts Feed](https://docs.microsoft.com/en-us/azure/devops/artifacts/get-started-nuget?view=azure-devops&tabs=windows#create-a-feed). For ex, name as todo-apis
|
||||
- Create an [Artifacts Feed](https://learn.microsoft.com/en-us/azure/devops/artifacts/get-started-nuget?view=azure-devops&tabs=windows#create-a-feed). For ex, name as todo-apis
|
||||
|
||||
## Deploy the backend
|
||||
|
||||
- Create a pipeline using the deploy-function.yml file
|
||||
- Add [variables](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#access-variables-through-the-environment) to the pipeline
|
||||
- Add [variables](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#access-variables-through-the-environment) to the pipeline
|
||||
- armServiceConnection - the service connection scoped to the backend resource group
|
||||
- functionAppName - name of the funciton app in the backend resource group
|
||||
- functionAppName - name of the function app in the backend resource group
|
||||
- poolName
|
||||
- Run the pipeline
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче