原創|行業資訊|編輯:胡濤|2023-12-05 10:04:48.933|閱讀 120 次
概述:在本文中,我們將探討什么是 AWS Identity and Access Management (IAM) 以及它如何增強安全性
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
駕馭云服務的安全環境可能很復雜,但 AWS IAM 為安全訪問管理提供了強大的框架。在本文中,我們將探討什么是 AWS Identity and Access Management (IAM) 以及它如何增強安全性。我們還將提供有關使用 IAM 連接到 Amazon Relational Database Service (RDS) 進行數據庫身份驗證的分步指南,確保您的數據庫交互既安全又簡化。
dbForge Studio for MySQL是一款專業的數據庫管理、開發軟件,它能夠使MySQL開發人員和管理人員在一個方便的環境中與他人一起完成創建和執行查詢,開發和調試MySQL程序,自動化管理MySQL數據庫對象等工作。 在本文中,我們將使用該工具進行演示~
1.什么是 IAM? AWS IAM 的優勢
1.1AWS IAM 的工作原理
1.2AWS IAM 的組件
1.3身份管理的特點
1.4MariaDB、MySQL 和 PostgreSQL 的 IAM 身份驗證的限制
2.如何設置 IAM 數據庫身份驗證
2.1在 Amazon RDS 中創建 MySQL 數據庫實例
2.1.1在數據庫上啟用 IAM DB 身份驗證
2.1.2創建使用 AWS 身份驗證令牌的數據庫用戶帳戶
2.2 創建 IAM 策略
2.3 創建 IAM 角色
3.如何使用 dbForge Studio for MySQL 連接到 AWS RDS
3.1步驟 1:生成 IAM 身份驗證令牌以識別 IAM 角色
3.2步驟 2:使用 dbForge Studio for MySQL 連接到 AWS RDS 實例
4.概括
IAM(即身份和訪問管理)是 Amazon Web Services (AWS) 提供的一項 Web 服務,可幫助您安全地控制對 AWS 資源的訪問。它允許您管理用戶、安全憑證(例如訪問密鑰)以及控制用戶和應用程序可以訪問哪些 AWS 資源的權限。
簡而言之,IAM 身份驗證通過身份驗證令牌啟用數據庫連接,該身份驗證令牌是使用與特定角色或用戶關聯的 IAM 策略生成的。身份驗證令牌的有效期為 15 分鐘。
IAM 對于管理 AWS 環境的安全性至關重要。它允許對誰可以訪問哪些資源、在什么條件下以及使用什么權限進行精細控制。這不僅對于安全的系統架構很重要,而且對于遵守法規要求也很重要。IAM 服務免費提供,并在您的整個 AWS 賬戶中實施。AWS IAM 的其他優勢包括:
IAM 提供控制 AWS 賬戶的身份驗證和授權所需的基礎設施。
最初,當個人或應用程序嘗試訪問 AWS 時,他們需要通過提供登錄詳細信息來證明自己的身份。此步驟稱為身份驗證,涉及根據 AWS 識別的身份驗證憑證,例如 IAM 用戶、IAM 角色、來自外部身份提供商的聯合用戶或使用 AWS 安全憑證配置的應用程序。
身份驗證成功后,實體會尋求使用 AWS 資源的許可。這就是授權發揮作用的地方。在這個過程中,AWS 評估是否以及如何允許經過身份驗證的身份與特定服務或資源進行交互。例如,登錄 AWS 管理控制臺后,您不會立即與任何 AWS 服務交互。但是,一旦您導航到特定服務,授權檢查就會根據適用的策略確定您的身份是否具有使用該服務所需的權限。這些授權請求可以由您的 AWS 賬戶內的委托人或您信任的其他 AWS 賬戶發出。
一旦授權得到確認,該身份就可以在AWS環境中執行各種任務。這些任務的范圍可能包括在 Amazon EC2 中啟動實例、調整 IAM 組配置以及管理 S3 存儲桶的生命周期,具體取決于授予的權限。
AWS Identity and Access Management (IAM) 由多個關鍵組件組成,這些組件協同工作以安全地管理對 AWS 服務和資源的訪問。AWS IAM 的關鍵組件包括:
IAM用戶
用戶是在 IAM 中創建的個人身份,每個身份都有其獨特的一組憑證。這些憑證可用于在與 AWS 服務交互時對真人或應用程序進行身份驗證。每個用戶都可以被授予特定的權限來控制他們可以在 AWS 中執行哪些操作。這種粒度確保每個用戶都按照最小權限原則進行操作,僅訪問其角色所需的資源。
IAM 組
組作為用戶的集合,簡化了權限分配過程。您可以創建一個組,向該組應用必要的權限,然后添加用戶,而不是單獨將策略附加到每個用戶。分配給組的任何權限都會自動應用于該組內的所有用戶。這不僅簡化了用戶權限的管理,而且還可以更輕松地同時更新多個用戶的權限。
IAM 角色
IAM 中的角色旨在委派特定任務的權限。與用戶不同,角色沒有一組永久的憑據。相反,角色提供可由受信任實體(例如 AWS 服務、應用程序或來自不同 AWS 賬戶的用戶)承擔的臨時安全憑證。當應用程序需要代表您在 AWS 中執行操作或當您需要臨時向其他 AWS 賬戶的用戶授予訪問權限時,這特別有用。
IAM 政策
策略是定義 IAM 內權限的文檔。這些文檔以 JSON 編寫,指定用戶、組或角色允許或拒絕的操作。可以微調策略來控制對特定 AWS 服務或資源的訪問,并且可以包括何時以及如何應用權限的條件。這種詳細的控制級別對于保護資源和確保用戶只能執行履行其工作職責所需的操作至關重要。
連接限制:如果您的應用程序每秒需要超過 200 個新連接,則 IAM 數據庫身份驗證可能不適合。
身份驗證令牌大小注意事項:IAM 數據庫身份驗證令牌的大小受多種因素影響,包括 IAM 標簽的數量、IAM 服務策略的具體情況、ARN(Amazon 資源名稱)的長度以及其他相關的 IAM 和數據庫屬性。雖然此令牌的最小大小通常約為 1 KB,但根據這些因素,它可能會更大。驗證您的數據庫驅動程序(例如 ODBC)和您使用的任何工具是否可以不受限制地處理令牌的大小非常重要。如果令牌被截斷,它將使其對于身份驗證過程無效,因為數據庫和 IAM 將無法驗證它。
SSL/TLS 要求:IAM 數據庫身份驗證需要與數據庫的 SSL 連接。您必須確保您的數據庫連接配置為使用 SSL,否則身份驗證過程將失敗。
PostgreSQL 中的身份驗證優先級:對于運行 PostgreSQL 的實例,如果rds_iam角色與用戶(包括 RDS 主用戶)關聯,則 IAM 身份驗證將優先于密碼身份驗證。因此,該用戶必須作為 IAM 用戶進行身份驗證。這意味著一旦為用戶啟用 IAM 身份驗證,您必須使用 IAM 方法登錄,因為密碼驗證將不再適用于該用戶。
IAM 和 Kerberos 身份驗證的排他性:在 Amazon RDS for PostgreSQL 上,存在阻止同時使用 IAM 和 Kerberos 身份驗證方法的限制。如果啟用 IAM 身份驗證,則無法使用 Kerberos,反之亦然。這種排他性要求在為 PostgreSQL 配置 RDS 實例時在兩種身份驗證方法之間進行選擇。
IAM 身份驗證和復制:對于 Amazon RDS 上的 PostgreSQL,IAM 身份驗證無法用于建立復制連接。這意味著,對于任何需要數據庫復制的操作,您將需要依靠傳統的密碼身份驗證或其他支持的方法(而不是 IAM)來設置和管理復制流程。
區域可用性:IAM 數據庫身份驗證僅在某些 AWS 區域可用,因此您需要確保部署 RDS 實例的區域支持它。
AWS RDS 版本:僅與 AWS RDS 平臺兼容的特定 MySQL 版本支持 IAM 身份驗證。您需要驗證您的 MySQL 版本是否支持 IAM 身份驗證。
2.1創建 IAM 數據庫
首先,登錄 AWS 管理控制臺。然后導航到 RDS 儀表板,選擇要在其中創建數據庫的 AWS 區域,然后單擊創建數據庫。
或者,您可以從“數據庫”部分創建數據庫。
將打開“創建 數據庫” 頁面。單擊“輕松創建” ,然后在 “配置”中選擇 “MySQL”。
接下來,對于 數據庫實例大小,選擇免費層。對于 數據庫實例標識符,輸入所需的數據庫標識符。對于 Master username,輸入主用戶的名稱,或保留默認名稱。
要讓數據庫自動創建主密碼,請選擇自動生成密碼選項。如果您希望設置自己的主密碼,請確保未選擇“自動生成密碼”選項,然后在“主密碼”和“確認主密碼”字段中輸入您選擇的密碼。
完成后,單擊創建數據庫。新創建的數據庫將出現在數據庫列表中。請注意,新數據庫最多可能需要 20 分鐘才能可用。
要了解有關如何在 Amazon RDS 上部署 MySQL 數據庫實例的更多信息,請參閱。
2.1.1在數據庫上啟用 IAM DB 身份驗證
現在我們已經創建了一個新數據庫,我們需要在其上啟用 IAM 數據庫身份驗證。
4.將打開“修改數據庫實例”頁面。向下滾動到數據庫身份驗證部分,然后單擊選擇密碼和 IAM 數據庫身份驗證。
2.1.2創建使用 AWS 身份驗證令牌的數據庫用戶帳戶
運行以下 SQL 命令來創建使用 AWS IAM 身份驗證令牌的新用戶。
CREATE USER 'new_user'@'%' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
替換new_user為您想要的用戶名。
2.2創建 IAM 策略
現在,您需要創建一個將數據庫用戶映射到 IAM 角色的 IAM 策略。為此,請導航至身份和訪問管理 (IAM)。然后,在導航窗格中選擇策略并單擊創建策略。
將打開“創建 策略”頁面。轉到JSON選項卡以輸入策略。
上圖中顯示的策略示例包含單個語句,其結構如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rds-db:connect", "Resource": "arn:aws:rds-db:region:account-id:dbuser:db-instance-identifier/database-username" } ] }
它由以下元素組成:
作用:指定Allow授予對數據庫的訪問權限。如果未明確指定訪問,則默認情況下會拒絕訪問。
操作:指定允許連接到數據庫。rds-db:connect
資源:定義唯一標識特定數據庫上的單個數據庫賬戶的 Amazon 資源名稱 (ARN)。
region將、、和替換為您的實際 AWS 區域、您的 AWS 賬戶 ID、您的 RDS 實例標識符以及您想要映射到 IAM 角色的數據庫用戶名。account-iddb-instance-identifierdatabase-username
完成后,單擊“下一步”。
在下一頁上,為您的策略指定一個有意義的名稱和描述。然后,單擊“創建策略”進行保存。
由于本文篇幅較長,繼續瀏覽,請跳轉至下一章,《什么是 AWS IAM?如何使用 IAM 數據庫身份驗證連接到 Amazon RDS(下)》也歡迎加入下方數據庫交流群
數據庫管理工具交流群:765665608 歡迎進群交流討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn