首页 > 解决方案 > 如何使用 aws-cli 创建具有 AWS 托管策略的角色?

问题描述

我正在尝试使用 AWS 托管策略创建 IAM 角色,但它要求我提供策略文档。

aws iam create-role --role-name test-role 
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help
aws: error: argument --assume-role-policy-document is required

我正在尝试附加 aws 托管策略,例如AWSLambdaFullAccess

标签: amazon-web-servicesamazon-iam

解决方案


信任策略定义哪些委托人实体(账户、用户、角色和联合身份用户)可以担任该角色。每个 IAM 角色都需要一个信任策略。

通过 CLI 创建角色时,您必须指定信任策略。之后可以使用attach-role-policyput-role-policy命令将基于身份的策略(托管/内联)附加到角色。

以下信任策略允许 Lambda 服务代入此角色。您必须使用assume-role-policy-document选项提供此文件作为命令的输入。

信任策略.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "lambda.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
aws iam create-role --role-name Test-Role --assume-role-policy-document file://trust-policy.json

aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AWSLambdaFullAccess --role-name Test-Role

推荐阅读