2014-12-03 15 views
6

Tôi có một số tài khoản quản trị cho các nhà phát triển của mình, những người có thể quản trị tất cả tài nguyên aws nhưng không thể quản lý người dùng/tài sản gốc. Do đó, tôi giới hạn quyền truy cập vào IAM thông qua chính sách sau:Chính sách AWS IAM cho phép người dùng thay đổi mật khẩu của họ trong khi chặn truy cập vào IAM

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "NotAction": "iam:*", 
     "Resource": "*" 
    } 
    ] 
} 

Tuy nhiên, những người dùng này có thể thay đổi mật khẩu của riêng họ. Làm thế nào tôi có thể chặn chúng từ IAM nhưng cho phép họ thay đổi mật khẩu của họ?

Trả lời

5

Chính sách bạn đã chỉ định cấp quyền truy cập vào tất cả các hành động ngoại trừ các hành động cho AWS Identity and Access Management (IAM).

Vì vậy, để cho phép người dùng thay đổi mật khẩu của họ, đính kèm một chính sách (bổ sung) cho người dùng/nhóm đó cấp phép thay đổi mật khẩu:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "SomeSID", 
     "Effect": "Allow", 
     "Action": [ 
     "iam:ChangePassword" 
     ], 
     "Resource": [ 
     "*" 
     ] 
    } 
    ] 
} 

Trong khi "từ chối" thường ghi đè lên "cho phép", các chính sách ban đầu không sử dụng từ chối - nó chỉ được cấp quyền cho mọi thứ ngoại trừ IAM. Do đó, bổ sung "cho phép" sẽ cấp quyền mong muốn.

0

Amazon provides an example policy mà không yêu cầu bằng tay xác định id của người dùng cho mỗi người dùng:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "iam:*LoginProfile", 
     "iam:*AccessKey*", 
     "iam:*SSHPublicKey*" 
     ], 
     "Resource": "arn:aws:iam::account-id-without-hyphens:user/${aws:username}" 
    }, 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "iam:ListAccount*", 
     "iam:GetAccountSummary", 
     "iam:GetAccountPasswordPolicy", 
     "iam:ListUsers" 
     ], 
     "Resource": "*" 
    } 
    ] 
} 

Tuy nhiên, thay đổi mật khẩu (ít nhất là trong khi đăng nhập ban đầu, khi "yêu cầu thay đổi mật khẩu trong lần đăng nhập đầu tiên" đã được đánh dấu khi tạo người dùng) dường như vẫn yêu cầu sự cho phép của iam:ChangePassword.

Một tùy chọn tốt hơn là kích hoạt chính sách mật khẩu và chọn hộp "Cho phép người dùng thay đổi mật khẩu của riêng họ"; điều này thực hiện chính xác như nó nói trên tin, không dò dẫm xung quanh.

Các vấn đề liên quan