簡體   English   中英

使用 C# SDK 定期刷新 Azure 存儲帳戶密鑰

[英]Refresh Azure Storage Account Key Periodically using C# SDK

出於安全目的,我想每個月刷新我的存儲帳戶密鑰。 我瀏覽了 Azure 存儲 SDK 但找不到任何具體的方法。

有沒有可用的nuget/sdk? 我對 powershell 腳本也很滿意,但應該能夠通過一些調度程序執行它。

您可以使用 Azure 管理 SDK 和應用程序注冊來執行此操作。

這正是您需要采取的步驟:

1. Go to the Azure portal App Registration here: https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps

2.點擊新注冊,注冊一個新的APP:

在此處輸入圖像描述

3.為您的應用程序輸入任何名稱並注冊它

4.在此處為您的應用創建一個新密鑰: 在此處輸入圖像描述

5.復制秘密,我們以后會用到(不要分享或存儲在源代碼管理中!)

6.在 App Registration 頁面上復制 CLIENT ID 和 Tenant ID,如下所示: 在此處輸入圖像描述

7. Go 到門戶上的訂閱並復制您的訂閱 ID

8.現在 go 到您要為其重置密鑰的 blob 帳戶,然后在概覽中單擊 JSON 查看並復制資源 ID

在此處輸入圖像描述 在此處輸入圖像描述

8b。 授予對 blob 存儲帳戶的新應用的訪問權限,您可以通過轉到 blob 存儲帳戶上的訪問控制 (IAM) 並添加新的角色分配來執行此操作。

9.在您的項目中安裝以下 nuget 包:

<PackageReference Include="Microsoft.Azure.Management.Storage" Version="22.0.0" />
<PackageReference Include="Microsoft.Azure.Management.Fluent" Version="1.37.1" />

請注意,如果可用,您可以使用更高版本。

10.現在您可以使用此代碼重置密鑰:

using System;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Azure.Management.ResourceManager.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent.Core;

namespace AzureMng
{
    class Program
    {
        static async Task Main(string[] args)
        {
            var creds = SdkContext.AzureCredentialsFactory.FromServicePrincipal(
                "[ENTER CLIENT-ID]", 
                "[ENTER SECRET]",  
                "[ENTER TENANT ID", 
                AzureEnvironment.AzureGlobalCloud);
            var client = Microsoft.Azure.Management.Fluent.Azure.Configure()
                .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
                .Authenticate(creds)
                .WithSubscription("[ENTER YOUR SubscriptionID]");
            
            var account = client.StorageAccounts.GetById(
                "");
            var keys = await account.RegenerateKeyAsync("key1");
            Console.WriteLine(keys.FirstOrDefault().Value);
        }
    }
}

您可以在此處更改兩個鍵或單個鍵。 您還可以復制生成的密鑰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM