如何代表某个来源访问身份对 Url 进行签名(云端)

如何代表某个来源访问身份对 Url 进行签名(云端)

我想要两个用于云端(和 S3)的原始访问身份。一个只能查看内容,另一个只能放置内容(也许还有一个只能删除)

我知道我可以创建一个 Origin 访问身份,并且在我的 s3 存储桶策略中,我可以指定哪个身份具有多少访问权限。

但是,在签署 URL 时,我没有看到任何选择此身份的选项。我使用的 php 代码:

        $customPolicy = <<<POLICY
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Sid":"statement1",
         "Effect":"Allow",
         "Action":[
            "s3:CreateBucket", "s3:ListAllMyBuckets", "s3:GetBucketLocation"  
         ],
         "Resource":[
            "arn:aws:s3:::*"
         ]
       }
    ]
}

POLICY;



// Create a signed URL for the resource using the canned policy
        $signedUrlCannedPolicy = $cloudFront->getSignedUrl([
            'url'         => $streamHostUrl . '/' . $resourceKey,
            'private_key' => base_path().'/'.'cloudfront.pem',
            'key_pair_id' => 'my key pair id',
            'policy' => $customPolicy

        ]);

如何告诉 AWS 代表谁签名?我为 Cloud Front 创建了密钥对,如下所示http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-trusted-signers.html#private-content-creating-cloudfront-key-pairs

相关内容