Eu quero duas identidades de acesso de origem para a frente da nuvem (e s3). Um que pode apenas visualizar conteúdo, e outro, que pode apenas colocar conteúdo (e talvez outro que possa simplesmente excluir)
Eu sei que posso criar uma identidade de acesso ao Origin e, na minha política de bucket do s3, posso especificar qual identidade tem quanto acesso.
Mas, ao assinar URLs, não vejo nenhuma opção para escolher essa identidade. O código php que estou usando:
$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
]);
Como alguém diz quem deve assinar em nome de? Eu criei um par de chaves para a nuvem em frente a link .