2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Defender for Cloud の 身に覚えのない BYOL を削除する

Last updated at Posted at 2022-08-24

このサブスクリプションでは BYOL ソリューションが既に構成されているため、脆弱性評価ソリューションの自動プロビジョニングを構成できません

Defender for Cloud の自動プロビジョニングの設定画面で、上のメッセージがでて脆弱性評価ソリューションの構成が変更できない場合の対処策です。材料としては ライセンス持ち込み (BYOL) 脆弱性評価ソリューションをデプロイする の記事で参照されている このスクリプト で呼び出されている REST API を使います。

スクリプトでは最後に BYOL の削除を行うためのコマンドがコメントアウトされています。削除すべき BYOL の場所やリソースグループがわかっている場合にはこれを使えば削除できますが、今回は BYOL を設定した覚えがなく、どのリソースグループに対して実行すればいいかわからない想定なので、まず次の API 呼び出しで BYOL が有効になっている場所を表示します。

$subscriptionID$requestHeader は以降のコマンドで使いまわすので同じコンソールで作業を継続してください。

$subscriptionID = "<your subscription id>"
$token = (Get-AzAccessToken).token
$requestHeader = @{
	"Authorization" = "Bearer " + $token
	"Content-Type" = "application/json"
}
$uri="https://management.azure.com/subscriptions/" + $subscriptionID + "/providers/Microsoft.Security?api-version=2022-05-01"
Invoke-RestMethod -Uri $uri -Method get -Headers $requestHeader | % resourceTypes |  ? {$_.resourceType -eq "locations/securitySolutions"}

次のような感じの出力になると思います。

resourceType                locations                                  apiVersions                      capabilities
------------                ---------                                  -----------                      ------------
locations/securitySolutions {Central US, West Europe, West Central US} {2020-01-01, 2015-06-01-preview} None        

location に対して順番に securitySolutions を確認します。
次のような呼び出し方で、おそらく Central US に身に覚えのない脆弱性管理ソリューションが設定されています。

$location = "Central US"
$url="https://management.azure.com/subscriptions/" + $subscriptionID + "/providers/Microsoft.Security/locations/" + $location + "/securitySolutions?api-version=2015-06-01-preview"
Invoke-RestMethod -Uri $url -Method get -Headers $requestHeader | % value | ? {$_.resourceType -eq "locations/securitySolutions"}

当たりのロケーションであれば下のような感じの出力になります、この例では身に覚えのない Qualys が、存在しないリソースグループ DefaultResourceGroup-ASC に設定されていました。

properties : @{securityFamily=Va; integrationLevel=SemiIntegrated; protectionStatus=Good; template=qualys.qualysAgent; protectedResourcesStates=System.Object[]; protect
             edResourcesTypes=System.Object[]; managementUrl=http://www.qualys.com/; creationDate=2021-01-13T04:41:19.6811512Z; provisioningState=Succeeded; clusterId=F
             BB723E718C694B56461E464DDF9181705C54BE0; configurations=}
id         : /subscriptions/<subscription id>/resourceGroups/DefaultResourceGroup-ASC/providers/Microsoft.Security/locations/centralus/securitySolutions/DSREQualysASC
name       : DSREQualysASC
type       : Microsoft.Security/locations/securitySolutions
location   : centralus

id が削除すべき BYOL の脆弱性管理ソリューションなので、コピーして次の API 呼び出しで削除します。

Invoke-RestMethod -Method DELETE -Headers $requestHeader -Uri  "https://management.azure.com/subscriptions/" + $subscriptionID + "/resourceGroups/DefaultResourceGroup-ASC/providers/Microsoft.Security/locations/centralus/securitySolutions/DSREQualysASC?api-version=2015-06-01-preview"

これで脆弱性ソリューションの自動プロビジョニングが変更できるようになったはずです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?