Menambahkan kebijakan keamanan info Java kustom

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca dokumentasi Apigee Edge.

Apa yang dimaksud dengan kebijakan keamanan info Java kustom?

Info Java memungkinkan Anda menyesuaikan perilaku API menggunakan kode Java. Saat Anda menerapkan info Java, Apigee menetapkan izin default untuk API menggunakan Kebijakan izin Java. Di Apigee Hybrid, Anda dapat mengubah izin default dengan membuat kebijakan keamanan info Java kustom.

Anda dapat membuat kebijakan keamanan info Java kustom menggunakan resource, yang ditentukan dalam file resource jenis securityPolicy. Resource dikonfigurasi pada tingkat lingkungan. File resource dapat memiliki nama apa pun, tetapi Anda harus menambahkan akhiran .policy ke nama file kebijakan java kustom. Contoh: strict-security.policy.

Perintah berikut menambahkan file resource bernama strict-security.policy.

curl -X POST "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles?name=CustomJavaSecurityPolicy&type=securityPolicy"
-H "Authorization: Bearer $TOKEN" \
-H "Content-type: multipart/form-data" \
-F file=@/Users/home/strict-security.policy
File kebijakan keamanan mendukung sintaksis yang sama seperti kebijakan keamanan Java standar; lihat Implementasi Kebijakan Default dan Sintaksis File Kebijakan.

Setelah Anda membuat file kebijakan keamanan yang menentukan kebijakan Info Java kustom, runtime Apigee dapat mendeteksi kebijakan tersebut dan menggunakan izin kustom yang ditetapkan oleh kebijakan. Jika tidak ada kebijakan info Java kustom, Apigee akan menggunakan kebijakan keamanan default untuk kode Java atau Python kustom.

File kebijakan keamanan

Contoh berikut menunjukkan contoh konten file kebijakan keamanan.

Baris di bawah ini menentukan lokasi kode untuk info Java kustom dan memberikan semua izin ke direktori.

Relaxed security policy file for testing
// javacallout code has just read permission in the installed dir and everything below it
  grant codeBase "file:${javacallout.dir}/-"  {
    permission java.security.AllPermission;
}

Baris ini menentukan lokasi kode untuk Keterangan Jython/Python kustom dan memberikan izin baca ke direktori.

// Jython/Python secure
grant codeBase "file:${jython-secure-jar}" {
    // No logging permissions for secure jar. Hence value of the AllExcept target parameter set to 0
    permission com.apigee.securitypolicy.AllExcept "0", "java.io.FilePermission";
    permission java.io.FilePermission "{T}conf_security-policy_install.dir{/T}/lib/-" , "read";
    // Add JRE read permissions to jython. Existing permissions have two formats to java home. Keep the same.
    permission java.io.FilePermission "${java.home}/-", "read,readLink";
    permission java.io.FilePermission "${JAVA_HOME}/-", "read,readLink";
}

Contoh

Contoh berikut menunjukkan cara melakukan tugas tertentu yang terkait dengan kebijakan keamanan info Java kustom.

Membuat kebijakan keamanan info Java kustom

Perintah berikut membuat kebijakan keamanan info Java kustom, yang ditentukan dalam file resource bernama strict-security.policy.

curl -X POST "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles?name=CustomJavaSecurityPolicy&type=securityPolicy"
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: multipart/form-data" \
  -F file=@/Users/home/strict-security.policy

Lihat semua kebijakan keamanan

Perintah berikut memungkinkan Anda melihat semua kebijakan keamanan info Java kustom yang ada di API.

curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy" \
  -H "Authorization: Bearer $TOKEN"

Melihat konten file kebijakan keamanan

Perintah berikut mendapatkan konten setiap file kebijakan keamanan sehingga Anda dapat melihatnya.

curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy/CustomJavaSecurityPolicy" \
  -H "Authorization: Bearer $TOKEN"

Memperbarui kebijakan yang mencakup lingkungan

Perintah berikut memperbarui kebijakan keamanan yang dicakupkan ke lingkungan.

curl -X PUT "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy/CustomJavaSecurityPolicy"
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: multipart/form-data" \
  -F file=@/Users/home/strict-security-revised.policy

Menghapus kebijakan keamanan yang dicakupkan ke lingkungan

Perintah berikut menghapus kebijakan keamanan yang dicakupkan ke sebuah lingkungan.

curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy/CustomJavaSecurityPolicy \
  -H "Authorization: Bearer $TOKEN"