Menambahkan kebijakan keamanan info Java kustom

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat 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 callout Java kustom.

Anda dapat membuat kebijakan keamanan info Java kustom menggunakan resource, yang ditentukan dalam file resource dari jenis securityPolicy. Resource dikonfigurasi di tingkat lingkungan. File resource dapat bernama apa saja, 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 dengan kebijakan keamanan Java standar; lihat Penerapan Kebijakan Default dan Sintaksis File Kebijakan.

Setelah Anda membuat file kebijakan keamanan yang menentukan kebijakan Java Callout kustom, runtime Apigee dapat mendeteksi kebijakan dan menggunakan izin kustom yang ditentukan 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 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 Callout 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 akan membuat kebijakan keamanan callout 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

Melihat 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 dicakupkan ke lingkungan

Perintah berikut memperbarui kebijakan keamanan yang dicakup untuk 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 akan menghapus kebijakan keamanan yang dicakupkan ke lingkungan.

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