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

简介:

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


创建组

1
New-IAMGroup   -GroupName  "powerUsers"

wKiom1d8mRiAe1KZAADSFTZiU-c298.png


创建新用户

1
New-IAMUser  -UserName  "myNewUser"

wKioL1d8mRuz0nL0AADvzyZj-jE246.png


把用户加入组中

1
Add-IAMUserToGroup  -UserName myNewUser -GroupName powerUsers


确认一下成功

wKiom1d8mR_QJeHJAAAsbKz5JCY083.png


接下来是重头戏,给用户或者组分配权限。权限的分配是通过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"

wKiom1d8mSLCUkizAAD0sp_4oPY445.png


成功配置policy

wKioL1d8mSWiXwt5AACL0PrrBOE362.png


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

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

wKioL1d8mSniKHpbAACqwIANb3U623.png

1
New-IAMAccessKey  -UserName myNewUser

 

wKioL1d8nCejhHM0AADmK24H2HI152.png


最后,我们来看看如何配置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

wKiom1d8mU3xR-4oAAILLgLGNtk478.png

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


wKioL1d8mVDwO_AuAABzWFt89vU649.png

下一步需要指定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"


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

wKioL1d8mVSBbB3aAABlSB6J5L0721.png






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

相关文章
员工网络监控软件:PowerShell 在网络监控自动化中的应用
在数字化办公环境中,企业对员工网络活动的监控需求日益增长。PowerShell 作为一种强大的脚本语言,能够有效实现员工网络监控自动化。本文介绍了如何使用 PowerShell 获取网络连接信息、监控特定网址的访问情况,并生成自动化报告,帮助企业高效管理员工网络活动,确保网络安全和合规性。
145 0
PowerShell 脚本编写 :自动化Windows 开发工作流程
PowerShell 脚本编写 :自动化Windows 开发工作流程
279 0
ERP系统中的工作流管理与自动化
【7月更文挑战第25天】 ERP系统中的工作流管理与自动化
486 2
ERP系统中的工作流管理与自动化
使用PowerShell进行自动化脚本编写:入门与实战
【6月更文挑战第6天】本文介绍了PowerShell作为Windows系统管理的自动化工具,用于提升效率和减少错误。内容涵盖PowerShell基础,如变量、命令执行、管道、条件和循环语句、函数。实战案例展示了如何用PowerShell脚本进行文件备份。此外,还提及PowerShell的进阶功能,如模块、远程管理和与其他工具集成。学习和应用PowerShell能有效提升IT运维自动化水平。
智能化运维的崛起:自动化与人工智能在IT管理中的融合
本文深入探讨了智能化运维在现代企业中的重要性,并分析了自动化技术和人工智能(AI)如何共同推动IT运维管理的革新。文章首先概述了传统运维面临的挑战,然后详细介绍了智能化运维的核心概念和实施步骤,最后通过具体案例展示了智能化运维在实际工作中的应用效果和潜在价值。
223 0
自动化合同管理与执行
【4月更文挑战第30天】
54 2
自动化软件包安装与管理
【4月更文挑战第30天】
59 0
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
102 14
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
135 4
下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等