web-dev-qa-db-fra.com

Autoriser l'accès en lecture publique sur un compartiment GCS?

J'essaie d'autoriser l'accès en lecture anonyme (ou uniquement à partir de mon domaine d'applications) aux fichiers de mon compartiment.

En essayant de lire les fichiers, 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 également essayé d'ajouter un domaine avec la boîte de dialogue des autorisations par défaut des objets dans la console Google Cloud. cela me donne l'erreur "Une de vos autorisations n'est pas valide. Assurez-vous de saisir un identifiant ou un email autorisé pour les groupes et les utilisateurs, ainsi qu'un domaine pour les domaines"

J'ai également envisagé de créer la liste de contrôle d'accès pour le compartiment public-read. Mon seul problème avec cela est que cela supprime ma propriété sur le seau. J'ai besoin de cette propriété car je veux autoriser le téléchargement à partir d'un identifiant Google Access spécifique.

35
yungbonesvillain

Vous pouvez utiliser gsutil pour rendre les nouveaux objets créés dans le compartiment lisibles publiquement sans supprimer votre propriété. Pour rendre les nouveaux objets créés dans le compartiment lisibles pour le public:

gsutil defacl ch -u AllUsers:R gs://yourbucket

Si vous avez des objets existants dans le compartiment que vous souhaitez rendre lisibles pour le public, vous pouvez exécuter:

gsutil acl ch -u AllUsers:R gs://yourbucket/**

37
Travis Hobrla

Vous pouvez également le faire depuis la console.
https://console.cloud.google.com/storage/
Choisissez modifier les autorisations du compartiment:
Entrez "allUsers" dans l'option Add Members et "Storage Object Viewer" en tant que rôle. Cliquez ensuite sur "Sélectionner un rôle" et définissez "Stockage" et "Ancien objet de stockage" sur "Vue de l'objet de stockage".

GCS bucket access

32
adam shamsudeen

À l'aide de rôles IAM, pour rendre les fichiers lisibles et bloquer la liste:

gsutil iam ch allUsers:legacyObjectReader gs://bucket-name

Pour rendre les fichiers lisibles et autoriser l’énumération:

gsutil iam ch allUsers:objectViewer gs://bucket-name
9
Jacob
  1. Ouvrez le navigateur Cloud Storage dans la console Google Cloud Platform.
  2. Dans la liste des compartiments, cliquez sur le nom du compartiment contenant l'objet que vous souhaitez rendre public, puis accédez à l'objet s'il se trouve dans un sous-répertoire.
  3. Cliquez sur le menu déroulant associé à l'objet que vous souhaitez rendre public.
  4. Le menu déroulant apparaît sous la forme de trois points verticaux à l'extrême droite de la ligne de l'objet.
  5. Sélectionnez Modifier les autorisations dans le menu déroulant.
  6. Dans la superposition qui apparaît, cliquez sur le bouton + Ajouter un élément.
  7. Ajoutez une permission pour tous les utilisateurs.

    • Sélectionnez Utilisateur pour l'entité.
    • Entrez tous les utilisateurs pour le nom.
    • Sélectionnez Reader pour l'accès.
    • Cliquez sur Enregistrer.
  8. Une fois partagé publiquement, une icône de lien apparaît dans la colonne d'accès public. Vous pouvez cliquer sur cette icône pour obtenir l'URL de l'objet.

Instruction sur Rendre les données publiques à partir de Google Cloud Docs

3
Digimix

Si vous téléchargez des fichiers dans fonctions de la base de fe, vous devrez appeler makePublic() sur l'objet de référence afin de le rendre accessible sans passer de jeton.

2
haxpanel