0

我的任务是创建一个系统来存储员工为人力资源部门的文书工作。我们深深植根于Google文档平台(我们的所有文档都是通过Google Apps进行制作和提供的),并且我已经在基于Google Apps脚本构建的时钟程序在Google内部网站上运行,并从Google表格中获取数据。但是,这项新任务将包含更多敏感数据,这些数据应以加密方式存储,并在使用两个因子认证之后提供。针对敏感数据的Google Apps脚本安全注意事项

TL; DR:我需要帮助来创建一个系统,以加密的方式为网页提供服务,并在Google Docs Ecosystem中使用双因素身份验证。

下面是一些伪代码,我认为可能帮助描述我所期待的:

CODE.GS

//CONSTANT VARIABLES 
 
var adminList = ['[email protected]', 
 
       '[email protected]', 
 
       '[email protected]']; 
 

 
function doGet() { 
 
    var htmlTemplate = HtmlService.createTemplateFromFile('Login_Prompt'); 
 
    var htmlOutput = htmlTemplate.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME).setTitle('Login to HR Module'); 
 
    return htmlOutput; 
 
} 
 

 
function processLogin(username) 
 
{ 
 
    if(adminList.indexOf(username) > -1) 
 
    { 
 
    var htmlTemplate = HtmlService.createTemplateFromFile('Admin_Page'); 
 
    var htmlOutput = htmlTemplate.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME).setTitle('HR Management Module'); 
 
    return htmlOutput; 
 
    } 
 
    
 
    else 
 
    { 
 
    var htmlTemplate = HtmlService.createTemplateFromFile('User Page'); 
 
    var htmlOutput = htmlTemplate.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME).setTitle('Employee Profile'); 
 
    return htmlOutput; 
 
    
 
    } 
 
}

登录,Prompt.HTML

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    <base target="_top"> 
 
    </head> 
 
    <body> 
 
    <h4>HR Management Console</h4> 
 
    <p>Please log into this system using your Google Account Credentials</p> 
 
    <form> 
 
    Username: <input type="text" size = "6"> 
 
    Password: <input type="password" size = "4"> 
 
    <button>Submit</button> 
 
    </form> 
 
    </body> 
 
</html>

User_Page.html

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    <base target="_top"> 
 
    </head> 
 
    <body> 
 
    <h4> Welcome, User!</h4> 
 
    <h5>Profile</h5> 
 
    <ul> 
 
     <li>Sensitive information 1</li> 
 
     <li>Sensitive information 2</li> 
 
     <li>Sensitive information 3</li> 
 
     <li>Sensitive information 4</li> 
 
    </ul> 
 
    <button>Update your profile</button> 
 
    <!-Open Form to access and edit personal data-> 
 
    
 
    <h5> Documents</h5> 
 
    <ul> 
 
    <li>Document 1</li> 
 
    <li>Document 2</li> 
 
    <li>Document 3</li> 
 
    <li>Document 4</li> 
 
    </ul> 
 
    <button>upload a document</button> 
 
    <!-Open Form to upload HR Documents-> 
 
    
 
    </body> 
 
</html>

Admin_Page.html

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    <base target="_top"> 
 
    </head> 
 
    <body> 
 
    <p>Welcome, Manager!</p> 
 
    <p>Users:</p> 
 
    <ul> 
 
     <li>LastName, FirstName 1 <button>Edit</button></li> 
 
     <li>LastName, FirstName 2 <button>Edit</button></li> 
 
     <li>LastName, FirstName 3 <button>Edit</button></li> 
 
    </ul> 
 
    </body> 
 
</html>

如何在此过程中实现加密和双因素身份验证。这是否可以在使用Google Apps Script的Google文档生态系统中执行?

+0

你可以在谷歌驱动器中有一个truecrypt/veracrypt容器。存储文件。用户可以下载容器,但需要另一个密码才能打开它。 –

+0

存储的数据是什么? Google文档?片?形式?文本文件?数据库?如果数据是以文档,工作表或表单形式存储的,那么当数据首次保存时,数据将以Google使用的任何方式保存。你不能打断那个过程。因此,从客户端到服务器的数据传输“就是这样。”或者,如果数据输入到您控制的Web应用程序中,则可以控制数据是否从用户计算机另外**加密到服务器。 Google有一个[两步验证系统](https://www.google.com/landing/2step/#tab=how-it-works) –

回答

0

我认为我们将使用SSL证书在云端SQL中托管MySQL数据库。只要SSL线路完好无损,我认为Google Appscript的嵌入式安全措施对我们来说应该足够了。感谢所有帮助我们思考这个问题!