Quay lại

Thực Hành: Buộc Người Dùng IAM Bật MFA Trước Khi Sử Dụng Dịch Vụ AWS Chuyên mục IAM Service    2024-04-14    19 Lượt xem    15 Lượt thích    comment-3 Created with Sketch Beta. 0 Bình luận    capacity-filled Sidebar

Thực Hành: Buộc Người Dùng IAM Bật MFA Trước Khi Sử Dụng Dịch Vụ AWS
   

Bảo mật tài khoản và dữ liệu của bạn trong AWS là một ưu tiên hàng đầu. Một trong những cách hiệu quả nhất để tăng cường bảo mật cho tài khoản của bạn là yêu cầu người dùng kích hoạt Multi-Factor Authentication (MFA) trước khi truy cập các dịch vụ trong AWS.

MFA là một phương thức bảo mật bổ sung giúp đảm bảo rằng chỉ những người dùng đã xác thực danh tính của mình thông qua hai yếu tố xác thực (như mật khẩu và mã xác thực từ thiết bị di động) mới có thể truy cập các dịch vụ AWS.

Trong bài hướng dẫn này, bạn sẽ tìm hiểu cách tạo và áp dụng chính sách IAM để ép buộc người dùng IAM phải bật MFA trước khi sử dụng các dịch vụ trong AWS. Việc thực hiện điều này sẽ giúp giảm thiểu rủi ro bảo mật, bảo vệ tài khoản của bạn khỏi các truy cập trái phép, và đảm bảo rằng chỉ những người dùng đã xác thực đầy đủ mới có thể sử dụng các dịch vụ AWS.

Bước 1: Định nghĩa một chính sách cho phép hành động có điều kiện

Trước tiên, bạn cần tạo một chính sách IAM xác định các hành động mà bạn muốn cho phép hoặc từ chối, dựa trên việc người dùng có bật MFA hay không. Dưới đây là một ví dụ về chính sách:

  • Allow All Users To List Accounts
    • {
          "Sid": "AllowAllUsersToListAccounts",
          "Effect": "Allow",
          "Action": [
              "iam:GetAccountPasswordPolicy",
              "iam:ListAccountAliases",
              "iam:ListUsers",
              "iam:GetAccountSummary",
              "iam:ListVirtualMFADevices"
          ],
          "Resource": "*"
      },
  • Allow Individual User To See And Manage Only Their Own Account Information
    • {
          "Sid": "AllowIndividualUserToSeeAndManageOnlyTheirOwnAccountInformation",
          "Effect": "Allow",
          "Action": [
              "iam:UpdateLoginProfile",
              "iam:UploadSigningCertificate",
              "iam:DeleteAccessKey",
              "iam:GetMFADevice",
              "iam:GetSSHPublicKey",
              "iam:UpdateAccessKey",
              "iam:DeleteSSHPublicKey",
              "iam:UpdateSSHPublicKey",
              "iam:ListMFADevices",
              "iam:ListSigningCertificates",
              "iam:CreateLoginProfile",
              "iam:ListSSHPublicKeys",
              "iam:DeleteSigningCertificate",
              "iam:DeleteVirtualMFADevice",
              "iam:EnableMFADevice",
              "iam:ResyncMFADevice",
              "iam:UploadSSHPublicKey",
              "iam:UpdateSigningCertificate",
              "iam:ListMFADeviceTags",
              "iam:GetLoginProfile",
              "iam:DeleteLoginProfile",
              "iam:ChangePassword",
              "iam:ListAccessKeys"
          ],
          "Resource": [
              "arn:aws:iam::*:user/${aws:username}"
          ]
      },
  • Allow Manage Own Virtual MFA Device
    • {
          "Sid": "AllowManageOwnVirtualMFADevice",
          "Effect": "Allow",
          "Action": [
              "iam:CreateVirtualMFADevice"
          ],
          "Resource": "arn:aws:iam::*:mfa/*"
      },
  • Allow Individual User To Deactivate Only Their Own MFA Only When Using MFA
    • {
          "Sid": "AllowIndividualUserToDeactivateOnlyTheirOwnMFAOnlyWhenUsingMFA",
          "Effect": "Allow",
          "Action": "iam:DeactivateMFADevice",
          "Resource": [
              "arn:aws:iam::*:user/${aws:username}"
          ],
          "Condition": {
              "Bool": {
                  "aws:MultiFactorAuthPresent": "true"
              }
          }
      },
  • Block Most Access Unless Signed In With MFA
    • {
          "Sid": "BlockMostAccessUnlessSignedInWithMFA",
          "Effect": "Deny",
          "NotAction": [
              "iam:ChangePassword",
              "iam:CreateVirtualMFADevice",
              "iam:DeleteVirtualMFADevice",
              "iam:ListVirtualMFADevices",
              "iam:EnableMFADevice",
              "iam:ResyncMFADevice",
              "iam:ListAccountAliases",
              "iam:ListUsers",
              "iam:ListSSHPublicKeys",
              "iam:ListAccessKeys",
              "iam:ListServiceSpecificCredentials",
              "iam:ListMFADevices",
              "iam:GetAccountSummary",
              "sts:GetSessionToken"
          ],
          "Resource": "*",
          "Condition": {
              "BoolIfExists": {
                  "aws:MultiFactorAuthPresent": "false"
              }
          }
      }
    • Chính sách này từ chối tất cả các hành động (trừ những hành động trong danh sách NotAction) nếu điều kiện trong phần Condition không được đáp ứng. Điều kiện kiểm tra xem người dùng có đăng nhập bằng MFA hay không (với khóa "aws:MultiFactorAuthPresent": "false"). Nếu người dùng không sử dụng MFA, họ sẽ bị từ chối quyền truy cập.

Bước 2: Tạo một IAM Policy mới

  1. Đăng nhập vào AWS Management Console.
  2. Điều hướng đến IAM.
  3. Chọn Policies và sau đó chọn Create policy.
  4. Chọn JSON và dán chính sách từ bước 1 vào đây.
  5. Chọn Review policy.
  6. Đặt tên và mô tả cho chính sách, sau đó chọn Create policy.

Bước 3: Gán chính sách cho người dùng hoặc nhóm người dùng IAM

  1. Trong AWS Management Console, điều hướng đến IAM.
  2. Chọn Users hoặc Groups và chọn người dùng hoặc nhóm bạn muốn áp dụng chính sách.
  3. Trong tab Permissions, chọn Add permissions.
  4. Chọn Attach existing policies directly và tìm chính sách bạn đã tạo.
  5. Chọn chính sách và sau đó chọn Next và Add permissions.

Bước 4: Kiểm tra việc áp dụng chính sách

  • Đảm bảo rằng người dùng đã đăng nhập bằng tài khoản IAM và thử thực hiện các hành động trên dịch vụ.
  • Nếu người dùng chưa kích hoạt MFA, chính sách sẽ từ chối hầu hết quyền truy cập và người dùng sẽ nhận được thông báo yêu cầu bật MFA.

Kết luận

Bằng cách sử dụng chính sách IAM để kiểm soát quyền truy cập dựa trên trạng thái MFA của người dùng, bạn có thể tăng cường bảo mật cho tài khoản và dịch vụ AWS của mình. Đảm bảo rằng người dùng biết về yêu cầu bật MFA và hướng dẫn họ cách kích hoạt MFA nếu cần.

 

Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough

Bài viết liên quan

Learning English Everyday