我已经在 Azure 上建立了一个 VNet,其中包含各种相关的站点到站点和点到站点连接,或多或少就像它说的那样这里,到目前为止一切进展顺利。
但是假设我有六名员工访问位于 VNet 内部的 DB 服务器,他们都通过不同的点到站点连接进入。
那么我该如何删除这些人的访问权限?如果其中一名员工被解雇或辞职,理想情况下,我只想停用他们的帐户。但这不是 Azure 点到站点 VPN 的工作方式:您不是使用帐户进入,而是使用 X.509 证书。是否可以以某种方式停用该证书?或者......?处理这种情况的最佳方法是什么?我搜索了 Azure VNet/VPN 文档,如果它在那里,我显然错过了。
答案1
以下文章对所涉及的过程进行了完整的解释科技网但下面详细介绍了基本步骤。
下载 Azure 管理证书
Get-AzurePublishSettingsFile
导入 Azure 管理证书
Import-AzurePublishSettingsFile "${env:USERPROFILE}\Documents\Azure.publishsettings"
选择 Azure 订阅
$subscriptionName = (Get-AzureSubscription).SubscriptionName | Out-GridView -Title "Select Azure Subscription" -PassThru
Select-AzureSubscription -SubscriptionName $subscriptionName
获取 Azure 订阅信息
$subscription = Get-AzureSubscription $subscriptionName -ExtendedDetails
$certificate = $subscription.Certificate
$subscriptionId = $subscription.SubscriptionId
选择要管理 VPN 证书的 Azure VNet
$azureVNet = (Get-AzureVNetSite).Name | Out-GridView -Title "Select Azure VNet" -PassThru
导入已保存的用户 VPN 客户端证书副本
$certPassword = Read-Host "Enter VPN client certificate password" -AsSecureString
Import-PfxCertificate -FilePath "${env:USERPROFILE}\Documents\Azure\P2S VPN\VPN01Client.pfx" -CertStoreLocation Cert:CurrentUser\My -Exportable -Password $certPassword
选择要撤销的 VPN 客户端证书
$vpnCertThumbprint = (Get-ChildItem Cert:\CurrentUser\My | Out-GridView -Title "Select VPN certificate to revoke" -PassThru).Thumbprint
构建 Web 请求标头
$requestHeader = @{"x-ms-version" = "2012-03-01"}
吊销 VPN 客户端证书
$revokeVPNCertUri = "https://management.core.windows.net/$subscriptionId/services/networking/$azureVNet/gateway/clientcertificates/$vpnCertThumbprint"
$response = Invoke-RestMethod -Uri $revokeVPNCertUri -Certificate $certificate -Method Post -Headers $requestHeader
确认已撤销的 VPN 客户端证书
$listRevokedVPNCertUri = "https://management.core.windows.net/$subscriptionId/services/networking/$azureVNet/gateway/clientcertificates"
$response = Invoke-RestMethod -Uri $listRevokedVPNCertUri -Certificate $certificate -Method Get -Headers $requestHeader
$response.ClientCertificates.Thumbprint