2. 账号与权限准备:阿里云账号注册、RAM用户创建、IoT权限策略配置
好,咱们正式开始动手前的准备工作。说实话,很多新手一上来就急着创建设备实例,结果权限没配好,后面各种报错,排查起来特别头疼。我自己的习惯是,先把账号和权限这摊子事理清楚,后面才能跑得顺畅。
这一节,咱们就聊聊怎么注册阿里云账号、创建RAM用户,以及配置IoT的权限策略。嗯,这三步走完,你才算真正拿到了阿里云IoT的入场券。
2.1 阿里云账号注册
这个其实没啥技术含量,但有个坑我得先提一下。我个人建议,千万别用个人邮箱注册企业账号。为什么?因为一旦你离职了,账号交接会非常麻烦。
注册流程很简单,你打开阿里云官网,点击「免费注册」,按提示填信息就行。这里我重点说几个要点:
- 账号类型: 选「企业账号」,别选个人。企业账号后续可以做更细粒度的权限管控。
- 实名认证: 这一步必须做。没有实名认证,很多IoT服务是开不了的。企业认证需要营业执照,个人认证需要身份证,大概1-2个工作日审核。
- 安全设置: 注册完第一件事,就是绑定手机号和备用邮箱,开启多因素认证(MFA)。你想想看,万一账号被盗,你的IoT设备可能就被人控制了,这可不是闹着玩的。
2.2 RAM用户创建
账号注册好了,你是不是觉得直接用主账号干活就行了?千万别!主账号就像一把万能钥匙,权限太大了。我建议你永远不要用主账号做日常操作。
正确的做法是:创建RAM(Resource Access Management)用户。说白了,就是给团队成员创建独立的子账号,每个人只给够用的权限。
创建RAM用户的步骤,我简单梳理一下:
- 登录阿里云控制台,进入RAM访问控制。
- 点击「用户」→「创建用户」。
- 填写登录名称和显示名称。登录名称建议用员工工号或拼音,比如
zhangsan。 - 选择访问方式:控制台访问(用于网页登录)和OpenAPI调用访问(用于程序调用)。
- 设置密码。我建议勾选「要求下次登录时重置密码」。
嗯,这里要注意一点:创建完用户后,系统会生成一个AccessKey ID和AccessKey Secret。这个Secret只显示一次,一定要保存好。我曾经有个同事,把Secret截图发到了群里,结果第二天就被安全部门约谈了。
2.3 IoT权限策略配置
用户创建好了,接下来就是授权。阿里云的权限控制是基于策略(Policy)的。说白了,就是写一段JSON,告诉系统「这个用户能干什么,不能干什么」。
对于IoT企业版,我一般会配置以下几种策略:
| 策略名称 | 适用场景 | 权限范围 |
|---|---|---|
| AliyunIOTFullAccess | 管理员 | IoT全部操作权限 |
| AliyunIOTReadOnlyAccess | 查看人员 | 只读权限,不能修改 |
| 自定义策略 | 开发人员 | 仅允许操作特定实例和设备 |
我个人最推荐的是自定义策略。为什么呢?因为FullAccess权限太大了,万一误操作,可能把整个实例删了。ReadOnly又太局限,开发人员没法调试。
下面是一个自定义策略的示例,只允许操作指定实例下的设备:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:RegisterDevice",
"iot:QueryDeviceDetail",
"iot:Pub",
"iot:Sub"
],
"Resource": [
"acs:iot:*:*:instance/i-xxxxxx",
"acs:iot:*:*:instance/i-xxxxxx/device/*"
]
}
]
}
你看,这个策略只允许在实例 i-xxxxxx 下注册设备、查询设备详情、发布和订阅消息。其他操作,比如删除实例、修改实例配置,都是不允许的。
2.4 避坑指南与最佳实践
最后,我总结几个我在项目中踩过的坑,希望能帮你少走弯路:
- AccessKey泄露: 我曾经在一个GitHub仓库里发现了AccessKey,吓得我赶紧去RAM控制台吊销了。记住,永远不要把AccessKey提交到代码仓库。可以用环境变量或者阿里云的Secrets Manager来管理。
- 权限未生效: 有时候你配了策略,但用户还是报错「无权限」。别急,可能是缓存问题。等1-2分钟再试,或者让用户重新登录一下。
- 跨账号授权: 如果你有多个阿里云账号(比如开发账号和生产账号),可以用RAM的「跨账号授权」功能。但要注意,跨账号授权一定要写清楚资源范围,别把生产环境的权限给了开发人员。
好了,账号和权限这块就聊这么多。你把这些配置好,后面创建实例和管理设备的时候,就会顺畅很多。下一节,咱们就开始创建IoT企业版实例了,到时候见。