Permettre l'accès Public en Lecture sur un GCS seau?
Je suis en train d'autoriser les connexions anonymes (ou juste une de mes applications de domaine) accès en lecture pour les fichiers dans mon seau.
Lorsque vous essayez de lire les fichiers que je reçois
``
<Error>
<Code>AccessDenied</Code>
<Message>Access denied.</Message>
<Details>
Anonymous users does not have storage.objects.get access to object.
</Details>
</Error>
``
J'ai aussi essayé d'ajouter un nom de domaine avec l'objet des autorisations par défaut dans la boîte de dialogue de google cloud console. qui me donne le message d'erreur "l'Un de vos autorisations d'accès n'est pas valide. Assurez-vous que vous entrez un id autorisé ou par courriel pour les groupes et les utilisateurs et un domaine pour les domaines"
J'ai aussi regardé dans la fabrication de l'ACL pour le seau public-read
. Mon seul problème, c'est qu'il supprime mon droit de propriété sur le seau. J'ai besoin d'avoir cette propriété depuis que je veux autoriser le téléchargement à partir d'un Google code d'Accès.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser gsutil pour fabriquer de nouveaux objets créés dans le seau publiquement lisible sans le supprimer de votre propriété. Pour fabriquer de nouveaux objets créés dans le seau public lisible:
gsutil defacl ch -u AllUsers:R gs://yourbucket
Si vous avez des objets existants dans le seau que vous souhaitez rendre public lisible, vous pouvez exécuter:
gsutil acl ch -u AllUsers:R gs://yourbucket/**
Vous pouvez également le faire à partir de la console.
https://console.cloud.google.com/storage/
Choisissez modifier le seau autorisations:
L'entrée "allUsers" à Ajouter des Membres de cette option et de Stockage de l'Objet de la Visionneuse de" le rôle.
Ensuite, allez à "Sélectionner un rôle" et mettre "Stockage" et "Objet de Stockage de Héritage" à "Objet de Stockage de Vue"
À l'aide de rôles IAM, pour rendre les fichiers lisible, et le bloc d'inscription:
Pour rendre les fichiers lisibles et permettent d'inscription:
Ajoutez une autorisation pour allUsers.
Une fois partagé publiquement, une icône de lien apparaît dans le public l'accès de la colonne. Vous pouvez cliquer sur cette icône pour obtenir l'URL de l'objet.
Instruction sur Rendre Les Données Publiques de Cloud Google Docs
Si vous transférez des fichiers dans firebase fonctions vous aurez besoin de demander
makePublic()
sur l'objet de référence afin de le rendre accessible sans passage de jeton.