[英]How to sign Url on behalf of a certain origin access identity (cloud front)
我想为云前端(和s3)提供两个原始访问标识。 一个可以只查看内容,另一个可以只放内容(也许可以只删除)
我知道我可以创建一个Origin访问标识,并且在我的s3存储桶策略中,我可以指定哪个标识具有多少访问权限。
但是,在签署网址时,我没有看到任何选择此身份的选项。 我正在使用的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
]);
如何告诉谁代表谁签名? 我根据http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-trusted-signers.html#private-content-creating-cloudfront-key-pairs为云端创建了密钥对。
您的密钥对已分配给IAM用户。 这是签名身份。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.