Google Cloud How to Make All Future Uploaded Files Publicly Accessible
Make data public
This page shows you how to brand objects you lot own readable to everyone on the public internet. To acquire how to access data that has been made public, see Accessing Public Information.
When an object is shared publicly, any user with noesis of the object URI can admission the object for every bit long equally the object is public.
Prerequisites
Prerequisites can vary based on the tool used:
Console
In lodge to complete this guide using the Google Cloud Panel, you must have the proper IAM permissions. If the objects or buckets you want to access be in a project that you did not create, you might need the project owner to give you a role that contains the necessary permissions.
For a list of permissions required for specific deportment, see IAM permissions for the Google Deject Console.
For a list of relevant roles, see Cloud Storage roles. Alternatively, you can create a custom role that has specific, limited permissions.
Command line
In order to complete this guide using a control-line utility, you must have the proper IAM permissions. If the objects or buckets you want to admission exist in a projection that you did non create, you might need the project owner to give you a part that contains the necessary permissions.
For a list of permissions required for specific actions, see IAM permissions for gsutil commands.
For a list of relevant roles, meet Cloud Storage roles. Alternatively, you can create a custom role that has specific, limited permissions.
Code samples
In lodge to complete this guide using the Deject Storage customer libraries, you must accept the proper IAM permissions. If the objects or buckets you lot want to access exist in a project that you did non create, you might need the project owner to requite y'all a role that contains the necessary permissions. Unless otherwise noted, client library requests are made through the JSON API.
For a listing of permissions required for specific actions, see IAM permissions for JSON methods.
For a list of relevant roles, see Deject Storage roles. Alternatively, y'all tin create a custom role that has specific, limited permissions.
Rest APIs
JSON API
In order to complete this guide using the JSON API, you must have the proper IAM permissions. If the objects or buckets you want to access exist in a projection that you did not create, yous might need the project possessor to give you a role that contains the necessary permissions.
For a list of permissions required for specific deportment, run across IAM permissions for JSON methods.
For a list of relevant roles, run across Cloud Storage roles. Alternatively, you lot tin can create a custom office that has specific, limited permissions.
Brand individual objects publicly readable
To brand individual objects readable to anybody on the public internet:
Panel
- In the Google Cloud Console, go to the Cloud Storage Browser page.
Get to Browser
-
Click on the name of the bucket that contains the object you lot want to make public, and navigate to the object if it'southward in a subdirectory.
-
Click the more actions bill of fare () associated with the object that you desire to brand public.
-
Select Edit access from the drop-down menu.
-
In the overlay that appears, click the + Add entry button.
-
Add a permission for allUsers.
- Select Public for the Entity.
- Select allUsers for the Proper name.
- Select Reader for the Access.
-
Click Relieve.
Once public access has been granted, Copy URL appears in the public access cavalcade. Yous can click this push to get the public URL for the object.
To learn how to get detailed error information about failed operations in the Cloud Storage browser, see Troubleshooting.
Command line
Use the gsutil acl ch
command:
gsutil acl ch -u AllUsers:R gs://BUCKET_NAME/OBJECT_NAME
Where:
-
BUCKET_NAME
is the name of the bucket containing the object you want to make public. For case,my-bucket
. -
OBJECT_NAME
is the name of the object yous desire to make public. For example,pets/dog.png
.
If successful, the response looks like the following example:
Updated ACL on gs://my-bucket/pets/dog.png
Code samples
REST APIs
JSON API
- Become an authorization access token from the OAuth 2.0 Playground. Configure the playground to use your own OAuth credentials. For instructions, see API hallmark.
-
Create a JSON file that contains the post-obit information:
{ "entity": "allUsers", "role": "READER" }
-
Use
cURL
to call the JSON API with anInsert
ACL asking:coil -X Post --information-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: awarding/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/acl"
Where:
-
JSON_FILE_NAME
is the path for the file that you created in Step ii. -
OAUTH2_TOKEN
is the admission token y'all created in Footstep 1. -
BUCKET_NAME
is the name of the saucepan containing the object you want to brand public. For example,my-bucket
. -
OBJECT_NAME
is the URL-encoded proper noun of the object yous want to brand public. For example,pets/dog.png
, URL-encoded aspets%2Fdog.png
.
-
XML API
- Get an dominance access token from the OAuth ii.0 Playground. Configure the playground to use your ain OAuth credentials. For instructions, see API authentication.
-
Create a XML file that contains the post-obit information:
<AccessControlList> <Entries> <Entry> <Scope type="AllUsers"/> <Permission>READ</Permission> </Entry> </Entries> </AccessControlList>
-
Apply
scroll
to telephone call the XML API with aSet up Object ACL
request:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?acl"
Where:
-
XML_FILE_NAME
is the path for the file that you created in Pace 2. -
OAUTH2_TOKEN
is the access token you created in Step 1. -
BUCKET_NAME
is the proper name of the saucepan containing the object you want to make public. For example,my-bucket
. -
OBJECT_NAME
is the URL-encoded name of the object you want to make public. For example,pets/dog.png
, URL-encoded aspets%2Fdog.png
.
-
Make all objects in a bucket publicly readable
To brand all objects in a saucepan readable to everyone on the public net:
Console
- In the Google Deject Console, go to the Cloud Storage Browser page.
Go to Browser
-
In the list of buckets, click on the proper noun of the bucket that you desire to make public.
-
Select the Permissions tab nearly the top of the folio.
-
In the Permissions section, click the + Add together button.
The Add principals dialog box appears.
-
In the New principals field, enter
allUsers
. -
In the Select a role drop downwardly, enter Storage Object Viewer in the filter box and select the Storage Object Viewer from the filtered results.
-
Click Salve.
-
Click Permit public access.
Once public access has been granted, Copy URL appears for each object in the public access column. You lot can click this push to get the public URL for the object.
To learn how to become detailed error data about failed operations in the Deject Storage browser, encounter Troubleshooting.
Command line
Apply the gsutil iam ch
command:
gsutil iam ch allUsers:objectViewer gs://BUCKET_NAME
Where BUCKET_NAME
is the proper name of the bucket whose objects y'all want to make public. For instance, my-saucepan
.
Code samples
Residue APIs
JSON API
- Get an say-so access token from the OAuth 2.0 Playground. Configure the playground to use your own OAuth credentials. For instructions, see API authentication.
-
Create a JSON file that contains the following information:
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
-
Use
cURL
to call the JSON API with aPUT
Bucket request:ringlet -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Where:
-
JSON_FILE_NAME
is the path for the file that you created in Step two. -
OAUTH2_TOKEN
is the access token yous created in Footstep 1. -
BUCKET_NAME
is the proper noun of the bucket whose objects you want to make public. For example,my-saucepan
.
-
XML API
Making all objects in a saucepan publicly readable is non supported by the XML API. Utilise gsutil or the JSON API instead.
What'southward side by side
- Admission data that has been fabricated public.
- Learn most more access control options for your buckets and objects.
Except every bit otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Coffee is a registered trademark of Oracle and/or its affiliates.
Last updated 2022-04-thirteen UTC.
Source: https://cloud.google.com/storage/docs/access-control/making-data-public
0 Response to "Google Cloud How to Make All Future Uploaded Files Publicly Accessible"
Post a Comment