我已经在Azure上build立了一个VNet,提供了各种相关的站点间和点对点的连接,或多或less就像这里所说的那样,到目前为止,这些工作都非常好。
但假设我有六名员工访问位于VNet内部的数据库服务器,所有员工都通过不同的点对点连接进来。
那么如何删除任何这些人的访问? 如果其中一名员工被解雇或退出,理想情况下,我只想停用其帐户。 但是,这不是Azure点对点VPN的工作原理:您不是使用帐户,而是使用X.509证书。 是否有可能以某种方式停用该证书? 要么…? 处理这种情况的最好方法是什么? 我search了Azure VNet / VPN文档,如果它在任何地方,我显然错过了它。
以下文章对Technet涉及的过程有全面的解释但是下面详细介绍了基本步骤。
Get-AzurePublishSettingsFile
Import-AzurePublishSettingsFile "${env:USERPROFILE}\Documents\Azure.publishsettings"
$subscriptionName = (Get-AzureSubscription).SubscriptionName | Out-GridView -Title "Select Azure Subscription" -PassThru Select-AzureSubscription -SubscriptionName $subscriptionName
$subscription = Get-AzureSubscription $subscriptionName -ExtendedDetails $certificate = $subscription.Certificate $subscriptionId = $subscription.SubscriptionId
$azureVNet = (Get-AzureVNetSite).Name | Out-GridView -Title "Select Azure VNet" -PassThru
$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
$vpnCertThumbprint = (Get-ChildItem Cert:\CurrentUser\My | Out-GridView -Title "Select VPN certificate to revoke" -PassThru).Thumbprint
$requestHeader = @{"x-ms-version" = "2012-03-01"}
$revokeVPNCertUri = "https://management.core.windows.net/$subscriptionId/services/networking/$azureVNet/gateway/clientcertificates/$vpnCertThumbprint" $response = Invoke-RestMethod -Uri $revokeVPNCertUri -Certificate $certificate -Method Post -Headers $requestHeader
$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