# 探索AWS:從菜鳥到熟練的完全指南(二):IAM 創建使用者 IAM (Identity and Access Management) 是 AWS(Amazon Web Services)的一項服務,用於管理和控制對 AWS 資源的身份驗證和授權。 # IAM介紹 IAM 提供了一個安全的方式來管理使用者、群組和角色,並控制它們對 AWS 資源的訪問權限。它允許根據需要創建和管理多個用戶帳號,並分配權限以限制用戶的操作範圍。 IAM 可新增以下幾種身分 1. Root: 是在創建 AWS 帳號時自動生成的特殊帳號,具有完全的權限和控制權。Root 帳號擁有對所有 AWS 資源進行任意操作的最高權限,因此建議不要將 Root 帳號與他人分享,以確保安全性。 2. Users: 使用者是通過 IAM 服務創建的單獨身分。您可以創建多個使用者,並為每個使用者分配特定的身份驗證憑證(如用戶名和密碼或訪問金鑰)。每個使用者可以獨立地管理和設定其權限。 3. Groups:群組是一個容器,可將多個使用者組織在一起。您可以將不同的使用者添加到同一個群組中,並在群組層級上管理和分配權限。這樣可以更有效地管理多個使用者的權限,確保一致的訪問控制。重要的是要記住,群組本身不能包含其他群組 每個身分類型(Root、使用者、群組)都可以根據需求設定不同的權限和訪問策略。Root 帳號擁有最高權限,可以訪問和控制所有 AWS 資源,而使用者和群組則可以透過權限策略來限制其訪問範圍和操作權限。 需要注意的是,為了確保安全性,建議盡量避免直接使用 Root 帳號進行日常操作,而是創建並使用特定的使用者帳號,並為其分配適當的權限。這樣可以實現更細粒度的訪問控制和風險管理。  # IAM功能 以下是 IAM 的主要功能: 1. 身份驗證和授權:IAM 允許您管理 AWS 資源的身份驗證和授權。您可以創建和管理使用者,並為每個使用者分配一組安全憑證(如用戶名和密碼或訪問金鑰)。通過 IAM,您可以確保只有授權的用戶可以訪問您的 AWS 資源。 2. 用戶和群組管理:IAM 允許您創建和管理用戶帳號,並將用戶分組為群組。這使得您可以更好地組織和管理您的用戶,並為整個群組分配和管理權限。這樣,您可以通過將用戶添加到特定的群組中來方便地管理其權限。 3. 角色管理:IAM 允許您創建和管理角色。角色是一種用於向 AWS 資源授予臨時訪問權限的安全機制。您可以為不同的身份(如 EC2 實例、AWS Lambda 函數等)創建角色,並將角色與所需的權限策略關聯。這樣,這些身份可以在需要時獲得所需的權限,而無需獲得自己的安全憑證。 4. 權限管理:IAM 具有細粒度的權限管理功能,允許您根據需要控制和限制用戶對 AWS 資源的訪問權限。您可以通過為每個用戶或群組分配特定的權限策略來實現這一點。這使您能夠根據不同的角色和責任,精確控制和管理用戶的權限。 <br></br> # 新增使用者 ## 1.進入IAM使用者頁面  於搜尋欄搜尋IAM 並點擊 側邊可選擇點擊 使用者 在點擊新增使用者<br></br> ## 2.創建使用者  當使用者為自己(但不希望使用root權限) 可以勾選紅色的部分 但若是開給其他人 推薦使用另外一個選項,讓使用者有一個預設密碼 在登入後自行修改<br></br> ## 3.創建群組  按下一步 可以決定是否要將使用者加入群組 但首先要建立群組 按下建立群組  新增名稱為 admin的群組 並選擇 administratorAccess的權限 - AdministratorAccess提供了完整的管理權限,使持有這個權限的使用者或角色能夠對 AWS 資源進行任何操作 按下建立使用者群組及創建完成<br></br> ## 4.設定許可  選擇剛創建的群組 就會套用群組的權限<br></br> ## 5.設定標籤  自行設定使用者標籤 可以辨別不同的使用者 是一個方便理解目前使用者定位的方式<br></br> ## 6.完成使用者創建  創建完畢後 可以選擇寄送信件詳細資訊給這個使用者 或是下載csv檔案 記錄下來後就可以返回清單 <br></br> 7.切換使用者  回到儀錶板 AWS帳戶區有此帳戶的資訊 帳戶別名可自行更改,方便辨識就好 開啟不同的瀏覽器 複製URL再分頁貼上(若用相同瀏覽器會被登出)  會自動帶入帳戶資訊 輸入剛才設定的帳號密碼即可登入 <br></br> # Policies 結構 IAM policies 的結構事由json格式構成,以下舉例並說明 ```json { "Version": "2012-10-17", "Id": "PolicyID123", "Statement": [ { "Sid": "StatementID123", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::1234567890:user/username" }, "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::example-bucket/*" ], "Condition": { "IpAddress": { "aws:SourceIp": "192.168.0.0/24" } } } ] } ``` IAM Policies 的結構包含以下內容: 1. Version(版本):指定 IAM 策略語言的版本,通常應設定為 "2012-10-17"。 2. Id(識別符):策略的識別符,是可選的欄位,用於識別該策略。 3. Statement(語句):一個或多個獨立的語句,它們組成策略的主要內容,是必填的欄位。 每個 Statement 包含以下內容: - Sid(語句識別符):該語句的識別符,是可選的欄位,用於識別該語句。 - Effect(效果):指定該語句是允許還是拒絕訪問。可以是 "Allow"(允許)或 "Deny"(拒絕)。 - Principal(主體):指定該策略應用於的帳號、使用者或角色。 - Action(操作):列出該策略允許或拒絕的操作。操作可以是 AWS 服務的 API 操作或其他特定的操作。 - Resource(資源):列出該策略操作所涉及的資源。資源可以是 AWS 資源的 ARN(Amazon Resource Name)或其他特定的資源標識符。 - Condition(條件):指定在哪些條件下該策略生效。這是可選的欄位,用於進一步細化策略的應用範圍。 在這個範例中,這個策略允許特定使用者(ARN 為 **`arn:aws:iam::1234567890:user/username`**)對指定 S3 存儲桶(ARN 為 **`arn:aws:s3:::example-bucket/*`**)進行 **`GetObject`** 和 **`PutObject`** 的操作。同時,設定了一個條件,只有當請求的來源 IP 為 **`192.168.0.0/24`** 時,該策略才生效。 ###### 標籤: `AWS` `IAM` `新手教學`
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.