2010-04-09 41 views
3

我需要一個App Engine應用程序交談,並與外部數據庫共享數據,Google App Engine數據存儲和外部數據庫的最佳選擇?

我能想出的外部數據庫中的數據輸出到一個XML文件,然後處理這個在我的應用程序引擎的最佳選擇應用程序並將其存儲在數據存儲區內

雖然共享的數據是敏感數據,例如登錄詳細信息,因此將其輸出到xml文件並不是一個好主意,應用程序引擎應用程序是否可以直接查詢數據庫?或者是否有使用xml文件的安全選項?

OH和使用python/Django和外部數據庫IM將在另一個網站下託管的

回答

6

Google Apps的Secure Data Connector(SDC)專爲這類任務而設計 - 事實上,當「其他數據庫」位於防火牆(企業數據的常見案例)和其他Google Apps(文檔,電子表格...)以及App Engine。

由於the docs總結的東西,流量:

  1. 谷歌Apps的轉發授權數據從不到 誰是谷歌Apps域到谷歌 隧道協議服務器的用戶 請求。

  2. 隧道服務器驗證 用戶被授權向指定資源發出 請求。 Google隧道服務器通過加密隧道連接到 SDC,其中 在公司的內部 網絡中運行。

  3. 隧道協議允許SDC到 連接到谷歌隧道服務器, 身份驗證和加密跨因特網流動的數據 。

  4. 如果用戶有權向指定資源發出 請求,SDC將使用資源規則驗證 。

  5. 可選內聯網防火牆可以是 用於提供額外的網絡安全性 。

  6. SDC執行網絡請求到 指定的資源或服務。

  7. 的服務驗證簽名 請求,檢查的憑據, 如果用戶被授權,則返回 的數據。

如果你不擔心防火牆,並沒有安全無憂任何,你可以只使用urlfetch直接(無隧道簡化的東西(如丹尼爾的回答暗示),無驗證,無加密,沒有過濾,......) - 但您擔心「共享的數據是敏感數據,例如登錄詳細信息」,這表明事實並非如此。

這不是XML與其他格式相關的問題 - 問題在於敏感數據不應該在未受保護的渠道中「清晰地」傳播,也不適用於所有和各種各樣的應用程序,並且通常需要專門的基礎架構處理加密,過濾和授權問題,正如SDC所做的那樣,而不是在您自己的應用程序或專用基礎架構中間件中編寫所有這些代碼(並使其完全安全並鎖定)。出於這些目的,即使您只需要其功能的一小部分,SDC也會非常有幫助。

+2

還應該注意的是,您需要Google企業應用專業版或教育版才能使用SDC。 – Franck 2010-04-11 21:54:14

3

你可能要考慮對您的數據庫託管在外部域曝光了一組Web服務,然後使用App Engine的URL Fetch API通過HTTPS與您的外部域進行通信。

相關問題