Menambahkan kebijakan keamanan JavaCallout kustom

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Lihat dokumentasi Apigee Edge.

Apa yang dimaksud dengan kebijakan keamanan JavaCallout kustom?

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

Anda dapat membuat kebijakan keamanan JavaCallout kustom menggunakan resource, yang ditentukan dalam file resource berjenis securityPolicy. Resource dikonfigurasi di tingkat lingkungan. File resource dapat memiliki nama apa pun, tetapi Anda harus menambahkan sufiks .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 dengan kebijakan keamanan Java standar; lihat Default Policy Implementation and Policy File Syntax.

Setelah Anda membuat file kebijakan keamanan yang menentukan kebijakan JavaCallout kustom, runtime Apigee dapat mendeteksi kebijakan dan menggunakan izin kustom yang ditentukan kebijakan tersebut. Jika tidak ada kebijakan JavaCallout 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 menentukan lokasi kode untuk kebijakan JavaCallout 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 Panggilan 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 JavaCallout kustom.

Membuat kebijakan keamanan JavaCallout kustom

Perintah berikut akan membuat kebijakan keamanan JavaCallout 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

Melihat semua kebijakan keamanan

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

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

Melihat isi file kebijakan keamanan

Perintah berikut akan mendapatkan konten file kebijakan keamanan individual 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 dicakup ke lingkungan

Perintah berikut memperbarui kebijakan keamanan yang dicakup 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 dicakup ke lingkungan

Perintah berikut menghapus kebijakan keamanan yang dicakup ke lingkungan.

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