惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Last Week in AI
Last Week in AI
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MongoDB | Blog
MongoDB | Blog
云风的 BLOG
云风的 BLOG
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
J
Java Code Geeks
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
V
Visual Studio Blog
小众软件
小众软件
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
IT之家
IT之家
Vercel News
Vercel News
C
Check Point Blog
Google DeepMind News
Google DeepMind News
月光博客
月光博客
D
DataBreaches.Net
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
Y
Y Combinator Blog
Hugging Face - Blog
Hugging Face - Blog

Wiz Blog | RSS feed

Meet Wiz for M365: Bringing SaaS into the Security Graph Bringing Security Visibility to Vercel with Wiz Axios NPM Distribution Compromised in Supply Chain Attack Tracking TeamPCP: Investigating Post-Compromise Attacks Seen in the Wild The Wiz Blue Agent, now Generally Available Beyond the Badge: What Achieving Microsoft’s Certified Software Designation Means for Your Cloud Security Introducing the Green Agent: AI-Powered Remediation for the Cloud Three’s a Crowd: TeamPCP trojanizes LiteLLM in Continuation of Campaign KICS GitHub Action Compromised: TeamPCP Strikes Again in Supply Chain Attack Introducing the Wiz Red Agent- AI-Powered Attacker Introducing Wiz AI Application Protection Platform (AI-APP) Introducing Wiz Agents & Workflows: Security at the Speed of AI AI Runtime Threat Detection: From Input to Real-World Impact Trivy Compromised: Everything You Need to Know about the Latest Supply Chain Attack It’s Official: Wiz Joins Google Understanding and Reducing AI Risk in Modern Applications Introducing Wiz Tenant Manager: Multi-Tenant Management for Federated Organizations The Agile FedRAMP Playbook, Part 4: Reactive Risk Management through Enriched Incident Response Wiz Achieves CPSTIC Certification in Spain Seeing AI Clearly: Building Visibility Across Modern AI Applications The Agile FedRAMP Playbook, Part 3: Preventative Risk Management by building Secure by Design Wiz Leads the 2026 Latio Application Security Report with awards in 4 categories Building an Agentic Cloud Security Ecosystem: A Reference Architecture with Wiz MCP and Infosys Cyber Next The Agile FedRAMP Playbook, Part 2: Proactive Risk Management with Continuous Monitoring Cloud-native Security for your Windows environment: Announcing the Wiz Runtime Sensor for Windows Would You Click ‘Accept’? Automatically detecting malicious Azure OAuth applications using LLMs Wiz Named a Leader in The Forrester Wave™: Cloud Native Application Protection Solutions, Q1 2026 From Detection to Remediation: It’s Time to Rethink AppSec Around Exploitability and Root Cause Fixes The Agile FedRAMP Playbook, Part 1: Why Risk is Your Best Starting Point Introducing AI Cyber Model Arena: A Real-World Benchmark for AI Agents in Cybersecurity
How to get rid of AWS access keys – Part 3: Replacing the...
Scott Piper · 2023-07-18 · via Wiz Blog | RSS feed

Read the earlier posts in this series at Part 1: The easy wins and Part 2: Reducing Privileges.

Other clouds 

When a compute resource in another cloud provider (e.g. GCP or Azure) needs to interact with your AWS resources, OpenID Connect (OIDC) may be used. With this solution, you configure an IAM role in your environment to trust the other cloud provider, which knows the compute resources in its own environment and can then give them the necessary access. Several other solutions also support OIDC use cases like this, such as Github Actions. Instructions on setting up this integration can be found in AWS and Github’s documentation. The resulting IAM role trust policy looks like this: 

When setting up these integrations, it is crucial that you ensure other users of those third-party services cannot also assume your role. For example, if you accidentally leave off the “sub” condition that specifies the “GitHubOrg/GitHubRepo”, then anyone with a Github account could create a Github Action workflow that assumes your role! Various modifications to that condition could allow any branch in a repository or any repository in your organization to assume the role, potentially presenting a security risk. 

On-prem workloads 

Finally, we can discuss situations in which trust cannot be obtained via AWS’s cloud or another cloud. In the event you would like to grant a server in a datacenter, a laptop, or another physical device access to your AWS environment, the two primary solutions offered by AWS are IAM Roles Anywhere and Systems Manager hybrid activation

IAM Roles Anywhere

In many ways, IAM Roles Anywhere is simply replacing an access key and secret key with a certificate.  AWS relies on customers to ensure they are managing a Public Key Infrastructure (PKI) that can better handle certificates than access keys.   

The utility that AWS provides for Roles Anywhere, rolesanywhere-credential-helper, is limited to only being able to access the certificate from a file on disk. The danger of storing the certificate on disk is that if an attacker can access the file, such as through some sort of arbitrary file read operation or finding this file in source control or backup storage, the certificate can be used from anywhere, much like an access key. Although you can apply conditions to the Role with which they are associated (e.g. restricting it to a source IP address), those same conditions can also be applied to IAM Users and their access keys. 

This service is mostly a re-imagining of iot:AssumeRoleWithCertificate. Because it relies on certificates, the certificates could in theory be stored inside something like a TPM to perform signing operations without being able to be extracted. A researcher named Aidan Steele created an open-source tool called cloudkey that accomplishes this with a yubikey and the aforementioned iot:AssumeRoleWithCertificate call without requiring a human to press the yubikey. This concept could be adopted for IAM Roles Anywhere and other secure hardware devices, such as a TPM. There is even an open PR for PKCS11 support to accomplish this which AWS should review. It’s been almost a year since this service and tooling was released, and this lack of support has been noted

Systems Manager hybrid activation

Even though Systems Manager hybrid activation hasn’t received as much fanfare as IAM Roles Anywhere, it is a technology that is worthy of consideration and is used behind the scenes for ECS Anywhere and is part of IoT Greengrass. The key components of this mechanism are an activation code and the use of device fingerprinting. The activation code is provided to the remote system and by default expires after one day and by default can only be used once. This mitigates the risks other solutions have where the thing transferred to the client (which could accidentally appear in logs or other data sources that an attacker might come across later) can be directly used by the attacker to authenticate. 

The remote system generates its own key pair and a fingerprint of itself based on information about the BIOS, processor, memory, disk information, IP address, and more. This fingerprint is hashed and passed to AWS, along with the activation code and public key, to register itself via the undocumented API ssm:RegisterManagedInstance. In order to obtain credentials, the fingerprint is then used with the undocumented API ssm:RequestManagedInstanceRoleToken. These APIs are best documented by Aidan Steele in a different repo of his, awsaccountcreds, for an entirely different use case of SSM (Default Host Management Configuration). 

This may sound like a large improvement because the remote system is generating a fingerprint of itself. However, this fingerprint data is cached on disk, and when combined with the private key, acts like an IAM User access key pair. To make things more frustrating, there is a lot of logic involved in determining the extent to which the fingerprint can change before the remote system is considered different, but that logic is all performed client side, as the use case for that check does not seem to be to mitigate attacker theft. 

Another concern with this feature is that once session credentials for AWS are obtained, they are stored in a file on disk at /root/.aws/credentials. However, these are session credentials which do expire. 

Something worth pointing out, which may be a core benefit or security concern to you is Systems Manager also enables you to manage the remote system if given the right set of privileges.  This means you can deploy applications and obtain a terminal session on the remote system.  

Which should you use?

Unless you have an established PKI that includes securely transferring certificates and methods of establishing trust with remote systems, Systems Manager hybrid activation provides compelling benefits, especially for one-off integrations with a handful of systems. The limited validity period and one-time use of the hybrid activation’s activation code are a significant risk mitigation. Furthermore, the system fingerprinting, although primarily checked client-side, does mitigate the ease with which engineers might otherwise freely copy credentials around from one system to another. 

For larger deployments, IAM Roles Anywhere offers flexibility for IAM policy conditions on details of the certificates, which allows more granular authentication per machine when you don’t want to deploy individual roles for different use cases.   
 
Both options would be improved significantly by AWS implementing PKCS11 so you can take advantage of TPMs to leverage Attestation Identity Keys for performing signing operations.  Once that is done, the hybrid activation could then be improved by not storing the session credentials on disk. These could instead be accessible through a credential-process vending solution as is it more common for vulnerabilities to exist that allow arbitrary file reads versus those that allow RCE (in part as a result of the severity of arbitrary reads being generally considered to be lower and therefore teams de-prioritize fixing and patching them). The system fingerprint would similarly benefit from not being cached on disk. 

Conclusion 

There are now a number of options to help customers avoid having to rely on long-lived IAM user access keys.   Those long-lived access keys have been a regular cause of security incidents, which could have been avoided if short-lived credentials were used instead, and if those credentials were more strongly tied to the systems that use them.  This series has discussed a number of tactics for getting rid of IAM user access keys, mitigating their risks through least privilege and other means, and alternative authentication mechanisms to use instead.  We hope to see less of them in the future, and as a result, fewer cloud security incidents! 

See for yourself...

Learn what makes Wiz the platform to enable your cloud security operation

Read the first article (The easy wins) and the second article (Reducing Privileges) of this series!