# 探索AWS:從菜鳥到熟練的完全指南(四)IAM 登入方式 ###### `AWS` `新手教學` `iam` 要訪問 AWS,有以下三種選擇: 1. AWS 管理控制台:AWS 管理控制台是一個網頁界面,用於直接管理和操作 AWS 服務。透過管理控制台,您可以進行各種設定、監視資源、訪問服務管理功能等。為了保護安全性,AWS 管理控制台要求您提供使用者名稱和密碼以進行身份驗證。此外,可以啟用 MFA 功能,要求在登入時提供附加的 MFA 驗證碼,提供額外的安全層級。 2. AWS 命令列介面(CLI):AWS 命令列介面(CLI)是一個在命令列窗口或終端中使用的工具,用於通過命令行界面與 AWS 服務進行交互。為了訪問 AWS CLI,您需要使用 AWS 提供的 Access Key(訪問金鑰)和 Secret Access Key(秘密訪問金鑰)進行身份驗證。這些金鑰是唯一識別您的身份和權限的憑證。請注意,保護這些金鑰的安全非常重要,並且不應該將它們與他人共享。 舉例: 列出所有 Amazon RDS 資料庫 ```python aws rds describe-db-instances ``` 3. AWS 軟體開發工具包(SDK):AWS 軟體開發工具包(SDK)是一組用於各種編程語言的函式庫和工具,可協助開發人員在其應用程序中集成 AWS 服務。使用 SDK,開發人員可以通過編程方式進行身份驗證和訪問 AWS 服務。就像 AWS CLI 一樣,開發人員需要提供有效的 Access Key 和 Secret Access Key 來進行身份驗證。 舉例: 使用 AWS SDK for Python (Boto3) 創建一個 S3 存儲桶: ```python import boto3 s3 = boto3.client('s3') s3.create_bucket(Bucket='my-bucket-name') ``` 需要注意的是,AWS 管理控制台、AWS CLI 和 AWS SDK 都提供了不同級別的身份驗證和訪問控制,以確保只有經過授權的使用者才能訪問 AWS 資源和執行操作。適當地配置和管理這些身份驗證機制可以提高資源的安全性,確保只有授權的個人或應用程式可以進行操作。 # 下載AWS CLI https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html 在此網站選擇你電腦作業系統的版本 這裡示範下載Liunx ```python curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install ``` 將此程式碼在terminal複製貼上後即可下載完成 ```python aws --version ``` 可察看目前版本 ![](https://hackmd.io/_uploads/Sy_ngWlD2.png) # CLI登入 要使用CLI的方式在terminal登入需要Access Key(訪問金鑰)和 Secret Access Key(秘密訪問金鑰)進行身份驗證 因此第一步就是生成金鑰 ## 1.生成金鑰 ![](https://hackmd.io/_uploads/SJUTeWgPh.png) 進入IAM 的user頁面中 點擊使用者 ![](https://hackmd.io/_uploads/HJz0l-gv2.png) 選擇 security credentials ![](https://hackmd.io/_uploads/B1nCebgP3.png) 下滑至 Acess keys 點選create access keys ![](https://hackmd.io/_uploads/HyD1ZZxPn.png) 由於這裡生成的金鑰是要做為CLI登入 因此選擇第一個 其他用途可選擇其他的 ![](https://hackmd.io/_uploads/r1GgWWlPh.png) 生成的金鑰 推薦記下來!! ## 2.使用CLI登入 生成了金鑰後 就可以用CLI登入AWS ```python aws configure ``` 會要求輸入金鑰 ```python AWS Access Key ID [None]: [你的金鑰ID] AWS Secret Access Key [None]: [你的金鑰密碼] Default region name [None]: [你使用的rigon代號] Default output format [None]:[可以空白] ``` region name可以去aws的主頁上看 ![](https://hackmd.io/_uploads/HykZbblw2.png) 這裡是使用大阪的區域 <br> ## 使用Cloudshell AWS網頁上有提供雲端的terminal 與本地端terminal有一致的功能 再有提供cloudshell 的地區 皆可叫出來使用 ![](https://hackmd.io/_uploads/SJ_VjrxP2.png) 點擊右上方terminal的圖案 <br> ![](https://hackmd.io/_uploads/By2PjHgwh.png) 網頁上就會出現像是本地端terminal的區域 不需要像本地端terminal需先登入 直接可察看帳號內的訊息 ![](https://hackmd.io/_uploads/HJPhoSgvh.png) 這裡可直接看帳號中的使用者 與使用網頁查看的內容是一致的 <br> 再Cloudshell中的行為會被記錄下來 重新載入後檔案也會保存 若想下載或上傳檔案也可以再Action中的下拉選單點選 ![](https://hackmd.io/_uploads/HyGEhSgP2.png)