2015-02-20 9 views
1

Я следовал документы на AWS http://docs.aws.amazon.com/IAM/latest/UserGuide/PolicyVariables.html

и вопрос на Can an aws IAM policy dynamically refer to the logged in username?

создать политику для пользователя в список своих полномочий в соответствии с веб-консоли/пользователям, чтобы он мог создавать свои собственные ключи.

user/Alpha

{ 
    "Version": "2012-10-17", 
    "Statement": [{ 
     "Effect": "Allow", 
     "Action":["iam:*"], 
     "Resource":["arn:aws:iam::{myacctnumber}:user/${aws:username}"] 
    } 
    ] 
} 

, когда я придаю политику к user/Alpha, а затем открыть новый браузер и войти как пользователь Альфа> консоль> пользователей, я получаю сообщение об ошибке

We encountered the following errors while processing your request 
X User: arn:aws:iam::{myacctnumber}:user/Alpha is not authorized to perform: iam ListUsers on resource: arn:aws:iam::{myacctnumber}:user/ 

сведению user/ не отображает дружественное имя, как можно было бы ожидать от $ {aws: username}.

Я также попытался изменить политику

{ 
    "Version": "2012-10-17", 
    "Statement": [{ 
     "Effect": "Allow", 
     "Action":["iam:*"], 
     "Resource":["arn:aws:iam::{myacctnumber}:user/Alpha"] 
    } 
    ] 
} 

, но те же появится сообщение об ошибке.

Если я еще одно изменение ресурса и сделать его метасимволов

"Resource":["arn:aws:iam::{myacctnumber}:user/*"] 

полный список пользователей отображается пользователю Alpha

мне нужны дополнительные разрешения, чтобы позволить пользователю Do видеть только себя?

ТНХ Art

ответ

0

консоль, при отображении списка пользователей, использует вызов iam:ListUsers API. Этот вызов не может быть ограничен ресурсом.

Таким образом, консоль будет работать правильно, если вы предоставите политику, которая позволяет ListUsers вызов, например:

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

Единственный другой способ для пользователя, чтобы обновить свои собственные настройки будет через AWS Command-Line Interface (CLI) или API, так как они могут избежать необходимости звонить ListUsers.

Смежные вопросы