What’s AWS IAM and how it works

AWS IAM 是什么? AWS Identity and Access Management (IAM) 是 Amazon Web Services 提供的一项服务,用于 管理访问 AWS 资源的权限。通过 IAM,你可以定义谁可以访问哪些资源,以及允许他们进行什么操作。 AWS IAM 的用途 用户管理: 创建和管理 AWS 用户和组。 为用户分配登录凭证和权限。 访问控制: 通过策略 (Policy) 控制用户或服务的权限。 实现最小权限原则(仅赋予用户完成任务所需的最低权限)。 安全认证: 提供多因素认证 (MFA)。 使用访问密钥和临时凭证支持程序化访问。 跨账户访问: 使用角色允许用户或服务在多个 AWS 账户间访问资源。 与服务集成: 为 EC2 实例、Lambda 函数等分配角色,授权这些服务访问其他 AWS 服务(如 S3、DynamoDB)。 AWS IAM 的工作原理 IAM 的核心工作机制基于以下几个概念: 1. 关键实体 用户 […] →Read more

搞定最下面的乌龟

Solving the bottom turtle https://spiffe.io/pdf/Solving-the-bottom-turtle-SPIFFE-SPIRE-Book.pdf →Read more

Teleport Workload Identity 2

Teleport Workload Identity lets teams bootstrap and issue identities to services across heterogeneous environments and organizational boundaries. Easy setup and maintenance for AWS Roles Anywhere: Roles Anywhere to let non-AWS services talk to AWS: Teleport Workload Identity can be used as a Trust anchor for Roles Anywhere, making it easy to connect to AWS services […] →Read more

teleport workload identity 1

refer to https://goteleport.com/docs/enroll-resources/workload-identity/introduction/ Workload Identity Teleport的工作负载身份(Workload Identity)利用SPIFFE(安全生产身份框架)标准,为现代基础设施中的服务提供安全的身份认证。以下是关于Teleport工作负载身份及tbot如何使用SPIFFE的详细信息。 Teleport工作负载身份 SPIFFE标准 Teleport的工作负载身份实现了SPIFFE标准,允许为每个工作负载生成唯一的SPIFFE ID。这些身份以URI格式表示,包含信任域和工作负载标识符。通过这种方式,工作负载可以在Teleport集群内安全地相互认证,确保只有授权的服务能够访问彼此[1][3][5]。 SVID(可验证身份文档) 在Teleport中,SVID(SPIFFE可验证身份文档)通常以X.509证书或JWT令牌的形式存在。这些SVID由信任域的证书颁发机构签发,证明工作负载的身份。工作负载通过本地的SPIFFE代理获取这些SVID,从而实现安全通信[1][5][6]。 tbot的角色 tbot是一个代理程序,安装在需要身份的工作负载附近。它负责管理请求和更新这些工作负载的身份。具体来说,tbot执行以下功能: 身份请求与续订:tbot管理与Teleport集群的通信,自动请求和续订SVID。这意味着它可以定期更新工作负载的身份,以确保其有效性和安全性[1][3]。 认证机制:tbot使用多种加入方法来认证自己,以便能够向Teleport集群请求所需的身份。这些方法通常涉及到Unix用户ID和组等信息,从而实现对工作的有效认证[5][6]。 角色访问控制:通过Teleport的基于角色的访问控制系统,用户和机器人被授予特定角色,使其能够请求具有特定SPIFFE ID的身份。这种机制确保了只有经过授权的实体才能访问特定资源[1][3]。 总结 通过结合SPIFFE标准和tbot代理,Teleport为现代基础设施提供了一种安全、自动化的工作负载身份管理方案。这种方法不仅增强了安全性,还支持零信任架构,使得服务之间可以安全地进行认证和通信。 Citations: [1] https://goteleport.com/docs/enroll-resources/workload-identity/introduction/ [2] https://jimmysong.io/book/spiffe/integrating-with-others/ [3] https://goteleport.com/docs/enroll-resources/workload-identity/spiffe/ [4] https://blog.fleeto.us/post/something-about-spire/ [5] https://goteleport.com/resources/videos/teleport-workload-identity-with-spiffe/ [6] https://goteleport.com/teleport-workload-identity-with-spiffe/ [7] https://www.youtube.com/watch?v=uqBZ1oNYo6c [8] https://goteleport.com/blog/workload-identity/ SPIFFE(Secure Production Identity Framework for Everyone)是一个开源标准,旨在为现代分布式系统提供安全的身份认证。它的主要目的是在动态和异构环境中实现软件系统的身份识别,以支持微服务、容器编排和云计算等技术的应用。 SPIFFE的核心概念 SPIFFE ID:这是一个唯一标识符,使用URI格式表示,通常以spiffe://开头,后面跟随信任域和工作负载标识。例如,spiffe://example.com/payment/web-fe。 SVID(SPIFFE Verifiable Identity Document):这是一个加密的身份文档,用于证明工作负载的身份。SVID可以通过受信任的证书颁发机构(CA)进行签署,以确保其有效性。 工作负载API:这是一个本地API,允许服务在不需要人工干预的情况下自动获取身份。 信任包:包含用于验证SPIFFE ID的公钥集合,确保不同工作负载之间能够安全地共享身份信息。 SPIFFE的作用 […] →Read more

How AWS SSM Agent Works for Credential Management

The AWS Systems Manager (SSM) Agent is a lightweight software component installed on your instances (e.g., EC2, on-premises servers, or VMs). It facilitates secure communication between your instance and the AWS Systems Manager service. A key feature of the SSM Agent is the ability to retrieve and update credentials dynamically to interact with AWS services […] →Read more

What’s SPIFFE

Overview SPIFFE (Secure Production Identity Framework For Everyone) is a set of standards for securely identifying workloads. SPIFFE sets out: A format for uniquely specifying an identity called SPIFFE ID. Standards for encoding the SPIFFE ID into verifiable documents which are called SVIDs (SPIFFE Verifiable Identity Document), and which come in a JWT and X.509 […] →Read more

IAM Terms

IAM Resource The IAM service stores these resources. You can add, edit, and remove them from the IAM console. IAM user IAM group IAM role Permission policy Identity-provider object IAM Entity IAM resources that AWS uses for authentication. Specify the entity as a Principal in a resourcebased policy. IAM user IAM role IAM Identity The […] →Read more

AWS IAM 相关概念

1. IAM Role(IAM 角色) 什么是 IAM 角色? IAM 角色是 AWS 提供的一种 身份,类似于用户,但它不是为特定人创建的,而是赋予 AWS 服务或其他身份的权限集合。 角色的特点:临时性、需要通过某种机制“扮演”(assume)角色后才能使用它的权限。 使用场景: 一个 EC2 实例需要访问 S3 存储桶,但不需要使用长期密钥(如 Access Key 和 Secret Key)。 AWS Lambda 函数调用 DynamoDB 时需要临时权限。 示例: 假如一个角色被授予读取 S3 的权限,那么 EC2 或 Lambda 可以在运行时“扮演”这个角色来访问 S3。 2. IAM Policy(IAM 策略) 什么是 IAM 策略? IAM 策略是用来 定义权限 的文档,通常以 JSON 格式编写。 它规定了“谁可以做什么”,具体定义: 谁:角色、用户或组。 […] →Read more

What’s AWS ARN

Amazon Resource Names (ARNs) uniquely identify AWS resources. We require an ARN when you need to specify a resource unambiguously across all of AWS, such as in IAM policies, Amazon Relational Database Service (Amazon RDS) tags, and API calls. ARN format The following are the general formats for ARNs. The specific formats depend on the […] →Read more

AWS SDK doc

https://docs.aws.amazon.com/pdfs/sdk-for-java/latest/developer-guide/aws-sdk-java-dg-v2.pdf →Read more