gpt4 book ai didi

amazon-web-services - 如何在Azure网站中配置AWS S3凭证

转载 作者:行者123 更新时间:2023-12-03 05:46:54 25 4
gpt4 key购买 nike

我有一个托管在 azure 上的 asp.net core 网站。

我想在 Amazon S3 中上传文件。

如何在 Azure Web App 中配置 AWS 凭证。

最佳答案

Azure Key Vault 是存储 Azure 中托管的 Web 应用程序将使用的任何敏感/ secret 信息(例如凭据)的最佳选择。

以下是一个示例,其中包含代码以及设置步骤,您可以按照这些示例从 .NET Core Web 应用程序执行此操作。 (Sample documentation)

此示例还演示了在 Web 应用程序中使用托管服务身份来访问 key 保管库的另一种最佳实践。这将自动处理围绕关键轮换和其他问题的治理。万一您的 Web 应用程序因某种原因已经拥有 Azure AD 注册身份,您也可以使用它来访问 key 保管库。

代码可在此处获取:

https://github.com/Azure-Samples/key-vault-dotnet-core-quickstart.git

不是给您一个仅链接的答案,这里只是高级步骤。当然,有关详细信息,请参阅 github 存储库和文档。

  1. 您可以使用 Azure 门户或使用类似

    的命令创建 Key Vault
    az keyvault create --name "<YourKeyVaultName>" --resource-group "<YourResourceGroupName>" --location "East US"
  2. 您可以在此保管库中为将用于访问 AWS S3 的用户名和 key 创建 key 。再次门户或 Azure CLI 命令。

    az keyvault secret set --vault-name "<YourKeyVaultName>" --name "AWS-ACCESS-KEY-ID" --value "MySecretValue1"
    az keyvault secret set --vault-name "<YourKeyVaultName>" --name "AWS-SECRET-KEY" --value "MySecretValue2"
  3. 为您的网络应用启用托管身份

    az webapp identity assign --name "keyvaultdotnetcorequickstart" --resource-group "<YourResourceGroupName>"
  4. 分配从 Key Vault 为您的 Web 应用读取 secret 的权限

    az keyvault set-policy --name '<YourKeyVaultName>' --object-id <PrincipalId> --secret-permissions get list
  5. 查看存储库中与 Key Vault 相关的代码。下面给出的 Program.cs 的重要部分

    public static IWebHost BuildWebHost(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
    .ConfigureAppConfiguration((ctx, builder) =>
    {
    var keyVaultEndpoint = GetKeyVaultEndpoint();
    if (!string.IsNullOrEmpty(keyVaultEndpoint))
    {
    var azureServiceTokenProvider = new AzureServiceTokenProvider();
    var keyVaultClient = new KeyVaultClient(
    new KeyVaultClient.AuthenticationCallback(
    azureServiceTokenProvider.KeyVaultTokenCallback));
    builder.AddAzureKeyVault(
    keyVaultEndpoint, keyVaultClient, new DefaultKeyVaultSecretManager());
    }
    }
    ).UseStartup<Startup>()
    .Build();

    private static string GetKeyVaultEndpoint() => "https://<YourKeyVaultName>.vault.azure.net";

关于amazon-web-services - 如何在Azure网站中配置AWS S3凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53040185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com