2017-07-03 44 views

回答

1

源訪問身份不是IAM用戶或角色。這有可能通過以下方式來查看原產地訪問身份:

  1. Web控制檯:點擊原產地訪問標識位於 你的Cloudfront儀表盤的左側

enter image description here

  • CLI工具:運行以下命令

    aws cloudfront list-c響亮的前端訪問身份 - 輸出json

  • 2

    當您添加Origin Access Identity時,它會將策略添加到S3存儲桶。檢查this文檔中的以下示例策略。

    { 
        "Version":"2012-10-17", 
        "Id":"PolicyForCloudFrontPrivateContent", 
        "Statement":[ 
        { 
         "Sid":" Grant a CloudFront Origin Identity access to support private content", 
         "Effect":"Allow", 
         "Principal":{"CanonicalUser":"79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be"}, 
         "Action":"s3:GetObject", 
         "Resource":"arn:aws:s3:::example-bucket/*" 
        } 
        ] 
    } 
    
    +0

    謝謝阿山!所以這個所謂的「**來源訪問身份**」不是一個用戶或角色,只是一個策略?這就是讓我困惑的原因。 –

    +0

    是的。它令人困惑。我沒有考慮它是否可能使用IAM承擔與該政策與CloudFront之間的信任關係(這是在AWS中提供許可的正常方式)。但是找不到任何文件,所以假設它不可能。 – Ashan

    1

    您可以創建並從CloudFront的控制檯編輯地訪問標識

    在一個主要的語句指定原點接入身份的格式爲:

    "Principal": {"CanonicalUser": "Amazon S3 Canonical User ID"} 
    

    或者

    "Principal": {"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity <ORIGIN_ACCESS_IDENTITY_ID>"} 
    

    例如:

    { 
        "Version": "2012-10-17", 
        "Id": "Policy1476619022955", 
        "Statement": [ 
         { 
          "Sid": "2", 
          "Effect": "Allow", 
          "Principal": { 
           "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity D3KJWPO38AQ6YV" 
          }, 
          "Action": "s3:GetObject", 
          "Resource": "arn:aws:s3:::static.example.com/*" 
         } 
        ] 
    } 
    

    Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content

    相關問題