Làm cách nào để đảm nhận vai trò IAM bằng AWS CLI?

Lam Cach Nao De Dam Nhan Vai Tro Iam Bang Aws Cli



Vì AWS cung cấp một số dịch vụ và lợi ích to lớn nên việc các chuyên gia CNTT nêu ra mối lo ngại về bảo mật là điều đương nhiên. Để giải quyết những lo ngại về bảo mật này, dịch vụ IAM đã được AWS giới thiệu. AWS IAM là một trong những dịch vụ web cốt lõi cho phép người dùng bảo mật tài nguyên AWS. IAM cung cấp chức năng quản lý quyền truy cập trung tâm của các dịch vụ AWS bằng cách xác định quyền cho những người dùng khác nhau.

Phác thảo nhanh

Trong bài viết này, bạn sẽ tìm hiểu về:







Vai trò IAM AWS là gì?
Vai trò Giả định trong AWS là gì?
Làm cách nào để đảm nhận vai trò IAM bằng AWS CLI?



suy nghĩ cuối cùng



Với vai trò và quyền của IAM, chúng tôi có thể xác định quyền truy cập được xác thực và ủy quyền vào các dịch vụ AWS. Những vai trò và quyền này chỉ có thể được chỉ định bởi người dùng root (chủ sở hữu) của tài khoản AWS.





Vai trò IAM AWS là gì?

Vai trò IAM là danh tính được tạo bởi người dùng root trong tài khoản AWS. Danh tính này được chỉ định các quyền cụ thể xác định phạm vi truy cập của vai trò IAM vào tài nguyên AWS. Các quyền này có thể do AWS quản lý hoặc do người dùng root xác định tùy chỉnh.

Vai trò IAM rất giống với người dùng IAM ngoại trừ vai trò IAM là danh tính có một số quyền nhất định trong khi người dùng có thể đảm nhận các vai trò này để thực hiện một số chức năng nhất định. Các quyền được cấp cho vai trò xác định những hành động có thể được thực hiện với danh tính này (vai trò IAM).



Vai trò Giả định trong AWS là gì?

Giả sử Vai trò là một trong những chức năng của dịch vụ AWS IAM cho phép người dùng hành động với các dịch vụ AWS mặc dù quyền truy cập hoặc thao tác tài nguyên trong dịch vụ không được chỉ định cho người dùng. Các quyền này được gán gián tiếp cho người dùng khi một vai trò được đảm nhận. Một bộ thông tin xác thực tạm thời cùng với thông tin đăng nhập dựa trên phiên được sử dụng để truy cập tài nguyên AWS.

Những thông tin xác thực tạm thời này bao gồm Khóa truy cập bí mật, ID khóa truy cập và Mã thông báo bảo mật. Vai trò IAM do người dùng root AWS tạo có thể được đảm nhận bởi những người dùng khác trong tài khoản AWS hoặc những người dùng có ARN được đề cập trong chính sách của vai trò. Chính sách chứa ARN của người dùng hoặc tài nguyên được gọi là Chính sách tin cậy .

Sự khác biệt giữa Chính sách cấp phép và Chính sách tin cậy là gì?

Trước khi triển khai chức năng đảm nhận vai trò thông qua các phương pháp khác nhau, có hai khái niệm cốt lõi mà người dùng phải hiểu. Có hai loại chính sách trong dịch vụ IAM:

    • Chính sách tin cậy: Chính sách tin cậy xác định ai có thể đảm nhận vai trò IAM cụ thể. Để người dùng đảm nhận một vai trò, ARN của người dùng sẽ được đề cập trong chính sách tin cậy của vai trò IAM. Chính sách tin cậy này xác định xem người dùng hoặc tài nguyên có phải là thực thể đáng tin cậy để đảm nhận vai trò này hay không.
    • Chính sách cấp phép: Chính sách này xác định những gì người dùng có thể làm hoặc những hành động nào có thể được thực hiện với vai trò này.

Làm cách nào để đảm nhận vai trò IAM bằng AWS CLI?

Đảm nhận một vai trò tương tự như việc cải trang thành một người dùng khác được xác thực và ủy quyền để thực hiện một số hành động nhất định. Trong khi giả định danh tính, AWS đã đảm bảo rằng tính bảo mật vẫn được duy trì nguyên vẹn.

Hãy cùng tìm hiểu hoạt động của chức năng Giả sử vai trò bằng cách xem xét ví dụ sau.

Ví dụ, một người dùng tồn tại trong tài khoản AWS chưa được gán bất kỳ quyền nào cho nhóm S3. Các “Truy cập chỉ đọc” được gọi là chính sách cấp phép được gắn với vai trò IAM. Để người dùng đảm nhận vai trò này, ARN của người dùng sẽ được đề cập trong chính sách của vai trò IAM. Chính sách này bây giờ được gọi là “chính sách tin cậy” và nó khác với chính sách cấp phép. Chính sách tin cậy rất quan trọng vì nó giúp AWS xác định xem người dùng có phải là tổ chức được ủy quyền hay không.

Lưu ý rằng ARN được đề cập trong chính sách Tin cậy chứ không phải trong chính sách Quyền của vai trò IAM. Bằng cách đảm nhận một vai trò, người dùng có thể thực hiện một số hành động quản trị được xác định theo chính sách cấp phép của vai trò đó. Những hành động này bao gồm thêm, xóa, sửa đổi hoặc khôi phục tài nguyên, v.v.

Sau đây là ba Phương pháp để đảm nhận vai trò với AWS CLI:

Phương pháp 1: Sử dụng STS (Dịch vụ mã thông báo bảo mật)

Người dùng có thể đảm nhận vai trò bằng cách thực thi các lệnh trong phần STS (Dịch vụ mã thông báo bảo mật) để trả về một bộ thông tin xác thực tạm thời. Thông tin xác thực tạm thời được sử dụng để thiết lập thông tin đăng nhập dựa trên phiên nhằm thực hiện lệnh gọi API tới tài nguyên. Tuy nhiên, có hai trường hợp ngoại lệ trong khi sử dụng STS tức là, NhậnFederationToken GetSessionToken.

Người dùng bị hạn chế truy cập vào các mã thông báo này để bảo mật thông tin bí mật của Mã thông báo phiên và liên kết. Vì vậy, an ninh không bị xâm phạm trong bất kỳ trường hợp nào. Bằng cách đảm nhận một vai trò, người dùng có thể nâng cao các đặc quyền được giao của họ.

Trong phần này của bài viết, chúng tôi sẽ yêu cầu một bộ thông tin xác thực tạm thời bằng cách sử dụng lệnh STS. Dưới đây là các bước:

Bước 1: Tạo người dùng và chính sách người dùng

Đầu tiên, chúng tôi sẽ tạo người dùng IAM không có quyền. Với mục đích này, hãy mở CMD từ menu Bắt đầu của Windows:


Chỉ người dùng root Có thể tạo nên MỘT người dùng IAM trong tài khoản AWS. Do đó, hãy đăng nhập vào tài khoản gốc AWS bằng cách sử dụng lệnh sau:

ôi cấu hình


Thông tin đăng nhập đã được định cấu hình trong CLI cho bản demo này như được hiển thị trong đầu ra của lệnh:


Tìm hiểu thêm:

ĐẾN tạo người dùng IAM , cung cấp lệnh sau cho CLI:

ôi tôi đang tạo người dùng --tên tài khoản người dùng demo


Thay thế cái người dùng demo với bạn Tên người dùng IAM.

Lưu “Arn” được đưa ra trong đầu ra của lệnh như nó sẽ yêu cầu khi tạo ra các Chính sách tin cậy :


Đọc thêm:

Bước tiếp theo là cho phép làm gì người dùng (người dùng demo ) ĐẾN đảm nhận một vai trò . Với mục đích này, hãy tạo một tệp JSON sử dụng bất kỳ soạn thảo văn bản bạn thích. Đối với bản demo này, chúng tôi đã sử dụng Sổ tay như được chỉ định trong lệnh được đề cập dưới đây:

Cho cửa sổ

notepad người dùng-policy.json


Thay thế cái chính sách người dùng bằng tên chính sách IAM của bạn.

Đối với hệ điều hành Linux

bởi vì chính sách người dùng.json


Hiện tại, chúng tôi đang sử dụng Hệ điều hành Windows cho bản demo này:


Điều này sẽ mở notepad. Dán chính sách sau vào notepad và nhấn “CTRL + S” từ bàn phím để lưu thay đổi:

{
'Phiên bản' : '2012-10-17' ,
'Tuyên bố' : [
{
'Tác dụng' : 'Cho phép' ,
'Hoạt động' : [
'ec2:Mô tả*' ,
'iam:ListRoles' ,
'sts:AssumeRole'
] ,
'Nguồn' : '*'
}
]
}


Dưới đây là mô tả ngắn gọn về chính sách được chỉ định:

    • ec2:Mô tả: Quyền này chỉ định rằng người dùng có thể xem hoặc liệt kê tất cả các AMI, ảnh chụp nhanh hoặc phiên bản EC2
    • iam:Danh sáchVai trò: Quyền này chỉ định rằng người dùng có thể liệt kê tất cả các vai trò trong dịch vụ IAM.
    • sts:Giả sửRole: Quyền này thể hiện rằng người dùng có thể đảm nhận vai trò được xác định trong dịch vụ IAM.

Tại đây, chính sách đã được chỉnh sửa trong notepad và được lưu lại:


Mỗi AWS nguồn được giao một Tên tài nguyên truy cập (ARN) cái mà xác định duy nhất nguồn tài nguyên. Để xác định ARN của chính sách, hãy sử dụng lệnh được đề cập bên dưới.

ôi tôi đang tạo chính sách --tên chính sách chính sách người dùng --Tài liệu chính sách tài liệu: // chính sách người dùng.json


Trong lệnh nêu trên:

    • –tên chính sách: Thay thế giá trị “chính sách người dùng” với bất kỳ tên chính sách nào theo sở thích của bạn.
    • -Tài liệu chính sách: Trong trường này, thay thế “ chính sách người dùng.json” với tên tệp json chứa chính sách dành cho người dùng.

Đầu ra của lệnh nêu trên như sau. Lưu “Arn” được đề cập trong đầu ra của chính sách vì nó sẽ được yêu cầu khi đính kèm chính sách này với người dùng:

Bước 2: Đính kèm Chính sách với Người dùng

Chính sách này sẽ cho phép người dùng liệt kê các Phiên bản EC2 , Bạn , v.v. Khi người dùng đảm nhận một vai trò với quyền khác, người dùng sẽ chỉ có thể thực hiện hành động cụ thể đó như được chính sách quyền cho phép.

Để đính kèm chính sách với người dùng đã tạo trước đó trong phần này, hãy sử dụng lệnh sau:

ôi tôi đính kèm chính sách người dùng --tên tài khoản người dùng demo --policy-arn 'arn:aws:iam::123456789:chính sách/chính sách người dùng'


Trong lệnh nêu trên:

    • -tên tài khoản: Thay thế cái “người dùng demo” bên trong -tên tài khoản trường có tên người dùng IAM của bạn.
    • –policy-arn: Tương tự, trong –chính sách-arn, chỉ định la “Arn” từ đầu ra của lệnh trước đó, tức là –create-policy.

Bằng cách thực hiện lệnh sau khi thực hiện các thay đổi cần thiết, chính sách đã được gắn thành công cho người dùng:


Để xác minh xem chính sách đã được đính kèm với người dùng hay chưa, hãy cung cấp lệnh sau cho CLI:

aws iam danh sách-đính kèm-chính sách người dùng --tên tài khoản người dùng demo


Thay thế cái người dùng demo với IAM của bạn tên tài khoản được chỉ định trong khi tạo người dùng.

Đầu ra của lệnh sau xác minh rằng chính sách đã được đính kèm thành công với người dùng:

Bước 3: Tạo Chính sách tin cậy và Vai trò IAM

Mối quan hệ tin cậy được thiết lập khi tài nguyên hoặc ARN của người dùng được chỉ định trong chính sách. Sau đó, chức năng này cho phép người dùng hoặc thực thể thực hiện một số hành động nhất định vì chúng được chính sách coi là đáng tin cậy.

Trong bước này, chúng tôi sẽ tạo chính sách thiết lập mối quan hệ tin cậy giữa vai trò IAM và người dùng. Chính sách tin cậy này sẽ được gắn với vai trò IAM. Sau đó, vai trò IAM sẽ được người dùng đảm nhận, vai trò này sẽ gián tiếp cho phép người dùng thực hiện các hành động được chỉ định trong chính sách.

Để tạo chính sách tin cậy, các lệnh được đưa ra như sau:

Cho cửa sổ

notepad tin cậy-role-policy.json


Thay thế cái tin cậy-vai trò-policy.json với tên ưu tiên của bạn cho chính sách.

Đối với hệ điều hành Linux

bởi vì tin cậy-vai trò-policy.json


Thay thế cái tin cậy-vai trò-policy.json với tên ưu tiên của bạn cho chính sách.

Chính sách ủy thác tuân theo định dạng JSON theo quy định của .json phần mở rộng trong lệnh sau:


Điều này sẽ mở notepad. Dán những điều sau đây chính sách trong notepad và nhấn “CTRL + S” từ bàn phím để lưu thay đổi. ARN của người dùng cũng có thể được sao chép từ bảng điều khiển của Người dùng trên bảng điều khiển IAM. Với mục đích này, hãy truy cập trang tổng quan IAM và nhấp vào tên của người dùng. Từ cấu hình được hiển thị, sao chép ARN của người dùng được hiển thị trong phần Tóm tắt.:

{
'Phiên bản' : '2012-10-17' ,
'Tuyên bố' : {
'Tác dụng' : 'Cho phép' ,
'Lớn lao' : {
'AWS' : 'arn:aws:iam::123456789012:người dùng/người dùng mẫu'
} ,
'Hoạt động' : 'sts:AssumeRole'
}
}


Trong chính sách nêu trên:

    • AWS: Thay thế cái Giá trị trường AWS “arn:aws:iam::123456789012:user/example-user ”với ARN của người dùng được hiển thị trong đầu ra của lệnh –create-user.

Người dùng có thể hạn chế những người dùng khác đảm nhận vai trò IAM bằng cách chỉ định ARN của người dùng trong “AWS” cánh đồng:


Đọc thêm:

Bây giờ, hãy tạo vai trò IAM và đính kèm chính sách tin cậy với vai trò đó. Để tạo vai trò IAM, hãy sử dụng lệnh được đề cập bên dưới:

ôi tôi đang tạo vai trò --tên vai trò vai trò người dùng --assume-vai trò-chính sách-tài liệu tài liệu: // tin cậy-vai trò-policy.json


Sau đây là mô tả về các trường nêu trên:

    • –tên-vai trò: Trường này được sử dụng để nhập tên sẽ được gán cho vai trò IAM này. Thay thế giá trị “vai trò người dùng” bằng tên vai trò IAM mà bạn chọn.
    • –assume-vai trò-chính sách-tài liệu: Trong trường này chỉ định đường dẫn như được đưa ra trong lệnh. Thay thế Trust-role-policy.json bằng tên chính sách do bạn chỉ định trong phần trước.

Bằng cách thực hiện lệnh này, nó sẽ trả về một số thông tin ở đầu ra, ví dụ: ARN, Đường dẫn, ID, v.v.:


Đọc thêm:

Khi đảm nhận vai trò này, người dùng sẽ có thể thực hiện “ReadOnlyAccess” hành động với nhóm S3. Lệnh được đưa ra như sau:

ôi tôi đang đính kèm-vai trò-chính sách --tên vai trò vai trò người dùng --policy-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Trong lệnh trên:

    • –tên-vai trò: Thay thế ' vai trò người dùng' trong trường –role-name với Tên vai trò IAM mà bạn đã chỉ định trước đó trong hướng dẫn này.
    • –policy-arn: Arn được chỉ định trong –policy-arn đề cập đến quyền ReadOnlyAccess cho nhóm S3.

Trong hình ảnh này, vai trò đã được chỉ định quyền ReadOnlyAccess cho nhóm S3:


Để xác minh xem quyền đã được gán cho vai trò hay chưa, hãy sử dụng lệnh sau:

aws iam danh sách-đính kèm-vai trò-chính sách --tên vai trò vai trò người dùng


Thay thế cái 'vai trò người dùng' với tên vai trò IAM của bạn.

Các “AmazonS3ReadOnlyAccess” quyền đã được gắn vào vai trò IAM. Đầu ra của lệnh được đưa ra như sau:

Bước 4: Tạo khóa truy cập

Trong phần này, chúng tôi sẽ tạo các khóa truy cập cho người dùng. Các khóa truy cập sẽ được sử dụng để đăng nhập vào Tài khoản AWS:

ôi tôi đang tạo-khóa truy cập --tên tài khoản người dùng demo


Thay thế cái người dùng demo với tên người dùng IAM của bạn được cung cấp tại thời điểm tạo người dùng.

Ở đây, lệnh đã trả về một tập hợp các cặp khóa Access (AccessKeyId và Khóa truy cập bí mật) cùng với các chi tiết bổ sung như ngày tạo, trạng thái, v.v. Cứu AccessKeyId và SecretAccessKey vì chúng được yêu cầu ở phần sau của hướng dẫn:


Đọc thêm:

Bước 5: Định cấu hình Khóa truy cập và xác minh người dùng IAM

Để định cấu hình khóa truy cập, hãy cung cấp lệnh sau cho CMD, sau đó nhập ID khóa truy cập và Khóa truy cập bí mật:

ôi cấu hình


Cung cấp ID khóa truy cập và Khóa truy cập bí mật cho CLI đã được tạo ở Bước 4 của phần này. Đối với khu vực, chúng tôi đã giữ cài đặt mặc định. Người dùng có thể định cấu hình bất kỳ định dạng đầu ra nào cho định dạng đầu ra mặc định. Đối với bản demo này, chúng tôi đã chỉ định JSON định dạng:


Để xác minh xem người dùng IAM đã được định cấu hình hay chưa, hãy cung cấp lệnh sau cho CLI:

aws sts nhận dạng người gọi


Đầu ra của lệnh chỉ ra rằng “người dùng demo” đã được định cấu hình thành công và hiện đang đăng nhập vào tài khoản AWS:


Để xác định rằng người dùng IAM có thể liệt kê các phiên bản EC2 và hiện không có quyền truy cập vào bộ chứa S3, hãy sử dụng lệnh sau:

phiên bản mô tả aws ec2 --truy vấn 'Đặt chỗ[*].Trường hợp[*].[VpcId, InstanceId, ImageId, InstanceType]'


Đầu ra của lệnh được đưa ra như sau:


Bây giờ, hãy cung cấp lệnh sau để xác minh xem người dùng có thể truy cập bộ chứa S3 hay không:

ôi s3 ls


Điều này sẽ hiển thị “Quyền truy cập bị từ chối” lỗi cho biết người dùng không được phép truy cập nhóm S3:

Bước 6: Giả sử vai trò IAM

Người dùng có quyền liệt kê các vai trò IAM trong tài khoản AWS. Do đó, để đảm nhận Vai trò, trước tiên chúng ta sẽ thu thập thông tin cần thiết như ARN bằng cách thực hiện lệnh sau:

ôi tôi là danh sách vai trò --truy vấn 'Vai trò[?RoleName == 'user-role'].[RoleName, Arn]'


Thay thế “vai trò người dùng” bằng tên vai trò IAM trong trường “Tên vai trò”.

ARN đã được cung cấp trong đầu ra của lệnh nêu trên:


Bây giờ chúng ta đã có ARN của vai trò IAM, chúng ta có thể đảm nhận vai trò này bằng cách sử dụng lệnh sau:

aws sts giả định vai trò --role-arn 'arn:aws:iam::123456789012:role/example-role' --role-session-name Phiên AWSCLI


Trong lệnh trên:

    • –role-arn: Thay thế giá trị được đề cập cho –role-arn bằng ARN của vai trò IAM.
    • –role-session-name: Người dùng có thể cung cấp bất kỳ tên ưu tiên nào cho trường này.

Bằng cách thực hiện lệnh nêu trên, một tập hợp thông tin xác thực tạm thời đã được trả về. Những thông tin xác thực tạm thời này sẽ được sử dụng để đảm nhận vai trò IAM với quyền mong muốn, tức là ReadOnlyAccess. AccessKeyId và SecretAccessKey sẽ được sử dụng trong khi định cấu hình các thông tin xác thực tạm thời này:


Dưới đây là mô tả ngắn gọn về đầu ra của lệnh:

    • PhiênToken: Mã thông báo phiên được sử dụng để tạo thông tin đăng nhập dựa trên phiên. Lưu giá trị của trường này vì nó sẽ được yêu cầu trong khi định cấu hình thông tin xác thực.
    • Hết hạn: Mã thông báo phiên có ngày và giờ hết hạn. Mã thông báo sẽ không được sử dụng sau thời gian được chỉ định và người dùng sẽ không thể đảm nhận vai trò này.

Bước 7: Cấu hình biến môi trường

Để định cấu hình thông tin xác thực tạm thời, chúng tôi sẽ sử dụng lệnh “set” cho Windows và sau đó cung cấp giá trị của ID khóa truy cập, Khóa truy cập bí mật, Mã thông báo phiên, v.v.:

Cho cửa sổ

bộ AWS_ACCESS_KEY_ID =Vai tròAccessKeyID


Thay thế RoleAccessKeyID bằng ID khóa truy cập đã được lệnh trả về ở Bước 6.

Đối với hệ điều hành Linux

xuất khẩu AWS_ACCESS_KEY_ID =Vai tròAccessKeyID


Thay thế RoleAccessKeyID bằng ID khóa truy cập đã được lệnh trả về ở Bước 6.

Khóa truy cập đã được cấu hình:


Tiếp theo, chúng tôi sẽ định cấu hình Khóa truy cập bí mật bằng cách sử dụng lệnh “set” cho Windows:

Cho cửa sổ

bộ AWS_SECRET_ACCESS_KEY =Khóa bí mật vai trò


Thay thế RoleSecretKey bằng giá trị Khóa truy cập bí mật đã được lệnh trả về ở Bước 6.

Đối với hệ điều hành Linux

xuất khẩu AWS_SECRET_ACCESS_KEY =Khóa bí mật vai trò


Thay thế AWS_SECRET_ACCESS_KEY bằng Khóa truy cập bí mật đã được lệnh trả về ở Bước 6.

Khóa truy cập bí mật đã được định cấu hình thành công:


Cuối cùng, chúng tôi sẽ định cấu hình mã thông báo phiên để thiết lập thông tin đăng nhập dựa trên phiên. Với mục đích này, hãy sử dụng lệnh được đề cập dưới đây:

Cho cửa sổ

bộ AWS_SESSION_TOKEN =Mã thông báo vai trò phiên


Thay thế RoleSessionToken bằng giá trị Mã thông báo phiên đã được lệnh trả về ở Bước 6.

Đối với hệ điều hành Linux

xuất khẩu AWS_SESSION_TOKEN =Mã thông báo vai trò phiên


Thay thế RoleSessionToken bằng giá trị Mã thông báo phiên đã được lệnh trả về ở Bước 6.

Giá trị của Session Token đã được cấu hình thành công:


Để sao chép giá trị Session Token từ CMD, nhấn “CTRL + SHIFT+ C” .

Sau khi định cấu hình các biến môi trường, hãy xác minh bằng cách sử dụng lệnh sau xem người dùng có đảm nhận vai trò này không:

aws sts nhận dạng người gọi


Đầu ra của lệnh xác minh rằng vai trò IAM đã được giả định thành công bởi người dùng vì kết quả trả về ARN là “arn:aws:sts::123456789012:assumed-role/user-role/AWSCLI-Session” thay vì “arn:aws:iam::123456789012:người dùng/người dùng demo”:


Vì vai trò này có chứa quyền ReadOnlyAccess nên người dùng sẽ có thể tranh thủ các nhóm ngay bây giờ. Với mục đích này, hãy cung cấp lệnh sau cho CLI:

ôi s3 ls


Đầu ra của lệnh tranh thủ thành công tất cả nhóm S3 hiện được định cấu hình trong tài khoản AWS:


Tuy nhiên, người dùng sẽ không thể truy cập dịch vụ EC2 vì vai trò giả định không có quyền đối với dịch vụ EC2. Để xác minh điều này, hãy sử dụng lệnh sau:

phiên bản mô tả aws ec2 --truy vấn 'Đặt chỗ[*].Trường hợp[*].[VpcId, InstanceId, ImageId, InstanceType]'


Trước đây, người dùng có thể truy cập thông tin dịch vụ EC2. Tuy nhiên, khi thực hiện lệnh nêu trên, một “Truy cập bị từ chối” đã xảy ra lỗi. Người dùng đã đảm nhận thành công vai trò IAM:


Đây là tất cả từ phần này.

Mẹo thưởng: Bỏ đặt các biến môi trường

Để quay lại người dùng IAM, tức là người dùng demo, người dùng có thể xóa các biến môi trường bằng cách đặt các biến Môi trường thành chuỗi trống. Sau đây là các lệnh được đưa ra:

Cho cửa sổ

BỘ AWS_ACCESS_KEY_ID =
BỘ AWS_SECRET_ACCESS_KEY =
BỘ AWS_SESSION_TOKEN =


Dành cho Linux

Sử dụng lệnh được đề cập dưới đây:

bỏ đặt AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


Các lệnh nêu trên sẽ hủy đặt các biến môi trường:


Sau khi thực hiện các lệnh trên, bàn điều khiển sẽ trả về “người dùng demo” với tư cách là người dùng hiện đang đăng nhập thay vì vai trò giả định, tức là vai trò người dùng. Với mục đích này, chúng tôi sẽ sử dụng lệnh sau:

aws sts nhận dạng người gọi


Đầu ra của lệnh cho biết người dùng hiện đang đăng nhập là người dùng demo:


Tương tự, để đăng nhập với tư cách người dùng root, hãy làm theo hướng dẫn “C:\Users%USERPROFILE%.aws” đường dẫn và nhấp vào tệp thông tin xác thực:


Trong tệp thông tin xác thực, thay thế các giá trị của Khóa truy cập và Khóa truy cập bí mật bằng Khóa truy cập và khóa truy cập bí mật của người dùng root:


Cung cấp lệnh sau cho CLI để xác minh xem thông tin đăng nhập có được định cấu hình đúng hay không:

ôi cấu hình


Ở đây, trong hình ảnh bên dưới, chúng ta có thể thấy rằng Access key và Secret Access key của người dùng root đã được cấu hình thành công:


Đó là tất cả từ phần hướng dẫn này.

Cách 2: Sử dụng tham số –profile

Một phương pháp khác để đảm nhận vai trò là sử dụng trường “–profile” trong CLI. Phần này của bài viết trình bày cách triển khai thực tế việc đảm nhận vai trò trong AWS thông qua –profile. Dưới đây là các bước cho nó:

Bước 1: Tạo người dùng IAM

Để tạo người dùng IAM, hãy đăng nhập vào tài khoản người dùng root qua CLI bằng cách sử dụng lệnh sau:

ôi cấu hình


Thông tin đăng nhập đã được định cấu hình trong CLI cho bản demo này như được hiển thị trong đầu ra của lệnh:


Tìm hiểu thêm:

Để tạo người dùng IAM, hãy cung cấp lệnh sau cho CLI:

ôi tôi đang tạo người dùng --tên tài khoản người dùng hồ sơ


Người dùng đã được tạo thành công. Lưu ARN của người dùng như hiển thị trong hình bên dưới. ARN của người dùng IAM này sẽ được sử dụng sau trong hướng dẫn này. Hiện tại, không có quyền nào liên quan đến người dùng IAM này:


Đọc thêm:

Bước 2: Tạo khóa truy cập

Trong AWS, mỗi người dùng được chỉ định một cặp khóa Truy cập để đăng nhập. Để tạo Khóa truy cập cho người dùng này, hãy cung cấp lệnh sau cho người dùng đó:

ôi tôi đang tạo-khóa truy cập --tên tài khoản người dùng hồ sơ


Lệnh này trả về một bộ Khóa truy cập. Cứu các ID khóa truy cập Khóa truy cập bí mật vì nó sẽ được yêu cầu khi đăng nhập vào tài khoản AWS:


Bây giờ, nếu chúng ta đăng nhập vào AWS CLI bằng các AccessKeyId và SecretAccessKey này, đồng thời truy cập bất kỳ tài nguyên nào, ví dụ:. Xô S3, “Truy cập bị từ chối” lỗi sẽ xảy ra. Điều này là do hiện tại không có quyền nào liên quan đến người dùng IAM. Để đăng nhập vào AWS CLI, hãy sử dụng lệnh sau và cung cấp ID khóa truy cập và khóa truy cập bí mật như đã tạo trước đó:

ôi cấu hình --hồ sơ người dùng hồ sơ


Thay thế cái “người dùng hồ sơ” bằng tên người dùng IAM mà bạn đã cung cấp khi tạo người dùng.

Tại đây, chúng ta đã đăng nhập thành công vào AWS CLI với tư cách là người dùng IAM:


Để xác minh xem người dùng này có bất kỳ quyền chỉ đọc nào đối với bộ chứa S3 hay không, hãy cung cấp lệnh sau cho CLI:

ôi s3 ls --hồ sơ người dùng hồ sơ


Thay thế người dùng hồ sơ bằng tên người dùng IAM mà bạn đã cung cấp khi tạo người dùng.

Vì người dùng này chưa được người dùng root cấp bất kỳ quyền nào nên điều đó sẽ dẫn đến “ Truy cập bị từ chối ' lỗi:

Bước 3: Tạo Chính sách tin cậy và Vai trò IAM

Chính sách tin cậy xác định xem người dùng hoặc tài nguyên AWS có phải là thực thể đáng tin cậy để đảm nhận vai trò và nhận được các quyền hay không. Mối quan hệ tin cậy này được tạo bằng cách chỉ định ARN của người dùng IAM hoặc tài nguyên AWS trong Chính sách cấp phép.

Để tạo chính sách tin cậy trong IAM, hãy cung cấp lệnh sau cho CLI:

Cho cửa sổ

notepad Trust-policy.json


Thay thế cái tin cậy-chính sách.json với tên ưu tiên của bạn cho chính sách.

Đối với hệ điều hành Linux

bởi vì tin cậy-vai trò-policy.json


Thay thế cái tin cậy-chính sách.json với tên ưu tiên của bạn cho chính sách.

Người dùng có thể sử dụng bất kỳ trình soạn thảo văn bản nào theo sở thích của họ. Đối với bản demo này, chúng tôi đang sử dụng notepad:


Thao tác này sẽ mở notepad để tạo chính sách tin cậy. Dán chính sách sau vào notepad và nhấn “CTRL + S” từ bàn phím để áp dụng và lưu các thay đổi:

{
'Phiên bản' : '2012-10-17' ,
'Tuyên bố' : {
'Tác dụng' : 'Cho phép' ,
'Lớn lao' : {
'AWS' : 'arn:aws:iam::012345678910:người dùng/người dùng hồ sơ'
} ,
'Hoạt động' : 'sts:AssumeRole'
}
}


Trong chính sách trên: AWS: Thay thế giá trị “arn:aws:iam::012345678910:user/policy-user” bằng ARN của người dùng IAM đã tạo trước đó trong phần này.

Chính sách đã được chỉnh sửa trong notepad:


Tiếp theo, chúng tôi sẽ tạo vai trò IAM và đính kèm chính sách tin cậy ở trên vào vai trò đó. Sử dụng lệnh sau để tạo vai trò IAM:

ôi tôi đang tạo vai trò --tên vai trò vai trò của tôi --assume-vai trò-chính sách-tài liệu tài liệu: // tin cậy-chính sách.json


Trong lệnh nêu trên:

    • –tên-vai trò: Thay thế cái 'vai trò của tôi' với tên vai trò IAM mà bạn chọn.
    • –assume-vai trò-chính sách-tài liệu: Trong trường này, thay thế thuật ngữ “tin cậy-chính sách.json” với tên chính sách tin cậy IAM của bạn

Vai trò IAM đã được tạo thành công. Lưu vai trò IAM. Lưu ARN của vai trò IAM như được đánh dấu trong hình ảnh sau đây. ARN này sẽ được sử dụng trong khi định cấu hình hồ sơ của người dùng:


Chính sách tin cậy được đính kèm với IAM xác định xem người dùng có đáng tin cậy hay không để đảm nhận vai trò này. Chính sách quyền xác định xem vai trò IAM có quyền cần thiết để thực hiện một hành động nhất định với dịch vụ AWS hay không.

Vì chính sách tin cậy đã được gắn với vai trò IAM nên bước tiếp theo là gắn chính sách cấp phép vào vai trò IAM. Lệnh được đề cập bên dưới sẽ được sử dụng để đính kèm chính sách cấp phép vào vai trò IAM:

ôi tôi đang đính kèm-vai trò-chính sách --tên vai trò vai trò của tôi --policy-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Ở đây, chính sách cấp phép đã được gắn vào vai trò IAM thông qua CLI:

Bước 4: Cấu hình hồ sơ

Để người dùng đảm nhận vai trò này, trước tiên chúng tôi sẽ định cấu hình hồ sơ này trong thông tin xác thực của AWS. Để đính kèm các thông tin xác thực tạm thời này, hãy cung cấp lệnh sau:

sổ ghi chú ~ / .aws / cấu hình


Mẹo bổ sung: Giải quyết “Đường dẫn không được chỉ định” trong Notepad

Tệp cấu hình sẽ chứa cài đặt [mặc định] của AWS CLI. Tuy nhiên, nếu notepad hiển thị “Hệ thống không thể tìm thấy đường dẫn được chỉ định”, hãy nhập lệnh được đề cập bên dưới:

notepad .aws / cấu hình


Người dùng Linux có thể sử dụng 'bởi vì' trình soạn thảo để cấu hình hồ sơ. Người dùng có thể sử dụng bất kỳ trình soạn thảo nào theo sở thích của mình để mở tệp cấu hình AWS trên máy cục bộ:


Trong tệp cấu hình được mở trong Notepad, hãy chỉnh sửa các thay đổi sau:

[ hồ sơ người dùng hồ sơ ]
vai_arn = arn:aws:iam::012345678910:vai trò / vai trò của tôi
nguồn_profile =người dùng hồ sơ


Trong đoạn trích trên:

    • vai trò_arn: Thay thế giá trị “arn:aws:iam::012345678910:role/myrole” bằng ARN của vai trò IAM.
    • nguồn_profile: Trong trường này, hãy cung cấp tên của người dùng IAM đã được tạo ở Bước 1 của phương pháp này.

Sau khi thực hiện các thay đổi cần thiết, nhấn “CTRL + S” từ bàn phím để áp dụng và lưu các thay đổi:


Bây giờ, để xác minh xem hiện tại người dùng có thể liệt kê các nhóm S3 hay không, hãy cung cấp lệnh sau cho CLI:

ôi s3 ls --hồ sơ người dùng hồ sơ


Trong lệnh trên: –profile-người dùng: Trong trường này, thay thế giá trị “profile-use” bằng tên mà bạn chỉ định trong tệp cấu hình.

Vì chúng tôi đã chỉ định “profile-user” trong tệp cấu hình, do đó, chúng tôi sẽ sử dụng cùng tên với lệnh trong CLI. Trước đây, người dùng không thể truy cập dịch vụ S3 của AWS vì không có quyền nào được cấp cho dịch vụ đó. Vai trò IAM có quyền “ReadOnlyAccess” của nhóm S3 và do đó, bằng cách đảm nhận vai trò này, người dùng có thể liệt kê các nhóm từ Bảng thông tin S3:


Đó là tất cả từ phương pháp này của hướng dẫn.

Phương pháp 3: Sử dụng MFA (Xác thực đa yếu tố)

Bằng cách bật Xác thực đa yếu tố, người dùng có thể định cấu hình lớp bảo mật bổ sung cho tài khoản của mình. Khi MFA được bật, người dùng trái phép không thể truy cập vào tài khoản của người dùng ngay cả khi họ cung cấp mật khẩu và tên người dùng. MFA là mã gồm sáu chữ số cần thiết để đăng nhập vào tài khoản. Để tìm hiểu thêm về xác thực đa yếu tố, hãy tham khảo bài viết này:

Sau đây là các bước để đảm nhận vai trò với MFA thông qua CLI:

Bước 1: Tạo người dùng IAM và kích hoạt MFA

Đối với bước này, người dùng có thể sử dụng CLI để tạo người dùng hoặc truy cập Bảng điều khiển quản lý AWS. Đăng nhập vào tài khoản người dùng root bằng cách sử dụng lệnh sau:

ôi cấu hình


Đầu ra của lệnh được đưa ra như sau:


Để tạo người dùng, hãy cung cấp lệnh sau cho CLI:

ôi tôi đang tạo người dùng --tên tài khoản người dùng mfa


Trong lệnh trên: -tên tài khoản: Thay thế cái “người dùng mfa” với tên người dùng IAM bạn chọn.

Người dùng đã được tạo thành công. Lưu ARN của người dùng vì nó sẽ được yêu cầu ở phần sau. Hiện tại, người dùng này chưa được cấp bất kỳ quyền nào:


Để kích hoạt MFA, hãy truy cập Bảng điều khiển quản lý AWS và tìm kiếm dịch vụ IAM. Nhấp vào nó từ kết quả được hiển thị:


Nhấp vào tùy chọn Người dùng từ ngăn điều hướng bên trái của dịch vụ IAM. Từ bảng điều khiển Người dùng, nhấp vào tên người dùng để định cấu hình MFA:


Trên giao diện tiếp theo, chạm vào “Thông tin xác thực bảo mật” lựa chọn:


Cuộn xuống Xác thực đa yếu tố phần và nhấp vào “Gán thiết bị MFA” cái nút:


Cung cấp một tên có ý nghĩa bên trong Tên thiết bị trường văn bản trên giao diện hiển thị:


Cuộn xuống phần thiết bị MFA. Người dùng được cung cấp nhiều tùy chọn khác nhau để kích hoạt MFA, chẳng hạn như bằng cách quét mã QR, thông qua Khóa bảo mật hoặc mã thông báo TOTP phần cứng. Đối với bản demo này, hãy chọn “Ứng dụng xác thực” lựa chọn:


Chạm vào 'Kế tiếp' ở cuối giao diện để tiếp tục:


Nhấn vào “Hiển thị mã QR” như thể hiện trong hình ảnh dưới đây:


Khởi động ứng dụng trên điện thoại di động hoặc máy tính xách tay của bạn để quét mã QR. Chạm vào “+” tùy chọn từ giao diện Symantec VIP:


Trên Play store, Symantec VIP được đặt tên là VIP Access.

Trên giao diện tiếp theo của Symantec VIP, nhấp vào Quét mã QR nút ở cuối giao diện:


Quét mã QR từ AWS MFA Giao diện ứng dụng Authenticator hiển thị. Mã này sẽ tạo ra một loạt mã cần thiết để đăng nhập vào bảng điều khiển của người dùng IAM:


Ứng dụng Symantec VIP sẽ tạo ra OTP sáu chữ số sau khi quét mã QR. Các mã này sẽ tiếp tục xuất hiện sau mỗi 30 giây . Ảnh chụp màn hình bên dưới minh họa hai mã được tạo:


Cung cấp mã cho Mã MFA 1 Mã MFA 2 các trường văn bản trên giao diện Ứng dụng Authenticator của MFA. Nhấn vào “Thêm MFA” nút sau đó để kích hoạt chức năng:


MFA đã được kích hoạt thành công cho người dùng IAM. Điều này có thể được xác minh bởi “Xác thực đa yếu tố (MFA)” phần của “Thông tin xác thực bảo mật” tab của người dùng IAM . Từ phần này, hãy lưu giá trị của Mã định danh vì nó sẽ được yêu cầu khi đảm nhận vai trò:

Bước 2: Đính kèm chính sách với người dùng

Để người dùng đảm nhận một vai trò, người dùng phải có khả năng liệt kê vai trò IAM để xác định vai trò nào sẽ đảm nhận và quyền đảm nhận vai trò đó. Để trang bị cho người dùng quyền cần thiết, hãy làm theo của Phương pháp 1 trong hướng dẫn này

Bước 3: Tạo Chính sách tin cậy và vai trò IAM

Bước tiếp theo là tạo chính sách Tin cậy để xác định xem người dùng có phải là thực thể đáng tin cậy hay không. Chính sách tin cậy này sau đó sẽ được gắn với vai trò IAM. Để tạo chính sách Tin cậy và vai trò IAM, hãy điều hướng đến Dấu nhắc Lệnh và làm theo của Phương pháp 1 trong bài viết này.

Bước 4: Tạo khóa truy cập

Để người dùng được ủy quyền và xác thực, một cặp Khóa truy cập duy nhất trên toàn cầu trên nền tảng AWS sẽ được tạo. Cặp khóa này được sử dụng tại thời điểm đăng nhập vào tài khoản AWS. Để tạo Khóa truy cập cho người dùng IAM, hãy làm theo của Cách 1 trong bài viết này.

Bước 5: Định cấu hình thông tin xác thực

Người dùng AWS chỉ có thể truy cập tài nguyên và dịch vụ AWS nếu thông tin xác thực được định cấu hình chính xác. Trong phần Phương thức này, chúng tôi sẽ định cấu hình thông tin xác thực của người dùng IAM bằng cách cung cấp Khóa truy cập và Khóa truy cập bí mật cho Giao diện dòng lệnh. Với mục đích này, hãy làm theo của Phương pháp 1 của hướng dẫn này.

Bước 6:  Giả sử vai trò IAM

Sau khi gắn thành công vai trò IAM và triển khai chính sách Tin cậy, giờ đây người dùng có thể đảm nhận vai trò IAM. Với mục đích này, hãy cung cấp lệnh sau cho CLI:

ôi tôi đang tạo-khóa truy cập --tên tài khoản người dùng mfa


Ở đây khóa đã được tạo thành công cho người dùng IAM. Lưu AccessKeyId và SecretAccessKey vì chúng sẽ được yêu cầu để đăng nhập vào tài khoản AWS:


Bước tiếp theo là định cấu hình Khóa truy cập trong AWS CLI. Sử dụng lệnh được đề cập dưới đây để định cấu hình CLI:

ôi cấu hình


Cung cấp Khóa truy cập và Khóa truy cập bí mật cho CLI để cấu hình:


Để xác minh xem người dùng IAM đã đăng nhập vào AWS CLI hay chưa, hãy sử dụng lệnh sau:

aws sts nhận dạng người gọi


Đầu ra của lệnh được đưa ra như sau cho biết người dùng đã đăng nhập thành công vào bảng điều khiển AWS:


Người dùng có quyền liệt kê các vai trò IAM trong tài khoản AWS. Lệnh đưa ra dưới đây được sử dụng để liệt kê các vai trò IAM:

ôi tôi là danh sách vai trò --truy vấn 'Vai trò[?RoleName == 'mfa-role'].[RoleName, Arn]


Trong lệnh trên: Tên vai trò: Trong trường này, hãy thay thế giá trị “mfa-role” bằng tên vai trò IAM của bạn.

Đầu ra của lệnh được đưa ra như sau:


Để đảm nhận vai trò IAM với MFA, hãy sử dụng lệnh giả định vai trò với các tham số bổ sung như số sê-ri và mã mã thông báo. Cung cấp lệnh sau cho CLI:

aws sts giả định vai trò --role-arn 'arn:aws:iam::123456789012:role/m-role' --role-session-name Phiên AWSCLI --số seri 'arn:aws:iam::012345678910:mfa/admindevice' --mã token '123456'


Trong lệnh trên:

    • –role-arn: Thay thế giá trị của trường này bằng ARN của vai trò IAM của bạn.
    • –role-session-name: Trong trường này, người dùng có thể cung cấp bất kỳ tên phiên nào bạn chọn.
    • -số seri: Thay thế giá trị của trường này bằng giá trị Mã định danh từ giao diện MFA đã được lưu trước đó.
    • –mã token: Giá trị này sẽ được thay thế bằng mã hiện tại được hiển thị trong giao diện VIP của Symantec.

Mã hiện tại hiển thị trong Symantec VIP được đưa ra như sau. Mã tương tự sẽ được sử dụng trong giá trị –token-code của lệnh:


Đầu ra của lệnh sẽ chứa các thông tin xác thực tạm thời như Mã thông báo phiên, Khóa truy cập, Khóa truy cập bí mật, v.v.:

Bước 7: Cấu hình biến môi trường

Các khóa truy cập và mã thông báo phiên được trả về hiện sẽ được sử dụng để thiết lập thông tin đăng nhập dựa trên phiên và đảm nhận vai trò này. Việc triển khai chi tiết để định cấu hình môi trường được thảo luận trong của Phương pháp 1.

suy nghĩ cuối cùng

Để đảm nhận vai trò bằng CLI, có ba phương pháp, tức là thông qua STS (dịch vụ mã thông báo bảo mật), tham số –profile hoặc MFA (Xác thực đa yếu tố). Để người dùng đảm nhận vai trò, trước tiên phải thiết lập chính sách Tin cậy. Chính sách tin cậy này xác định xem người dùng có phải là thực thể đáng tin cậy hay không. Chức năng này là cần thiết vì nó giải quyết các mối lo ngại về bảo mật của các chuyên gia và cá nhân CNTT. Hơn nữa, người dùng chỉ có thể đảm nhận vai trò này nếu được trang bị các quyền cần thiết.

Khi người dùng đảm nhận một vai trò trong AWS, thông tin đăng nhập dựa trên phiên sẽ được tạo để cung cấp quyền truy cập trong thời gian giới hạn cho người dùng với các quyền mong muốn. Mã thông báo được tạo sẽ hết hạn sau một thời gian cụ thể và do đó, người dùng không thể thực hiện tác vụ quản trị bằng tài nguyên AWS nữa. Bài viết này cung cấp cách triển khai thực tế của ba phương pháp để đảm nhận vai trò trong AWS CLI.