Powershell AWS 自动化管理 (6) - IAM

这一节继续学习如何使用PowerShell来管理IAM的基本功能,主要包括user,group,role和policy的创建和配置。


创建组

1
New-IAMGroup  -GroupName "powerUsers"

Powershell AWS 自动化管理 (6) - IAM


创建新用户

1
New-IAMUser -UserName "myNewUser"

Powershell AWS 自动化管理 (6) - IAM


把用户加入组中

1
Add-IAMUserToGroup -UserName myNewUser -GroupName powerUsers


确认一下成功

Powershell AWS 自动化管理 (6) - IAM


接下来是重头戏,给用户或者组分配权限。权限的分配是通过policy来实现的,AWS里面定义policy都是根据Json格式来实现的,具体的语法结构参考

1
#Policy element

http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Version


举个例子,允许该用户访问除IAM之外的所有服务,可以这么定义

1
2
3
4
5
6
7
8
9
10
11
12
13
$policyDoc @"
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"NotAction": "iam:*",
"Resource": "*"
}
]
}
"@
Write-IAMUserPolicy -UserName myNewUser -PolicyName "PowerUserAccess-myNewUser-201211201605" -PolicyDocument $policyDoc


查看一下

1
get-iamuserpolicy -UserName mynewuser -PolicyName "PowerUserAccess-myNewUser-201211201605"

Powershell AWS 自动化管理 (6) - IAM


成功配置policy

Powershell AWS 自动化管理 (6) - IAM


别忘了给用户设置密码和安全码

1
New-IAMLoginProfile -UserName myNewUser -Password "&!123!&"

Powershell AWS 自动化管理 (6) - IAM

1
New-IAMAccessKey -UserName myNewUser

 

Powershell AWS 自动化管理 (6) - IAM


最后,我们来看看如何配置IAMRole。


比如说,我打算配置一个IAMRole,允许EC2的实例能够有权限访问S3存储的资料。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#IAM Role
$policy=@"
{
  "Version": "2012-10-17",
  "Statement": [
   
      {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
    ]
}
"@
new-iamrole -RoleName "newec2-s31" -AssumeRolePolicyDocument $policy

Powershell AWS 自动化管理 (6) - IAM

执行之后,可以看见trust relationship已经配置了


Powershell AWS 自动化管理 (6) - IAM

下一步需要指定EC2可以访问的资源,这里指定所有的S3资源


1
2
3
4
5
6
7
8
9
10
11
12
13
14
$policy2 @"
{
"Version": "2012-10-17",
"Statement": [
    {
    "Effect": "Allow",
    "NotAction": "s3:*",
    "Resource": "*"
    }
]
}
"@
  
 Write-IAMRolePolicy -PolicyDocument $policy2 -RoleName "newec2-s31" -PolicyName "allows3"


执行之后可以看见已经配置好了

Powershell AWS 自动化管理 (6) - IAM






本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1804251,如需转载请自行联系原作者