# 安全边界
云服务的责任共担模型是一种合作方式，其中云服务提供商和云服务客户共同承担云服务的安全和合规性责任。这种模型是为了确保云服务的安全性和可靠性而设计的。
根据责任共担模型，云服务提供商和云服务客户各自有一些责任。云服务提供商负责管理云基础架构，提供安全的硬件和软件基础设施，并确保云基础架构的可用性。而云服务客户则需要负责保护自己的数据和应用程序，以及遵守相关的合规性要求。
具体而言，云服务提供商应该提供以下服务和功能：
- 建立和维护安全的基础设施，包括网络、服务器和存储设备等。
- 提供安全的底层基础平台，保证底层环境的运行时安全。
- 提供安全的身份验证和访问控制机制，以确保只有授权用户可以访问云服务，保证租户之间的相互隔离。
- 提供可靠的备份和灾难恢复机制，以确保数据不会因为硬件故障或自然灾害等原因而丢失。
- 提供透明的安全监控和事件响应服务，及时的安全更新和漏洞修补。
而云服务客户则需要执行以下任务：
- 将数据和应用程序加密，以保护数据的机密性和完整性。
- 确保模型的相关软件都得到及时的安全更新和漏洞修补。
- 遵守相关的合规性要求，如GDPR、HIPAA、PCI DSS等。
- 进行适当的访问控制，以确保只有授权用户可以访问管理在线服务等相关资源。
- 监控和报告任何异常活动，并及时采取措施。
#### 推理部署安全责任
- 提供商
  - 底层ecs相关的系统补丁修复
  
  - k8s的版本更新和漏洞修复
  
  - 虚拟机OS的版本生命周期维护
  
  - ModelArts推理平台自身的安全合规性
  
  - 容器应用服务加固
  
  - 模型运行环境的版本更新和漏洞定期修复
   
 
- 客户侧
  - 资源的授权，访问控制
  
  - 保证应用的供应链安全，依赖和自身的安全性，安全扫描、审计和准入校验机制，保证制品源头的安全性
  
  - 权限配置和凭证下发权限最小化
  
  - 模型运行时（自定义镜像，OBS模型和依赖）的安全性
  
  - 及时更新修复安全问题
  
  - 凭证等敏感数据的安全存储
   
#### 推理部署安全最佳实践
- 外部依赖服务 ModelArts推理使用中需要用到一些其他的云服务，当您需要授权时，可以根据实际所需的权限范围进行自定义授权，其中模型管理依赖OBS相关权限，租户可以细化权限到具体ModelArts使用的桶。
  
- 内部资源授权 ModelArts推理当前已支持细粒度授权，租户可以根据实际的权限要求对子用户进行相应的权限配置，限制某些资源的管理，实现权限最小化。
  
- 模型管理 使用从训练或者从OBS中选择创建模型，推荐用户使用动态加载的方式导入，动态加载实现了模型和镜像的解耦，便于进行模型资产的保护。用户需要及时更新模型的相关依赖包，解决开源或者第三方包的漏洞。模型相关的敏感信息，需要解耦开，在"在线服务"部署时进行相应配置。请选择ModelArts推荐的运行时环境，旧的运行环境官方已停止维护，可能存在安全漏洞。
  使用从容器镜像中选择创建模型时，在构建镜像环节，需要采用业界公开的可信基础镜像，例如来自OpenEuler，Ubuntu等的发布镜像，镜像运行用户需要创建非root普通用户，不能采用root用户直接运行。镜像中只安装运行时依赖的安全包，减少镜像的大小，同时安装包需要更新到最新的无漏洞版本。敏感信息和镜像解耦，可以在服务部署时配置，不能直接硬编码在Dockerfile中。定期针对镜像进行安全扫描，及时安装补丁修复漏洞。增加健康检查接口，确保健康检查可以正常返回业务状态，便于告警和故障恢复。容器应该采用https的安全传输通道，并使用业界推荐的加密套件保证业务数据的安全性。
  
- 部署上线 部署服务时，需要注意为服务设置合适计算节点规格，防止服务因资源不足而过载或者资源过大而浪费。尽量避免在容器中监听其他端口，有本地内部需要访问的其他端口，监听在localhost上。避免通过环境变量传递敏感信息，需要通过加密组件进行加密后再通过环境变量配置。
  部署在线服务，当打开APP认证时，app认证密钥是在线服务的另一个访问凭据，需要妥善保存app密钥，防止泄露。
  
 
#### ModelArts安全加固说明
为保障平台和用户的业务安全性，ModelArts已对公共池和专属池实施安全加固措施，具体包括：
- SSH访问限制：默认屏蔽容器访问22端口。
- 主机NFS服务访问限制：默认屏蔽容器访问20048、2049端口。
- Kubernetes API Server访问限制：默认屏蔽容器访问10250端口。
- VXLAN协议端口限制：默认屏蔽容器访问4789端口。
- 容器访问openstack的管理地址限制：默认屏蔽容器访问169.254.169.254。
 
