프로젝트 또는 조직 정책 구성에서 공개 액세스 방지를 상속합니다.
더 살펴보기
이 코드 샘플이 포함된 자세한 문서는 다음을 참조하세요.
코드 샘플
C++
자세한 내용은 Cloud Storage C++ API 참조 문서를 확인하세요.
namespace gcs = ::google::cloud::storage;
using ::google::cloud::StatusOr;
[](gcs::Client client, std::string const& bucket_name) {
gcs::BucketIamConfiguration configuration;
configuration.public_access_prevention =
gcs::PublicAccessPreventionInherited();
auto updated = client.PatchBucket(
bucket_name, gcs::BucketMetadataPatchBuilder().SetIamConfiguration(
std::move(configuration)));
if (!updated) throw std::move(updated).status();
std::cout << "Public Access Prevention is set to 'inherited' for "
<< updated->name() << "\n";
}
C#
자세한 내용은 Cloud Storage C# API 참조 문서를 확인하세요.
using Google.Apis.Storage.v1.Data;
using Google.Cloud.Storage.V1;
using System;
public class SetPublicAccessPreventionInheritedSample
{
public Bucket SetPublicAccessPreventionInherited(string bucketName = "your-unique-bucket-name")
{
var storage = StorageClient.Create();
var bucket = storage.GetBucket(bucketName);
// Sets public access prevention to "inherited" for the bucket.
bucket.IamConfiguration.PublicAccessPrevention = "inherited";
bucket = storage.UpdateBucket(bucket);
Console.WriteLine($"Public access prevention is 'inherited' for {bucketName}.");
return bucket;
}
}
Go
자세한 내용은 Cloud Storage Go API 참조 문서를 확인하세요.
import (
"context"
"fmt"
"io"
"time"
"cloud.google.com/go/storage"
)
// setPublicAccessPreventionInherited sets public access prevention to
// "inherited" for the bucket.
func setPublicAccessPreventionInherited(w io.Writer, bucketName string) error {
// bucketName := "bucket-name"
ctx := context.Background()
client, err := storage.NewClient(ctx)
if err != nil {
return fmt.Errorf("storage.NewClient: %v", err)
}
defer client.Close()
ctx, cancel := context.WithTimeout(ctx, time.Second*10)
defer cancel()
bucket := client.Bucket(bucketName)
setPublicAccessPrevention := storage.BucketAttrsToUpdate{
PublicAccessPrevention: storage.PublicAccessPreventionInherited,
}
if _, err := bucket.Update(ctx, setPublicAccessPrevention); err != nil {
return fmt.Errorf("Bucket(%q).Update: %v", bucketName, err)
}
fmt.Fprintf(w, "Public access prevention is 'inherited' for %v", bucketName)
return nil
}
Java
자세한 내용은 Cloud Storage Java API 참조 문서를 확인하세요.
import com.google.cloud.storage.Bucket;
import com.google.cloud.storage.BucketInfo;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;
public class SetPublicAccessPreventionInherited {
public static void setPublicAccessPreventionInherited(String projectId, String bucketName) {
// The ID of your GCP project
// String projectId = "your-project-id";
// The ID of your GCS bucket
// String bucketName = "your-unique-bucket-name";
Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService();
Bucket bucket = storage.get(bucketName);
// Sets public access prevention to 'inherited' for the bucket
bucket
.toBuilder()
.setIamConfiguration(
BucketInfo.IamConfiguration.newBuilder()
.setPublicAccessPrevention(BucketInfo.PublicAccessPrevention.INHERITED)
.build())
.build()
.update();
System.out.println("Public access prevention is set to 'inherited' for " + bucketName);
}
}
Node.js
자세한 내용은 Cloud Storage Node.js API 참조 문서를 확인하세요.
/**
* TODO(developer): Uncomment the following lines before running the sample.
*/
// The name of your GCS bucket
// const bucketName = 'Name of a bucket, e.g. my-bucket';
// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');
// Creates a client
const storage = new Storage();
async function setPublicAccessPreventionInherited() {
// Sets public access prevention to 'inherited' for the bucket
await storage.bucket(bucketName).setMetadata({
iamConfiguration: {
publicAccessPrevention: 'inherited',
},
});
console.log(`Public access prevention is 'inherited' for ${bucketName}.`);
}
setPublicAccessPreventionInherited();
PHP
자세한 내용은 Cloud Storage PHP API 참조 문서를 확인하세요.
use Google\Cloud\Storage\StorageClient;
/**
* Set the bucket Public Access Prevention to inherited.
*
* @param string $bucketName the name of your Cloud Storage bucket.
* (e.g. 'my-bucket')
*/
function set_public_access_prevention_inherited(string $bucketName): void
{
$storage = new StorageClient();
$bucket = $storage->bucket($bucketName);
$bucket->update([
'iamConfiguration' => [
'publicAccessPrevention' => 'inherited'
]
]);
printf(
'Public Access Prevention has been set to inherited for %s.' . PHP_EOL,
$bucketName
);
}
Python
자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.
from google.cloud import storage
from google.cloud.storage.constants import PUBLIC_ACCESS_PREVENTION_INHERITED
def set_public_access_prevention_inherited(bucket_name):
"""Sets the public access prevention status to inherited, so that the bucket inherits its setting from its parent project."""
# The ID of your GCS bucket
# bucket_name = "my-bucket"
storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name)
bucket.iam_configuration.public_access_prevention = (
PUBLIC_ACCESS_PREVENTION_INHERITED
)
bucket.patch()
print(f"Public access prevention is 'inherited' for {bucket.name}.")
Ruby
자세한 내용은 Cloud Storage Ruby API 참조 문서를 확인하세요.
def set_public_access_prevention_inherited bucket_name:
# The ID of your GCS bucket
# bucket_name = "your-unique-bucket-name"
require "google/cloud/storage"
storage = Google::Cloud::Storage.new
bucket = storage.bucket bucket_name
bucket.public_access_prevention = :inherited
puts "Public access prevention is 'inherited' for #{bucket_name}."
end
다음 단계
다른 Google Cloud 제품의 코드 샘플을 검색하고 필터링하려면 Google Cloud 샘플 브라우저를 참조하세요.