問題是:作為第三方,我是否可以將我的軟體部署到客戶的 AWS 帳戶中,並且不允許他們存取需要為其配置的資源?例如,我可以配置一定數量的 EC2 執行個體但不允許它們進行任何存取嗎?
產生這個問題的原因是希望透過客戶易於閱讀的原始碼來保護我們的智慧財產權不被洩露。因此,除了授權協議之外,智慧財產權也有可能受到損害,這在企業生命週期的現階段可能會造成很大的商業損害。
我一直在尋找有關相關主題以及 AWS 文件的問題,但說實話,我沒有看到明確的前進方向。
任何想法將不勝感激。
答案1
不可以,AWS 帳戶的管理員擁有完全存取權限。即使他們使用 IAM 授予您對該帳戶的唯一存取權限,他們也可以隨時撤銷該存取權限。
我假設您的程式碼是使用 PHP 等語言編寫的?您可以嘗試使用混淆器,這可以提供一些保護,但作用不大。您可以嘗試某種轉換,將 PHP 更改為可以編譯的語言。
最好的解決方案可能是將您的產品作為 SAAS 提供。
答案2
當您透過 AMI 提供第三方服務時,您不必保持帳戶配置完好無損。這意味著除非您告訴他們 SSH 或 RDP 詳細信息,否則訪問 EC2 執行個體可能會有些困難。我之前從第 3 方租用了一項服務,並且沒有向該盒子提供任何 ssh 或 rdp 憑證,並且只能透過 Web 介面管理該盒子。
如果您以前沒有遇到過,AWS Marketplace 的設計目的是允許第3 方軟體在您的AWS 帳戶上運行,並且AWS 內建了對第3 方的一些保護措施,例如防止用戶將EBS 卷與官方的EBS捲分離。
遺憾的是,如果您想使用 AWS Marketplace,則需要允許使用者存取以執行作業系統層級的管理。我不知道這實際上延伸到什麼程度,但是,您需要鎖定 root/admin 帳戶,並允許透過普通使用者存取。也許對該用戶進行 chroot 可以提供一些程式碼保護。
一些專業的安全軟體就是一個很好的例子: https://aws.amazon.com/marketplace/pp/B01CEYZ5S6
您也可以使用 AWS 市場向 AWS 使用者收取 SaaS 費用。