Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Những điều bạn cần biết về quyền trong Java chính sách của Google
Nếu đang phát triển Chính sách chú thích Java, bạn cần biết chính sách quyền nào nằm trong trong Edge JVM và chúng sẽ ảnh hưởng đến mã của bạn như thế nào. Ví dụ: mã Java tuỳ chỉnh của bạn không có quyền truy cập giới hạn vào hệ thống tệp. Tuy nhiên, trong trường hợp quyền truy cập vào hệ thống tệp, bạn có thể đọc một số tệp nhất định, chẳng hạn như tệp tài nguyên chính sách. Tuy nhiên, hầu hết các quyền truy cập khác vào hệ thống tệp đều bị chặn. Chủ đề này liệt kê tất cả các loại quyền JDK cũng như mục tiêu hoặc hành động tương ứng. Đối với mỗi mục tiêu hoặc hành động, chúng tôi sẽ nêu rõ chính sách về quyền và mọi ngoại lệ mà bạn cần biết.
Để tìm hiểu thêm về các loại quyền của JDK và quyền mà mỗi quyền cho phép, hãy xem phần Quyền trong Bộ phát triển Java (JDK).
Bật các hạn chế về bảo mật
Trong Edge dành cho Cloud riêng tư, các hạn chế về bảo mật sẽ được tắt theo mặc định. Điều này có nghĩa là mã chú thích Java tuỳ chỉnh có thể truy cập vào tất cả tài nguyên mà không bị hạn chế. Để bật các hạn chế về bảo mật khi cài đặt Edge dành cho Đám mây riêng tư, hãy làm theo quy trình dưới đây:
- Trên nút Trình xử lý thư đầu tiên, hãy mở tệp
$APIGEE_ROOT/customer/application/message-processor.properties
trong trình chỉnh sửa. Nếu tệp không tồn tại, hãy tạo tệp đó. - Thêm dòng sau vào tệp:
conf_security-policy_enable.security.manager=true
- Save the file and ensure the file is owned by the
apigee
user:chown apigee:apigee $APIGEE_ROOT/customer/application/message-processor.properties
- Khởi động lại Trình xử lý thư:
apigee-service message-processor restart
- Lặp lại các bước này trên tất cả các Bên xử lý tin nhắn còn lại.
Loại quyền | Tên mục tiêu hoặc hành động | Đã cấp quyền |
java.awt.AWTPermission | ||
accessClipboard | KHÔNG | |
accessEventQueue | KHÔNG | |
accessSystemTray | KHÔNG | |
createRobot | KHÔNG | |
fullScreenExclusive | KHÔNG | |
listenToAllAWTEvents | KHÔNG | |
readDisplayPixels | KHÔNG | |
replaceKeyboardFocusManager | KHÔNG | |
setAppletStub | KHÔNG | |
setWindowsAlwaysOnTop | KHÔNG | |
showWindowWithoutWarningBanner | KHÔNG | |
toolkitModality | KHÔNG | |
watchMousePointer | KHÔNG | |
java.io.FilePermission java.io.FilePermission biểu thị quyền truy cập vào một tệp hoặc thư mục. FilePermission bao gồm một tên đường dẫn và một tập hợp các thao tác hợp lệ với tên đường dẫn đó. |
đọc | CÓ nhưng có áp dụng quy định hạn chế. Hãy xem phần Các quy định hạn chế. |
ghi | KHÔNG | |
thực hiện | KHÔNG | |
xóa | KHÔNG | |
readLink | NÊN | |
java.io.SerializablePermission SerializablePermission chứa tên (còn được gọi là "tên mục tiêu") nhưng không danh sách hành động; bạn có quyền đã nêu hoặc không có quyền đó. |
enableSubclassImplementation | NÊN |
enableSubstitution | KHÔNG | |
java.lang.management.ManagementPermission Các phương thức được xác định trong giao diện quản lý dành cho nền tảng Java |
âm lượng | KHÔNG |
giám sát | KHÔNG | |
java.lang.reflect.ReflectPermission Đối với các phép toán phản chiếu. ReflectPermission là một quyền có tên và không có hành động |
suppressAccessChecks | KHÔNG |
newProxyInPackage.{package name} | KHÔNG | |
java.lang.RuntimePermission Chứa tên (còn được gọi là "tên mục tiêu") nhưng không chứa danh sách hành động; bạn có quyền đã nêu hoặc bạn không có. |
createClassLoader | KHÔNG |
getClassLoader | NÊN | |
setContextClassLoader | NÊN | |
enableContextClassLoaderOverride | NÊN | |
closeClassLoader | KHÔNG | |
setSecurityManager | KHÔNG | |
createSecurityManager | KHÔNG | |
getenv.{variable name} | KHÔNG | |
exitVM.{trạng thái thoát} | KHÔNG | |
shutdownHooks | KHÔNG | |
setFactory | KHÔNG | |
setIO | KHÔNG | |
modifyThread | NÊN | |
stopThread | NÊN | |
modifyThreadGroup | NÊN | |
getProtectionDomain | NÊN | |
getFileSystemAttributes | KHÔNG | |
readFileDescriptor | NÊN | |
writeFileDescriptor | KHÔNG | |
loadLibrary.{library name} | KHÔNG | |
accessClassInPackage. {tên gói} | NÊN | |
defineClassInPackage. {tên gói} | KHÔNG | |
accessDeclaredMembers | KHÔNG | |
queuePrintJob | KHÔNG | |
getStackTrace | KHÔNG | |
setDefaultUncaughtExceptionHandler | KHÔNG | |
tùy chọn | KHÔNG | |
usePolicy | KHÔNG | |
java.net.NetPermission NetPermission chứa tên nhưng không có danh sách hành động; bạn có quyền đã nêu hoặc không. |
setDefaultAuthenticator | KHÔNG |
requestPasswordAuthentication | KHÔNG | |
specifyStreamHandler | NÊN | |
setProxySelector | KHÔNG | |
getProxySelector | KHÔNG | |
setCookieHandler | KHÔNG | |
getCookieHandler | KHÔNG | |
setResponseCache | KHÔNG | |
getResponseCache | KHÔNG | |
getNetworkInformation | KHÔNG | |
java.net.SocketPermission Biểu thị quyền truy cập vào một mạng qua ổ cắm. SocketPermission bao gồm một ứng dụng lưu trữ và một tập hợp các "hành động" chỉ định cách kết nối với máy chủ đó. máy chủ lưu trữ = (tên máy chủ | IPaddress)[:portrange] cổng khoảng = số cổng | -portnumber | số cổng-[số cổng] Bạn có thể kết nối với máy chủ bằng các cách chấp nhận kết nối nghe phân giải Giai đoạn "lắng nghe" hành động chỉ có ý nghĩa khi được sử dụng với "localhost". Thao tác "giải quyết" (giải quyết hành động tra cứu dịch vụ tên máy chủ lưu trữ/ip) được ngụ ý khi bất kỳ hành động nào khác được hiện tại. |
phân giải | NÊN |
kết nối |
CÓ nhưng có áp dụng quy định hạn chế. Hãy xem phần Các quy định hạn chế. Apigee hạn chế quyền truy cập vào địa chỉ sitelocal, địa chỉ cục bộ, địa chỉ loopback và địa chỉ linklocal. |
|
hãy nghe, chấp nhận |
KHÔNG | |
java.net.URLPermission Biểu thị quyền truy cập vào một tài nguyên hoặc nhóm tài nguyên do một URL nhất định xác định, và cho một tập hợp phương thức yêu cầu có thể thiết lập của người dùng và tiêu đề của yêu cầu. Tên của quyền là chuỗi url. Chuỗi thao tác là một chuỗi nối các phương thức yêu cầu và tiêu đề. Phạm vi tên phương thức và tiêu đề không bị lớp này hạn chế. |
NÊN | |
LinkPermission Lớp Quyền cho hoạt động tạo đường liên kết. |
khó | KHÔNG |
tượng trưng | KHÔNG | |
java.security.SecurityPermission SecurityPermission chứa tên (còn được gọi là "tên mục tiêu") nhưng không có hành động nào danh sách; bạn có quyền đã nêu hoặc không có quyền đó. Tên mục tiêu là tên của một thông số cấu hình bảo mật (xem bên dưới). Hiện tại đối tượng SecurityPermission được dùng để bảo vệ quyền truy cập vào Chính sách, Bảo mật, Nhà cung cấp, Đối tượng Người ký và Đối tượng Nhận dạng. |
createAccessControlContext | KHÔNG |
getDomainCombiner | KHÔNG | |
getPolicy | KHÔNG | |
setPolicy | KHÔNG | |
createPolicy.{policy type} | KHÔNG | |
getProperty.{key} | KHÔNG | |
setProperty.{key} | KHÔNG | |
insertProvider | KHÔNG | |
removeProvider.{provider name} | KHÔNG | |
clearProviderProperties.{provider name} | KHÔNG | |
putProviderProperty.{provider name} | KHÔNG | |
removeProviderProperty.{provider name} | KHÔNG | |
SQLPermission | setLog | KHÔNG |
callAbort | KHÔNG | |
setSyncFactory | KHÔNG | |
setNetworkTimeout | KHÔNG | |
deregisterDriver | KHÔNG | |
java.util.logging.LoggingPermission SecurityManager sẽ kiểm tra đối tượng java.util.logging.LoggingPermission khi viết mã khi chạy bằng SecurityManager, sẽ gọi một trong các phương thức kiểm soát ghi nhật ký (chẳng hạn như Logger.setLevel). |
âm lượng | KHÔNG |
java.util.PropertyPermission Tên là tên của thuộc tính ("java.home", "os.name", v.v.). Quy ước đặt tên tuân theo quy ước đặt tên thuộc tính phân cấp. Ngoài ra, dấu hoa thị có thể xuất hiện ở cuối tên, theo sau "." hoặc độc lập để biểu thị một kết quả khớp với ký tự đại diện. Ví dụ: "java.*" hoặc "*" có hợp lệ, "*java" hoặc "a*b" không hợp lệ. Các thao tác cần cấp sẽ được chuyển đến hàm khởi tạo trong một chuỗi chứa danh sách 0 hoặc nhiều từ khoá được phân tách bằng dấu phẩy. |
đọc | NÊN |
ghi | KHÔNG | |
javax.xml.ws.WebServicePermission
|
publishEndpoint | KHÔNG |
javax.xml.bind.JAXBPermission | setDatatypeConverter | KHÔNG |
javax.sound.sampled.AudioPermission Quyền truy cập vào tài nguyên hệ thống âm thanh. |
phát | KHÔNG |
bản ghi | KHÔNG | |
javax.security.auth.PrivateCredentialPermission Bảo vệ quyền truy cập vào Chứng chỉ danh tính riêng tư của một Chủ thể cụ thể. Chủ đề là do một Nhóm Hiệu trưởng đại diện. Tên mục tiêu của Quyền này chỉ định một Tên lớp chứng chỉ và một Nhóm hiệu trưởng. Giá trị hợp lệ duy nhất cho Quyền này hành động là "đọc". |
Lớp thông tin xác thực {PrimaryClass "PrimaryName"}* | KHÔNG |
javax.security.auth.kerberos.ServicePermission Bảo vệ các dịch vụ Kerberos và thông tin đăng nhập cần thiết để truy cập các dịch vụ đó. |
bắt đầu | KHÔNG |
chấp nhận | KHÔNG | |
javax.security.auth.kerberos.DelegationPermission Dùng để hạn chế việc sử dụng mô hình uỷ quyền Kerberos; tức là có thể chuyển tiếp và có thể xử lý qua máy chủ proxy vé. Tên mục tiêu của Quyền này chỉ định một cặp chính dịch vụ kerberos. Chiến lược phát hành đĩa đơn trước tiên là người ủy quyền dịch vụ cấp dưới được uỷ thác sử dụng dịch vụ Cấp phiếu yêu cầu hỗ trợ Phiếu yêu cầu hỗ trợ (TGT). Đối tác chính dịch vụ thứ hai chỉ định dịch vụ mục tiêu mà thành viên trực thuộc Đối tượng chính của dịch vụ sẽ tương tác thay mặt cho KerberosPrimary khởi tạo. |
bắt đầu | KHÔNG |
chấp nhận | KHÔNG | |
javax.security.auth.AuthPermission Hiện tại, đối tượng AuthPermission được dùng để bảo vệ quyền truy cập vào Subject, Các đối tượng Subject DomainsKết hợp, Đăng nhậpContext và Cấu hình. |
doAs | KHÔNG |
doAsPrivileged | KHÔNG | |
nhận chủ đề | KHÔNG | |
getSubjectFromDomainCombiner | KHÔNG | |
setReadOnly | KHÔNG | |
modifyPrincipals | KHÔNG | |
modifyPublicCredentials | KHÔNG | |
modifyPrivateCredentials | KHÔNG | |
refreshCredential | KHÔNG | |
destroyCredential | KHÔNG | |
createLoginContext.{name} | KHÔNG | |
getLoginConfiguration | KHÔNG | |
setLoginConfiguration | KHÔNG | |
createLoginConfiguration.{configuration type} | KHÔNG | |
refreshLoginConfiguration | KHÔNG | |
javax.net.ssl.SSLPermission |
setHostnameVerifier | KHÔNG |
getSSLSessionContext | KHÔNG | |
setDefaultSSLContext | KHÔNG | |
javax.management.MBeanPermission Quyền kiểm soát quyền truy cập vào các hoạt động của MBeanServer. Nếu một trình quản lý bảo mật đã được đặt bằng cách sử dụng System.setSecurityManager(java.lang.SecurityManager), hầu hết các thao tác trên MBeanServer yêu cầu các quyền của phương thức gọi ngụ ý một MBeanPermission thích hợp cho phép toán. hành động className#member[objectName] Nếu bạn có MBeanPermission, quyền này chỉ cho phép các thao tác nếu cả bốn mục khớp. |
addNotificationListener | KHÔNG |
getAttributes | KHÔNG | |
getClassLoader | KHÔNG | |
getClassLoaderFor | KHÔNG | |
getClassLoaderRepository | KHÔNG | |
getDomains | KHÔNG | |
getMBeanInfo | KHÔNG | |
getObjectInstance | KHÔNG | |
tạo bản sao | KHÔNG | |
gọi | KHÔNG | |
isInstanceOf | KHÔNG | |
queryMBeans | KHÔNG | |
queryNames | KHÔNG | |
registerMBean | KHÔNG | |
removeNotificationListener | KHÔNG | |
setAttribute | KHÔNG | |
unregisterMBean | KHÔNG | |
javax.management.MBeanServerPermission |
createMBeanServer | KHÔNG |
findMBeanServer | KHÔNG | |
newMBeanServer | KHÔNG | |
releaseMBeanServer | KHÔNG | |
javax.management.MBeanTrustPermission Quyền này thể hiện sự "tin cậy" trong trình ký hoặc cơ sở mã. |
thanh ghi | KHÔNG |
* | KHÔNG | |
javax.management.remote.SubjectDelegationPermission
|
KHÔNG |