612
阿裏雲
Java沙箱__MapReduce_大數據計算服務-阿裏雲
MaxCompute MapReduce及UDF程序在分布式環境中運行時受到Java沙箱的限製(MapReduce作業的主程序則不受此限製),具體限製如下:
- 不允許直接訪問本地文件,隻能通過 MaxCompute MapReduce/Graph提供的接口間接訪問: 讀取- -resources選項指定的資源,包括文件、Jar包和資源表等; 通過System.out和System.err輸出日誌信息,可以通過ODPS客戶端的 Log 命令查看日誌信息;
- 不允許直接訪問分布式文件係統,隻能透過ODPS MapReduce/Graph訪問到表的記錄:
- 不允許JNI調用限製;
- 不允許創建Java線程,不允許起子進程執行Linux命令;
- 不允許訪問網絡,包括獲取本地IP地址等等都會被禁止;
- Java反射限製,”suppressAccessChecks”權限被禁止,無法setAccessible某個private的屬性或方法,以達到讀取private屬性或調用private方法的目的。
具體的說,在用戶代碼中直接使用下麵這些方法會拋”access denied”異常:
訪問本地文件相關方法
java.io.File:
public boolean delete()
public void deleteOnExit()
public boolean exists()
public boolean canRead()
public boolean isFile()
public boolean isDirectory()
public boolean isHidden()
public long lastModified()
public long length()
public String[] list()
public String[] list(FilenameFilter filter)
public File[] listFiles()
public File[] listFiles(FilenameFilter filter)
public File[] listFiles(FileFilter filter)
public boolean canWrite()
public boolean createNewFile()
public static File createTempFile(String prefix, String suffix)
public static File createTempFile(String prefix, String suffix,File directory)
public boolean mkdir()
public boolean mkdirs()
public boolean renameTo(File dest)
public boolean setLastModified(long time)
public boolean setReadOnly()
java.io.RandomAccessFile:
RandomAccessFile(String name, String mode)
RandomAccessFile(File file, String mode)
java.io.FileInputStream:
FileInputStream(FileDescriptor fdObj)
FileInputStream(String name)
FileInputStream(File file)
java.io.FileOutputStream:
FileOutputStream(FileDescriptor fdObj)
FileOutputStream(File file)
FileOutputStream(String name)
FileOutputStream(String name, boolean append)
java.lang.Class:
public ProtectionDomain getProtectionDomain()
java.lang.ClassLoader:
ClassLoader()
ClassLoader(ClassLoader parent)
java.lang.Runtime:
public Process exec(String command)
public Process exec(String command, String envp[])
public Process exec(String cmdarray[])
public Process exec(String cmdarray[], String envp[])
public void exit(int status)
public static void runFinalizersOnExit(boolean value)
public void addShutdownHook(Thread hook)
public boolean removeShutdownHook(Thread hook)
public void load(String lib)
public void loadLibrary(String lib)
java.lang.System:
public static void exit(int status)
public static void runFinalizersOnExit(boolean value)
public static void load(String filename)
public static void loadLibrary( String libname)
public static Properties getProperties()
public static void setProperties(Properties props)
public static String getProperty(String key) // 隻允許部分key可以訪問
public static String getProperty(String key, String def) // 隻允許部分key可以訪問
public static String setProperty(String key, String value)
public static void setIn(InputStream in)
public static void setOut(PrintStream out)
public static void setErr(PrintStream err)
public static synchronized void setSecurityManager(SecurityManager s)
System.getProperty允許的key列表如下:
java.version
java.vendor
java.vendor.url
java.class.version
os.name
os.version
os.arch
file.separator
path.separator
line.separator
java.specification.version
java.specification.vendor
java.specification.name
java.vm.specification.version
java.vm.specification.vendor
java.vm.specification.name
java.vm.version
java.vm.vendor
java.vm.name
file.encoding
user.timezone
java.lang.Thread:
Thread()
Thread(Runnable target)
Thread(String name)
Thread(Runnable target, String name)
Thread(ThreadGroup group, ...)
public final void checkAccess()
public void interrupt()
public final void suspend()
public final void resume()
public final void setPriority (int newPriority)
public final void setName(String name)
public final void setDaemon(boolean on)
public final void stop()
public final synchronized void stop(Throwable obj)
public static int enumerate(Thread tarray[])
public void setContextClassLoader(ClassLoader cl)
java.lang.ThreadGroup:
ThreadGroup(String name)
ThreadGroup(ThreadGroup parent, String name)
public final void checkAccess()
public int enumerate(Thread list[])
public int enumerate(Thread list[], boolean recurse)
public int enumerate(ThreadGroup list[])
public int enumerate(ThreadGroup list[], boolean recurse)
public final ThreadGroup getParent()
public final void setDaemon(boolean daemon)
public final void setMaxPriority(int pri)
public final void suspend()
public final void resume()
public final void destroy()
public final void interrupt()
public final void stop()
java.lang.reflect.AccessibleObject:
public static void setAccessible(...)
public void setAccessible(...)
java.net.InetAddress:
public String getHostName()
public static InetAddress[] getAllByName(String host)
public static InetAddress getLocalHost()
java.net.DatagramSocket:
public InetAddress getLocalAddress()
java.net.Socket:
Socket(...)
java.net.ServerSocket:
ServerSocket(...)
public Socket accept()
protected final void implAccept(Socket s)
public static synchronized void setSocketFactory(...)
public static synchronized void setSocketImplFactory(...)
java.net.DatagramSocket:
DatagramSocket(...)
public synchronized void receive(DatagramPacket p)
java.net.MulticastSocket:
MulticastSocket(...)
java.net.URL:
URL(...)
public static synchronized void setURLStreamHandlerFactory(...)
java.net.URLConnection
public static synchronized void setContentHandlerFactory(...)
public static void setFileNameMap(FileNameMap map)
java.net.HttpURLConnection:
public static void setFollowRedirects(boolean set)
java.net.URLClassLoader
URLClassLoader(...)
java.security.AccessControlContext:
public AccessControlContext(AccessControlContext acc, DomainCombiner combiner)
public DomainCombiner getDomainCombiner()
最後更新:2016-06-22 13:00:14
上一篇:
本地運行__功能介紹_MapReduce_大數據計算服務-阿裏雲
下一篇:
WordCount示例__示例程序_MapReduce_大數據計算服務-阿裏雲
產品概要__產品簡介_雲服務總線 CSB-阿裏雲
創建子賬號__子賬號訪問IoT_控製台使用手冊_阿裏雲物聯網套件-阿裏雲
AccessPointSetType__數據類型_API 參考_雲服務器 ECS-阿裏雲
欠費續費__購買指導_證書服務-阿裏雲
NextHopListType__數據類型_API 參考_雲服務器 ECS-阿裏雲
大數據計算服務__數加產品概覽_數加平台介紹-阿裏雲
如何修改域名聯係人的信息?__域名注冊信息修改_管理操作_域名-阿裏雲
全國各省經營性備案網站鏈接__公安&經營性備案_常見問題_備案-阿裏雲
快速指引__DataHub實時數據通道_大數據計算服務-阿裏雲
創建堆棧__堆棧相關接口_API 文檔_資源編排-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲