# 探索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
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up