Mục đích của AssumeRolePolicyDocument trong IAM là gì?


16

Tôi bối rối không biết mục đích của AssumeRolePolicyDocument là gì.
Dường như để tạo ra một vai trò tất cả những gì bạn cần là một tên cha mẹ mà bạn có thể đính kèm chính sách. Có vẻ như AssumeRolePolicyDocument là tên cha mẹ nhưng bằng cách nào đó có nhiều hơn thế. Cái này đang làm gì vậy

       "AssumeRolePolicyDocument": {
                "Version": "2012-10-17",
                "Statement": [
                    {
                        "Effect": "Allow",
                        "Principal": {
                            "Service": [
                                "lambda.amazonaws.com"
                            ]
                        },
                        "Action": [
                            "sts:AssumeRole"
                        ]
                    }
                ]
            },

Câu trả lời:


6

Nó khá tự mô tả. Mục đích của việc AssumeRolePolicyDocumentnày là để chứa chính sách mối quan hệ tin cậy cho phép thực thể cho phép đảm nhận vai trò này.

Trong ví dụ của bạn, nó cấp cho dịch vụ Lambda khả năng giả định

Người giới thiệu

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html

https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html


1
Tôi đoán tôi bối rối tại sao nó phải đảm nhận một vai trò? Tại sao không thể chỉ định một chính sách cho nó?
mutant_city

@mutant_city, Bạn cần cho phép Lambda đảm nhận vai trò. Nếu không làm như vậy Lambda sẽ không thể làm bất cứ điều gì trong môi trường của bạn. Vai trò này có các chính sách được giao cho nó mang lại cho Lambda những đặc quyền cần thiết để thực hiện công việc của mình.
kenlukas

Đồng ý. Vì vậy, bạn cho phép lambda đảm nhận vai trò mà bạn đã đính kèm chính sách của mình với ... về cơ bản?
mutant_city

vâng, tóm lại là vậy.
kenlukas

5

Mục đích của tài liệu chính sách vai trò là cấp quyền cho thực thể IAM để đảm nhận vai trò . Nó còn được gọi là "chính sách ủy thác vai trò".

Nói cách khác, đối với các quyền đã cho mà bạn đã đặt, nó cho phép người dùng từ một tài khoản AWS nhất định đảm nhận vai trò này và truy cập vào tài khoản đó .

Bạn nên cập nhật chính sách ủy thác vai trò để hạn chế quyền truy cập chỉ những người dùng được ủy quyền, nếu không, bất kỳ tài khoản AWS nào cũng có thể đảm nhận vai trò và truy cập vào tài khoản đó.

Bằng cách chỉ định Hiệu trưởng sử dụng Tên tài nguyên Amazon (ARN) của tài khoản AWS, người dùng IAM, vai trò IAM, người dùng được liên kết hoặc người dùng vai trò giả định, bạn cho phép hoặc từ chối quyền truy cập để đảm nhận vai trò đó ( sts:AssumeRole).


0

Đối với bất cứ ai đang gãi đầu tại hội nghị đặt tên:

AssumeRolePolicyDocument (trong CloudFormation yaml) = Mối quan hệ tin cậy (trong GUI web của Bảng điều khiển AWS)

Chính sách (trong CloudFormation yaml) = Quyền (trong GUI web của Bảng điều khiển AWS)


0

Tôi nghĩ rằng nó rõ ràng hơn nhiều khi xem xét người dùng tạo ra vai trò không nhất thiết là người gắn nó để sử dụng ở đâu đó:

  • AssumeRolePolicyDocumentlà một hạn chế được đặt bởi người dùng tạo ra vai trò - ví dụ có thể là quản trị viên. Nó ngăn người dùng khác gắn nó vào bất kỳ dịch vụ / người dùng AWS nào họ muốn. Ngoài ra, nó không nói gì về nơi nó thực sự được sử dụng. Đó là sự bảo vệ về phía Vai trò (coi Vai trò là tài nguyên cũng cần được bảo vệ).

  • OTOH, thực sự gán vai trò cho một dịch vụ / người dùng, được thực hiện bởi những người dùng thực sự cần một số dịch vụ để có quyền. Và họ chỉ được phép làm điều đó nếu Vai trò AssumeRolePolicyDocumentcho phép.

Cấp, khi bạn là người dùng duy nhất bạn có thể không quan tâm nhiều về nó. Mặc dù vậy, nó bổ sung thêm bảo mật và tài liệu (cưỡng bức :)) cách sử dụng vai trò này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.