AWSOpsWorks应用部署与IAM角色配置全解析
立即解锁
发布时间: 2025-08-20 01:12:15 阅读量: 1 订阅数: 3 


使用Node.js构建AWS云应用实战
### AWS OpsWorks 应用部署与 IAM 角色配置全解析
#### 1. IAM 角色创建的必要性与风险规避
在 AWS 环境中,将凭证存储在代码里存在安全风险,例如开发者离开项目或者装有应用本地副本的机器被盗或丢失。为避免这些风险,我们采用 IAM 角色来管理与其他服务的认证。这里需要创建两个新的 IAM 角色:一个用于托管应用的 EC2 实例,另一个允许整个应用栈代表我们执行操作。
#### 2. 创建实例角色
- **步骤**:
1. 返回 IAM 仪表盘,点击左侧导航栏的“Roles”。
2. 点击页面顶部的“Create New Role”按钮。
3. 输入角色名称,这里使用“aws - opsworks - photoalbums - ec2 - role”,命名格式为[服务]-[应用]-[角色],然后点击“Next Step”。
4. 选择角色类型,在服务角色选项框中,点击顶部的“Amazon EC2”,再点击“Select”。
5. 暂不选择策略,点击“Next Step”进入审核视图。
6. 审核无误后,点击“Create Role”。
#### 3. 创建服务角色
- **步骤**:
1. 返回 IAM 仪表盘的“Roles”标签页,再次点击“Create New Role”。
2. 命名新角色为“aws - opsworks - photoalbums - service - role”,命名格式同前。
3. 选择角色类型,滚动到列表末尾,点击“AWS OpsWorks”,再点击“Select”。
4. 在附加策略视图中,选择“AWSOpsWorksRole”,点击“Next Step”。
5. 审核策略后,点击“Create Role”。
#### 4. 服务角色策略分析
服务角色的默认策略文档如下:
```json
{
"Version": "2012 - 10 - 17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:GetMetricStatistics",
"ec2:DescribeAccountAttributes",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeInstances",
"ec2:DescribeKeyPairs",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs",
"elasticloadbalancing:DescribeInstanceHealth",
"elasticloadbalancing:DescribeLoadBalancers",
"iam:GetRolePolicy",
"iam:ListInstanceProfiles",
"iam:ListRoles",
"iam:ListUsers",
"iam:PassRole",
"opsworks:*",
"rds:*"
],
"Resource": [
"*"
]
}
]
}
```
- **策略说明**:
- `Effect`:表示允许此语句中的权限。
- `Action`:是一系列 AWS 服务和操作的数组。默认的 OpsWorks 角色仅启用了 CloudWatch API 的 `GetMetricStatistics` 权限,同时启用了 EC2 和 Elastic Load Balancing 的多种读取权限,以及 OpsWorks 和 RDS 的所有操作权限。
- `Resource`:`*
0
0
复制全文
相关推荐










