小编HLT*_*HLT的帖子

Status = 403 Code =“AuthorizationFailure” Message =“此请求无权执行此操作”

我正在尝试运行一个部署存储容器的 terraform 部署。初始部署有效(由于尚未到位 IP 过滤),但随后失败。运行 terraform plan 时,我得到以下信息:

Error: retrieving Container "xxxx" (Account "xxxx" / Resource Group "xxx"): containers.Client#GetProperties: Failure responding to request: StatusCode=403 -- Original Error: autorest/azure: Service returned an error. Status=403 Code="AuthorizationFailure" Message="This request is not authorized to perform this operation.\nRequestId:62a85c92-901e-0021-12de-816608000000\nTime:2022-06-17T00:11:56.2063816Z"
Run Code Online (Sandbox Code Playgroud)

根据一些研究和调试,当存储容器没有将托管管道代理的 IP 列入白名单时,就会发生这种情况。

我修改了管道,以便检索代理的 IP 并将其添加为防火墙规则。然后,我添加了不同时间的睡眠(最多 5 分钟),尝试为规则生效留出时间,但它从未起作用。

这是我的管道的片段:

          - task: AzureCLI@2
            inputs:
              azureSubscription: '$(azureSubscription)'
              scriptType: 'bash'
              scriptLocation: 'inlineScript'
              inlineScript: |
                 agentIP=$(curl -s https://api.ipify.org/)
                 az storage account network-rule add -g xxx --account-name xxx --ip-address $agentIP
                 sleep 300 …
Run Code Online (Sandbox Code Playgroud)

azure terraform azure-blob-storage azure-devops azure-pipelines

12
推荐指数
1
解决办法
4万
查看次数

AWS S3 ListObjectsV2 返回“文件夹”作为对象

我试图列出 S3 存储桶中特定目录下的所有文件(我知道 S3 并没有真正的目录。)。

结构是:

Bucket-Name:Folder1/Folder2/Folder3/file

所以在 S3 世界中,我相信这只是存储一个名为上述的文件。

这是我的代码:

    params := &s3.ListObjectsV2Input{
        Bucket: aws.String(os.Getenv("S3_USER_BUCKET")),
        Prefix: aws.String(key + loc[0] + "/"),
    }

    resp, _ := svc.ListObjectsV2(params)
Run Code Online (Sandbox Code Playgroud)

包含resp我期望的文件,以及它存储在的“目录”:

  Contents: [{
      ETag: "\"TAG\"",
      Key: "Folder1/Folder2/Folder3/",
      LastModified: 2023-03-02 17:32:17 +0000 UTC,
      Size: 0,
      StorageClass: "STANDARD"
    },{
      ETag: "\"TAG\"",
      Key: "Folder1/Folder2/Folder3/file",
      LastModified: 2023-03-02 17:32:30 +0000 UTC,
      Size: 106808,
      StorageClass: "STANDARD"
    }],
  IsTruncated: false,
  KeyCount: 2,
  MaxKeys: 1000,
  Name: "BUCKET",
  Prefix: "Folder1/Folder2/Folder3/"
}

Run Code Online (Sandbox Code Playgroud)

我也尝试过:

    params := &s3.ListObjectsV2Input{
        Bucket: aws.String(os.Getenv("S3_USER_BUCKET")),
        Prefix: aws.String(key + …
Run Code Online (Sandbox Code Playgroud)

go amazon-web-services aws-sdk aws-sdk-go

5
推荐指数
1
解决办法
2034
查看次数

使用 Function App 部署 API 管理 - Terraform

我已经通过 Terraform 部署了 Azure HTTP 函数应用程序,我想通过 API 管理来管理对 HTTP 函数的访问。我可以看到如何通过 Terraform 创建 API 管理,但是我看不到如何将我的函数应用程序与 API 管理结合起来。通过控制台,这非常简单。我如何通过 terraform 做到这一点?

azure-api-management terraform

0
推荐指数
1
解决办法
2114
查看次数