如何找出 CloudFront 分佈屬於哪個 AWS 帳戶?

2 分的閱讀內容
0

我想要找到 Amazon CloudFront 分佈所屬的 AWS 帳戶。該如何進行?

簡短描述

若要查找分佈所屬 AWS 帳戶的相關資訊,請使用 ListConflictingAliases 命令取得有關 AWS 帳戶的資訊。

首先,建立新的 CloudFront 分佈,並與 SSL 憑證建立關聯。此 SSL 憑證必須涵蓋與您嘗試尋找其 AWS 帳戶之 CloudFront 分佈相關聯的網域。

然後,使用新分佈的 ID 以及與所尋找分佈相關聯的備用網域名稱執行 ListConflictingAliases 命令。

備註:若要使用此方法,分佈必須具有與其相關聯的備用網域名稱。如果您嘗試尋找的 CloudFront 分佈沒有關聯的備用網域名稱,請聯絡 AWS Support

解決方案

建立 CloudFront 分佈

建立新的 CloudFront 分佈,並確保:

  • 與SSL 憑證建立關聯,該憑證涵蓋與嘗試查找其 AWS 帳戶的 CloudFront 分佈相關聯的網域。
  • 請勿在替代網域名稱中指定網域名稱。 此欄位中的值會引發「CNAME 已存在」錯誤。

如果您不想建立新的分佈,可以使用自訂 SSL 憑證來更新現有的 CloudFront 分佈

執行 ListConflictingAliases 命令

注意:ListConflictingAliases 命令需要 GetDistributionListConflictingAliases 許可。若要驗證擁有權,您必須擁有 YourDistributionID 的讀取存取權。您也必須擁有可保護衝突 CNAME 安全的相關憑證。

1.    在所建立分佈的 AWS Identity and Access Management (IAM) 政策中,將下列資源層級許可新增至發出 API 請求的 IAM 使用者或角色。

對於 DISTRIBUTION-ID,請輸入您建立的新分佈的 ID。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "CloudFrontCnameSwapCrossAcc",
      "Effect": "Allow",
      "Action": [
                "cloudfront:GetDistribution",
                "cloudfront:ListConflictingAliases"
      ],
      "Resource": [
        "arn:aws:cloudfront::123456789:distribution/DISTRIBUTION-ID"
      ]
    }
  ]
}

2.    確認新分佈具備有效的憑證。

3.    執行 ListConflictingAliases 命令:

$ aws cloudfront list-conflicting-aliases --distribution-id YourDistributiontID --alias YourCNAME

對於 YourDistributionId,輸入在 AWS 帳戶中建立的新分佈的 ID。對於 YourCNAME,請輸入與您嘗試尋找之 CloudFront 發佈相關聯的別名 (備用網域名稱)。

4.    輸出會提供 CloudFront 分佈清單,以及與您在 ListConflictingAliases 命令中輸入的別名產生衝突的相關帳戶 ID。
--alias 參數中的網域名稱與您嘗試尋找的 CloudFront 分佈相關聯。與分佈 ID 關聯的 AWS 帳戶 ID 也會列在輸出中。
例如:

$ aws cloudfront list-conflicting-aliases --distribution-id EABCDSXK9UXYZ --alias www.example.com
{
  "ConflictingAliasesList": {
    "MaxItems": 100,
    "Quantity": 1,
    "Items": [
      {
        "Alias": "www.example.com",
        "DistributionId": "*******NOOCXYZ",
        "AccountId": "******091234"
      }
    ]
  }
}

備註:透過 API 閘道或 AWS Amplify 受管託管中的邊緣最佳化 API 端點 建立的 CloudFront 分發,由 AWS 受管帳戶管理。在此情況下,輸出中的 AWS 帳戶 ID 與 AWS 受管帳戶相關。針對 API 閘道中邊緣最佳化 API 端點建立的 CloudFront 分佈可透過區域特定 API 閘道帳戶 ID 來識別。如需區域特定 API 閘道帳戶 ID 的完整清單,請參閱 在 CloudTrail 中記錄自訂網域名稱建立


AWS 官方
AWS 官方已更新 2 年前