Skip to content

Latest commit

 

History

History
77 lines (64 loc) · 3 KB

1.md

File metadata and controls

77 lines (64 loc) · 3 KB

开启阿里云的钥匙

从现在正式开始编写运维平台的功能,目标只针对使用阿里云为载体的运维.
当然了,如果使用的是其它的云平台,也是可以修改一下就支持的(或者混合使用).
因为要基于阿里云就涉及到使用接口操作阿里云,因此就需要有对应的key及密钥.
所以先做一个管理阿里云key的功能.
原本这个key和密钥其实可以作为程序的一个配置项管理的,但是如果有变更需要重启服务.
因此,我们直接在编写功能来管理.

tag: 0.5.1

后端

我们只需要使用一个阿里云的key就够了,但是我设计成一个列表,可以填写多个.
但是同一时间只允许有一个key处于启用状态.
key的使用原则

  1. 需要给对应的key赋予足够的权限.
  2. 只要是人使用,key就有泄露的风险,所以我们的key可能定期就要更新.
    这里提供记录多个key的目的其实也是为了解决更新的问题.
    添加了新的key,启用后,测试。如果有问题,可以快速启用原来的key.
    当新key正常使用后,可以删除原来的key.

涉及文件及目录

asset/manager/models.py
asset/manager/controllers/aliyun_key.py
asset/manager/apis/aliyun_key.py
asset/manager/urls/aliyun_key.py
asset/manager/urls/__init__.py
asset/urls.py
rurality/urls.py
rurality/settings.py

代码

asset/manager/models.py:
AliyunKeyModel三个字段,key/secret/status,其中secret在存储时,其实可以使用加密存储,但是这里没有那么做.
并且这个secret需要做权限控制的,并不是谁都可以看到,所以就需要用到之前权限管理中的数据权限控制(暂时没有做,之后会加).


asset/manager/controllers/aliyun_key.py、 asset/manager/apis/aliyun_key.py、 asset/manager/urls/aliyun_key.py:
操作阿里云key的接口,都是用之前写的其它模块的复制替换出来的.


asset/manager/urls/init.py、 asset/urls.py、 rurality/urls.py:
如果管理多级目录的url.


rurality/settings.py:
INSTALLED_APPS中添加了asset.manager.

前端

涉及文件及目录

src/api/asset/aliyun_key/url.js
src/api/asset/aliyun_key/index.js
src/views/asset/aliyun_key/index.vue
src/views/asset/aliyun_key/components/ObjDialog/index.vue
src/router/modules/system.js

代码

src/api/asset/aliyun_key/url.js
src/api/asset/aliyun_key/index.js
src/views/asset/aliyun_key/index.vue
src/views/asset/aliyun_key/components/ObjDialog/index.vue

所有文件都是复制替换项目的文件生成.


src/router/modules/system.js:
这里说一下,我虽然把aliyun_key划分到了asset下,但是菜单路由还是配置在了system里.
因为我觉得这里更合适,就这么简单.
其实我更倾向于弄一个配置页面,所有类似的配置信息都放到配置页中,因为现在还没有,所以就以当前这种形式管理.