容器安全-如何实现 Pod 权限隔离|学习笔记

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 快速学习容器安全-如何实现 Pod 权限隔离

开发者学堂课程【5分钟玩转阿里云容器服务容器安全-如何实现 Pod 权限隔离】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1038/detail/16047


容器安全-如何实现 Pod 权限隔离


内容介绍

一、容器安全-如何实现 Pod 权限隔离

一、容器安全-如何实现 Pod 权限隔离

RRSA 的全称叫 RAM Roles for Service Accounts,中文名称叫做使用于服务账户的 RAM 角色。

通过 RC 功能,我们可以在集群内实现 pod 维度的 OpenAPI 权限隔离。

将演示如何为集群开启 RSSA 功能,以及通过一个 demo 程序向大家演示 RSSA 功能的实际工作效果。

首先我们来开启 RSSA 功能,我们可以直接在控制台上开启 RSSA 功能,只需要点击集群信息页面的启用 RSSA 功能按钮即可。可以看到原件启用层功能。

image.png

这里会有一个 RSSA OIDC 提供商 URL 以及在 RAM 的 SSO 管理页面。我们可以看到一个专属的身份提供商。

image.png

下面演示一下如何使用 RSSA 功能。

首先需要创建一个 RAM 角色,我们的应用程序将用这个 RAM 角色所使用的权限来访问云资源。

image.png

然后就是修改角色的信任策略,信任我们的服务账户。第三就是为 RAM 角色授权授予这个角色我们程序所需要的云资源访问权限。最后就是部署应用程序的配置中的这个 audience 。配置的值必须是 sts.aliyuncs.com 。

我们的示例应用程序的域名空间是 rrsa- demo-ns  所使用的服务账户是 sa-a 对应的角色是 rras- demo-ns 。我们先来创建对应的 RAM角色。这里需要配置我们程序所使用的服务账户。替换一下相应的命名空间或服务账户信息。我们来看一下对应的信任策略。完成了信任策略的配置之后,我们还需要为它授予相应的任务权限。

我们来看一下这个权限策略的内容,我们来看一下我们程序的样。首先它是下载了一个 social counter token。

我们的程序执行成功了,通过日志可以看到它可以正确的访问对应的云资源,并且拿到我们想要的结果。

作为对比,我创建了另外一个应用程序,它跟前面这个应用程序唯一的区别就是它们使用的服务账户不一样,预期我们这个使用 sa-b 这个服务账户的程序部署以后将没有任何的权限。

可以看到这位程序适应失败了,来看一下日志,日志中的报错时说他没有任何的权限

image.png

所以这个结果是符合预期的。

相关文章
|
3月前
|
存储 消息中间件 容器
当一个 Pod 中包含多个容器时,容器间共享一些重要的资源和环境,这使得它们能够更有效地协同工作和交互。
当一个 Pod 中包含多个容器时,容器间共享一些重要的资源和环境,这使得它们能够更有效地协同工作和交互。
|
15天前
|
存储 Kubernetes Docker
【赵渝强老师】Kubernetes中Pod的基础容器
Pod 是 Kubernetes 中的基本单位,代表集群上运行的一个进程。它由一个或多个容器组成,包括业务容器、基础容器、初始化容器和临时容器。基础容器负责维护 Pod 的网络空间,对用户透明。文中附有图片和视频讲解,详细介绍了 Pod 的组成结构及其在网络配置中的作用。
【赵渝强老师】Kubernetes中Pod的基础容器
|
15天前
|
运维 Kubernetes Shell
【赵渝强老师】K8s中Pod的临时容器
Pod 是 Kubernetes 中的基本调度单位,由一个或多个容器组成,包括业务容器、基础容器、初始化容器和临时容器。临时容器用于故障排查和性能诊断,不适用于构建应用程序。当 Pod 中的容器异常退出或容器镜像不包含调试工具时,临时容器非常有用。文中通过示例展示了如何使用 `kubectl debug` 命令创建临时容器进行调试。
|
15天前
|
Kubernetes 调度 容器
【赵渝强老师】K8s中Pod中的业务容器
Pod 是 Kubernetes 中的基本调度单元,由一个或多个容器组成。除了业务容器,Pod 还包括基础容器、初始化容器和临时容器。本文通过示例介绍如何创建包含业务容器的 Pod,并提供了一个视频讲解。示例中创建了一个名为 "busybox-container" 的业务容器,并使用 `kubectl create -f firstpod.yaml` 命令部署 Pod。
|
15天前
|
Kubernetes 容器 Perl
【赵渝强老师】K8s中Pod中的初始化容器
Kubernetes的Pod包含业务容器、基础容器、初始化容器和临时容器。初始化容器在业务容器前运行,用于执行必要的初始化任务。本文介绍了初始化容器的作用、配置方法及优势,并提供了一个示例。
|
2月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
针对软件供应链的攻击事件在以每年三位数的速度激增,其中三方或开源软件已经成为攻击者关注的重要目标,其攻击方式和技术也在不断演进。通过供应链的传播,一个底层软件包的漏洞的影响范围可以波及世界。企业亟需更加标准和完善的供应链风险洞察和防护机制。本文将结合最佳实践的形式,面向容器应用完整的生命周期展示如何基于容器服务ACK/ACR/ASM助力企业构建云原生软件供应链安全。
|
2月前
|
云安全 安全 Serverless
Serverless 安全新杀器:云安全中心护航容器安全
Serverless 安全防护能力除了支持目前既定的等保合规(漏洞扫描、入侵检测、基线检测等)、安全隔离的能力外还支持 WAF 防火墙、支持通信加密、操作审计、权限管控等能力,也正是有了这些能力的加持,SAE 才能很好的服务了金融、政企、医疗等行业的客户;Serverless(SAE)未来还计划规划更多安全能力为企业保驾护航,包括:代码安全扫描、加密、堡垒机、最小权限、身份与访问管理、以及更多的攻击防护等能力的建设。
|
2月前
|
Shell Docker 容器
10-19|使用date命令: 你可以在容器内使用date命令来设置时间,但为了防止这个更改影响宿主机,你不能以特权模式运行容器。我没有加特权模式的时候,使用此命令告诉我没权限啊
10-19|使用date命令: 你可以在容器内使用date命令来设置时间,但为了防止这个更改影响宿主机,你不能以特权模式运行容器。我没有加特权模式的时候,使用此命令告诉我没权限啊
|
3月前
|
消息中间件 Kubernetes 容器
在K8S中,同⼀个Pod的不同容器互相可以访问是怎么做到的?
在K8S中,同⼀个Pod的不同容器互相可以访问是怎么做到的?
|
3月前
|
存储 Kubernetes 数据中心
在K8S中,同⼀个Pod内不同容器哪些资源是共用的,哪些资源是隔离的?
在K8S中,同⼀个Pod内不同容器哪些资源是共用的,哪些资源是隔离的?
下一篇
无影云桌面