先日、Aria Hub Free Tier に登録していた Azure のクライアント シークレットの期限が切れてしまいました。ところが Azure アカウントの設定を編集する画面が見当たらなかったので、潔くアカウント削除してみました。
今回の内容です。
VMware Cloud Services API キーの生成
Azure アカウントを削除する際に VMware Cloud Services の API キーが必要になるので、あらかじめ生成しておきます。
画面右上あたりから「マイ アカウント」を開きます。
「API トークン」タブで「新しい API トークンの生成」をクリックします。
下記のようにトークンのパラメータを入力して、「生成」をクリックします。
- トークン名: aria-hub-delete(実際は任意の値)
- トークンの TTL: 1 時間(削除処理で利用するだけなので期限は短めで)
- 範囲の定義: サービスロール → VMware Aria Automation for Secure Clouds(Aria Hub ではない)を選択
トークンが生成されたら、テキスト エディタなどに保存しておきます。「コピー」をクリックすると「続行」がクリックできるようになり、画面を閉じることができます。
Azure アカウントの削除
「構成」→「アカウント」画面で削除対象の Azure アカウントを選択して、「削除」をクリックします。
「クラスタの接続解除」画面では、今回は Kubernetes クラスタを接続していなかったのでそのまま「続行」をクリックします。
「イベント監視の無効化」画面が表示されるので、curl による削除コマンド ラインを、コピー ボタンをクリックしてテキスト エディタなどに保存しておきます。
curl のコマンドは、(az コマンドなどが必要なので)Azure Portal の Cloud Shell で実行します。
前の手順で生成した VMware Cloud Services の API キーを変数に格納しておきます。
export CSP_REFRESH_TOKEN=<VMware Cloud Services の API キー>
そして、先ほどコピーした、イベント監視を無効化する curl コマンド ラインを実行します。
curl https://api.mgmt.cloud.vmware.com/aria/data/management-endpoint/scripts/AZURE/commercial_offboard/cloud_account_offboarding.sh --output cloud_account_offboarding.sh && bash cloud_account_offboarding.sh <Azure のサブスクリプション ID>
Aria Hub の画面に戻り、「更新」ボタンをクリックするとイベント監視が「無効」になります。
これで、「アカウントの削除」ボタンがアクティブになるのでクリックします。
これで、Azure アカウントが削除されました。
おまけ
curl によるイベント監視無効化処理は、API キーのサービス ロールを間違えたりすると、中途半端に処理が進んでしまうことがあります。
下記のエラーの場合は、CSP_REFRESH_TOKEN 環境変数に API キーが設定できていません。「export CSP_REFRESH_TOKEN=<API キー>」で環境変数を設定してから再実行します。
[2023-06-25T15:56:21+0000]: ERROR: Please set CSP_REFRESH_TOKEN environment variable: https://docs.vmware.com/en/CloudHealth-Secure-State/services/api-reference/GUID-getting-started.html
下記のエラーの場合は、API キーのサービス ロールが間違っているはずです。今回は、「Aria Hub」ではなく「VMware Aria Automation for Secure Clouds」のサービス ロールを選択して API キーを発行します。
[2023-06-25T16:35:52+0000]: ERROR: Failed to send stop stream hookup success event for subscription 1e7~90c {"message":"Forbidden"}
その際に、Azure の「cc_az_webhook_resource_group」リソース グループが削除されてしまうと、再実行した curl(の cloud_account_offboarding.sh)が失敗します。この場合は、手作業で cc_az_webhook_resource_group リソース グループを作成するとスクリプトを再実行できるようになります。
(ResourceGroupNotFound) Resource group 'cc_az_webhook_resource_group' could not be found.
Code: ResourceGroupNotFound
Message: Resource group 'cc_az_webhook_resource_group' could not be found.
[2023-06-25T16:32:33+0000]: ERROR: Failed when trying to delete resource group cc_az_webhook_resource_group for subscription 1e7~90c
以上、Aria Hub から Azure アカウントを削除してみる話でした。