小编Nay*_*Van的帖子

模板中的 Azure Bicep 多个范围

使用 terraform 很长时间后,我决定开始学习 azure bicep。到目前为止,我正在努力掌握逻辑。到目前为止,我已经尝试了存储帐户和密钥库的部署。我在这里所做的事情如下。

  • 创建存储帐户
  • 使用现有密钥保管库将存储帐户连接字符串存储为机密
  • 根据存储帐户名称创建密钥

这正如我所期望的那样。

所以我想向前迈出一步。这就是我有点困惑的地方。

我想做的是使用相同的二头肌模板来创建一个新的秘密,但在不同的资源组中创建到不同的密钥保管库中。

现在,根据我对 azure 文档的理解,该模板带有默认值scope,在我的具体情况下,它以我的默认订阅为目标,并从终端运行我的二头肌模板,我使用命令

az deployment group create -f ./template.bicep -g <resource-group-name>
Run Code Online (Sandbox Code Playgroud)

这是我的模板:

// Default values I'm using to test 
param keyVaultName string = '<keyvault-name>'
param managedIdentityName string = 'test-managed-identity'

param tenantCodes array = [
  'elhm'
  'feor'
]

// I'm using prefix so I dont need to create additional arrays
var keyVaultKeyPrefix = 'Client-Key-'
var storagePrefix = 'sthrideveur'

// Get a reference to key vault
resource keyVault 'Microsoft.KeyVault/vaults@2021-06-01-preview' …
Run Code Online (Sandbox Code Playgroud)

azure-resource-manager azure-bicep

7
推荐指数
1
解决办法
7433
查看次数

二头肌生成 GUID

我正在学习二头肌以及如何使用来部署天蓝色资源。我一直在进行密钥保管库部署,如下所示:

resource keyVault 'Microsoft.KeyVault/vaults@2021-06-01-preview' existing = {
  name: keyVaultName
}

// Create key vault keys
resource keyVaultKeys 'Microsoft.KeyVault/vaults/keys@2021-06-01-preview' = [for tenantCode in tenantCodes: {
  name: '${keyVault.name}/${keyVaultKeyPrefix}${tenantCode}'
  properties: {
    keySize: 2048
    kty: 'RSA'
    // storage key should only needs these operations
    keyOps: [
      'unwrapKey'
      'wrapKey'
    ]
  }
}]
Run Code Online (Sandbox Code Playgroud)

我现在想做的是以这种格式为每个部署创建一个 GUID,例如:

b402c7ed-0c50-4c07-91c4-e075694fdd30
Run Code Online (Sandbox Code Playgroud)

我找不到任何来源来实现这一目标。

谁能指导我走上正确的道路。

非常感谢您的帮助以及对初学者的耐心

azure azure-resource-manager azure-bicep

4
推荐指数
1
解决办法
5028
查看次数

Azure Terraform Web App专用端点虚拟网络

我正在尝试自动部署 azure 虚拟网络和 azure Web 应用程序。在部署这些资源的过程中,一切都很顺利,没有出现任何错误。所以我想尝试激活private endpoint网络应用程序。这是我在 terraform 上的配置。

resource "azurerm_virtual_network" "demo-vnet" {
  name                = "virtual-network-test"
  address_space       = ["10.100.0.0/16"]
  location            = var.location
  resource_group_name = azurerm_resource_group.rg-testing-env.name
}

resource "azurerm_subnet" "front_end" {
  name                 = "Front_End-Subnet"
  address_prefixes     = ["10.100.5.0/28"]
  virtual_network_name = azurerm_virtual_network.demo-vnet.name
  resource_group_name  = azurerm_resource_group.rg-testing-env.name
  delegation {
    name = "testing-frontend"
    service_delegation {
      name    = "Microsoft.Web/serverFarms"
      actions = ["Microsoft.Network/virtualNetworks/subnets/action"]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在网络应用程序本身上,我设置了此配置

resource "azurerm_app_service_virtual_network_swift_connection" "web-app-vnet" {
  app_service_id = azurerm_app_service.app-test.example.id
  subnet_id      = azurerm_subnet.front_end.id
}
Run Code Online (Sandbox Code Playgroud)

注意:在我的第一次部署中,swift 失败了,因为我没有在虚拟网络上进行委派,因此我必须在子网上添加委派才能运行 terraform。

设置好所有配置后,我运行我的 terraform,一切运行顺利,没有错误。完成后,我检查了我的网络应用程序Private Endpoint,发现它刚刚关闭。 …

azure-virtual-network terraform-provider-azure

2
推荐指数
1
解决办法
6891
查看次数

Aks SecretProviderClass 未找到机密

编辑:发现问题。我没有安装秘密驱动程序的插件。一旦安装,我就能让它工作

我在这里面临一个问题,我不知道我还能尝试什么来解决这个问题。

我有一个 aks 运行在一个 pod 上,该 pod 运行一个基本的 Web 应用程序todo list。没有什么太花哨或复杂的。我在这里尝试做的是授予 aks 集群访问 keyvault 的权限以及GET传递给 pod 的秘密。秘密只是一个ASPNETCORE_ENVIRONMENT: Development。

按照文档,我使用 helm 安装存储库:

helm repo add csi-secrets-store-provider-azure https://azure.github.io/secrets-store-csi-driver-provider-azure/charts
helm install csi csi-secrets-store-provider-azure/csi-secrets-store-provider-azure
Run Code Online (Sandbox Code Playgroud)

我在azure中创建了一个服务原则: SERVICE_PRINCIPLE_CLIENT_SECRET = az ad sp create-for-rbac --skip-assignment --name sp-aks-keyvault

我查询了 clientId 和 Secret 并将它们传递到我的集群,如下所示:

kubectl create secret generic secrets-store-creds --from-literal clientid="ClientID" --from-literal clientsecret="Password"
Run Code Online (Sandbox Code Playgroud)

一旦一切都设置好了。我设置了这些部署。

部署.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: webapp-deployment
  namespace: default
  labels:
    app: webapp
spec:
  replicas: 1
  selector:
    matchLabels: …
Run Code Online (Sandbox Code Playgroud)

azure kubernetes azure-aks

2
推荐指数
1
解决办法
3666
查看次数

Azure 数据探索标记和存储

我有一个问题一直困扰着我,我在 Microsoft 网站上找不到答案。

我对实现一个 azure 数据浏览器很感兴趣,所以我想弄清楚这个资源的定价。当我前往 azure 定价页面并寻找数据探索时。我看到有 2 个定价列。一种用于 VM,一种用于Markup. 这是让我困惑的一点。这是什么Markup?我不完全理解它的用途以及为什么存在。

azure azure-data-explorer

1
推荐指数
1
解决办法
47
查看次数