谷歌釋出Compute Engine安全新特性:資源級別的IAM和IAM條件
Google ofollow,noindex" target="_blank">宣佈 推出新的Cloud Identity和Access Management(IAM)特性,幫助客戶更好地管理Google Compute Engine中的安全和訪問控制。這些特性包括 資源級別的IAM ,在各個資源(例如VM例項和磁碟)上設定策略,以及基於預定義條件(例如資源名稱字首和原始請求屬性,如IP或裝置)授予訪問許可權的 IAM條件 。
在舊金山舉行的 Next Next 2018大會 上,Google推出了Compute Engine資源級IAM,允許使用者在虛擬機器、磁碟、映象和其他Compute Engine資源上應用IAM策略,從而提供更多靈活性和細粒度的環境控制。除了資源級IAM之外,使用者還可以使用條件在資源級策略上表達和實現上下文感知訪問。這些IAM條件提供了三個條件屬性:名稱字首屬性、訪問級別屬性和日期/時間屬性。通過設定屬性,使用者可以增加管理訪問控制的靈活性。
有了Compute Engine資源級IAM,使用者可以在組織、資料夾或專案級別應用策略。此外,這些策略由以下級別繼承,為使用者提供有效且高效的授予許可權的能力。
使用者可以通過命令列語句設定Compute Engine資源級IAM策略,例如:
gcloud beta images set-iam-policy betaTestImage1 betaImagePolicy.json
betaImagePolicy.json檔案包含了特定角色的特定組的策略定義。
{ "policy": "bindings": [ { "members": [ "group:[email protected]", ], "role": "roles/compute.imageUser" }, ], }
有了這些策略定義,使用者可以控制哪些使用者可以訪問哪些Compute Engine 資源。使用者可以在Compute Engine資源級IAM策略中設定名稱字首、訪問級別和日期/時間屬性。使用者可以在IAM策略中指定名稱字首屬性,並且只在資源名稱與資源名稱字首匹配時才應用這個策略。此外,通過使用名稱字首匹配,使用者可以減少授予的訪問範圍。使用者通過條件在策略定義檔案中指定名稱字首屬性。
{ "policy": { "bindings": [ { "role": "roles/compute.instanceAdmin.v1", "members": [ "user:[email protected]", ] "condition": { "title": "dev1 prefix", "description": "Role granted only for instances and disks with Name Prefix dev1", "expression": "(resource.type=="compute.instances"&& resource.name.startsWith("projects/[PROJECT_NAME]/zones/[ZONE_NAME]/instances/dev1"))||(resource.type=="compute.disks"&&resource.name.startsWith("projects/[PROJECT_NAME]/zones/[ZONE_NAME]/disks/dev1"))" } } } }
有了訪問級別的屬性,使用者可以確保請求滿足基於請求原始屬性(例如IP地址或裝置狀態)授權的特定訪問級別。根據部落格的公告:
有了訪問級別的屬性,你可以表達這樣的條件:“僅當源VM例項執行公司最新發布的作業系統映象時才從服務帳戶授予請求”或“僅在操作例項狀態的遠端請求是源自企業VPN時才授予許可權”。
最後,日期/時間屬性允許使用者新增開始和結束日期以及IAM策略時間。例如,為了遵循 最低許可權 企業原則,允許輪班待命團隊成員作為例項管理員執行操作,但許可權被限制在待命期間,防止意外操作。
Compute Engine資源級IAM特性測試版可通過 API 、 CLI 和 Developer Console 獲得。此外,IAM條件特性提供了 私有測試版 。
檢視英文原文 : Google Release New Security Features for Compute Engine: Resource-Level IAM and IAM Conditions