AWS SDK for Java 1.x telah memasuki mode pemeliharaan pada 31 Juli 2024, dan akan mencapai end-of-support
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola akses keAmazon S3Bucket Menggunakan Kebijakan ember
Anda dapat mengatur, mendapatkan, atau menghapuskebijakan bucketuntuk mengelola akses keAmazon S3ember.
Mengatur Kebijakan ember
Anda dapat mengatur kebijakan bucket S3 tertentu dengan:
-
Memanggil klien AmazonS3
setBucketPolicy
dan menyediakannya denganSetBucketPolicyRequest -
Mengatur kebijakan secara langsung dengan menggunakan
setBucketPolicy
kelebihan beban yang mengambil nama bucket dan teks kebijakan (dalam format JSON)
Impor
import com.amazonaws.AmazonServiceException; import com.amazonaws.auth.policy.Policy; import com.amazonaws.auth.policy.Principal;
Kode
s3.setBucketPolicy(bucket_name, policy_text); } catch (AmazonServiceException e) { System.err.println(e.getErrorMessage()); System.exit(1); }
Gunakan Kelas Kebijakan untuk Menghasilkan atau Memvalidasi Kebijakan
Saat memberikan kebijakan bucketsetBucketPolicy
, Anda dapat melakukan hal berikut:
-
Tentukan kebijakan secara langsung sebagai string teks berformat JSON
-
Membangun kebijakan menggunakanKebijakankelas
Dengan menggunakanPolicy
kelas, Anda tidak perlu khawatir tentang benar memformat string teks Anda. Untuk mendapatkan teks kebijakan JSON dariPolicy
kelas, menggunakan nyatoJson
metode.
Impor
import com.amazonaws.auth.policy.Resource; import com.amazonaws.auth.policy.Statement; import com.amazonaws.auth.policy.actions.S3Actions; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder;
Kode
new Statement(Statement.Effect.Allow) .withPrincipals(Principal.AllUsers) .withActions(S3Actions.GetObject) .withResources(new Resource( "{region-arn}s3:::" + bucket_name + "/*"))); return bucket_policy.toJson();
ParameterPolicy
kelas juga menyediakanfromJson
metode yang dapat mencoba untuk membangun kebijakan menggunakan passed-in JSON string. Metode memvalidasi untuk memastikan bahwa teks dapat diubah menjadi struktur kebijakan yang valid, dan akan gagal denganIllegalArgumentException
jika teks kebijakan tidak valid.
Policy bucket_policy = null; try { bucket_policy = Policy.fromJson(file_text.toString()); } catch (IllegalArgumentException e) { System.out.format("Invalid policy text in file: \"%s\"", policy_file); System.out.println(e.getMessage()); }
Anda dapat menggunakan teknik ini untuk memvalidasi kebijakan yang Anda baca dari file atau cara lain.
LihatLengkapi Contoh
Dapatkan Kebijakan ember
Untuk mengambil kebijakan untukAmazon S3ember, hubungi klien AmazonS3getBucketPolicy
metode, lewat itu nama ember untuk mendapatkan kebijakan dari.
Impor
import com.amazonaws.AmazonServiceException; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder;
Kode
try { BucketPolicy bucket_policy = s3.getBucketPolicy(bucket_name); policy_text = bucket_policy.getPolicyText(); } catch (AmazonServiceException e) { System.err.println(e.getErrorMessage()); System.exit(1); }
Jika bucket bernama tidak ada, jika Anda tidak memiliki akses ke sana, atau jika tidak memiliki kebijakan bucket, sebuahAmazonServiceException
dilemparkan.
LihatLengkapi Contoh
Menghapus Kebijakan ember
Untuk menghapus kebijakan bucket, hubungi klien AmazonS3deleteBucketPolicy
, menyediakannya dengan nama bucket.
Impor
import com.amazonaws.AmazonServiceException; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3;
Kode
try { s3.deleteBucketPolicy(bucket_name); } catch (AmazonServiceException e) { System.err.println(e.getErrorMessage()); System.exit(1); }
Metode ini berhasil bahkan jika bucket belum memiliki kebijakan. Jika Anda menentukan nama bucket yang tidak ada atau jika Anda tidak memiliki akses ke bucket, sebuahAmazonServiceException
dilemparkan.
LihatLengkapi Contoh
Info Selengkapnya
-
Ikhtisar Bahasa Kebijakandi dalamAmazon Simple Storage ServicePanduan Pengguna
-
Contoh Kebijakan emberdi dalamAmazon Simple Storage ServicePanduan Pengguna