AWS Scanner
The AWS Scanner is a native scanner type that inspects a connected AWS account, discovering the full inventory of identities such as IAM users, roles, and groups, secrets stored in AWS Secrets Manager, and certificates managed through AWS Certificate Manager, along with the relationships between them. Each discovered object is evaluated against Identity & Secrets Intelligence security policies, which assess its risk posture and surface the resulting findings for review.
Prerequisites
- An Akeyless account with the Identity & Secrets Intelligence license.
- A deployed and connected Akeyless Gateway version
4.53.0and later. - A Gateway with Akeyless AI Insights configured.
- An AWS Target representing the AWS IAM Role that will scan the account.
- The AWS IAM Role used by the Target granted the permissions listed under AWS Service Account Permissions below.
- Access to configure and run the scanner, granted via:
- "Manage ISI Scanners" or "Admin" Gateway Permission.
- "Identity & Secrets Intelligence" Administrative Rule set to Scoped or All.
- "List" permission on the AWS Target.
Required AWS Permissions
The AWS IAM Role used by the Target needs read access to your AWS environment. There are two ways to grant it:
- Quick Setup - attach broad AWS-managed policies. Fastest to configure, but grants more access than the scanner actually uses.
- Granular Permissions - attach only the exact actions the scanner needs, following the principle of least privilege.
Both produce a complete scan, the difference is privilege scope, not scan coverage.
Quick Setup
Attach the AWS-managed policies IAMReadOnlyAccess and AWSCertificateManagerReadOnly, plus this custom read-only Secrets Manager policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:ListSecrets",
"secretsmanager:DescribeSecret",
"secretsmanager:ListSecretVersionIds",
"secretsmanager:GetResourcePolicy"
],
"Resource": "*"
}
]
}"Resource": "*" above gives full coverage but can be scoped down, anything out of scope is simply reported as a gap in the Access Status.
WarningDo not use
SecretsManagerReadWriteit grants read and write access on secrets and is not a safe substitute.
Granular Permissions
All permissions below are read-only. The scanner never requires write access to your AWS environment, and never reads secret values, only metadata.
Required Permissions
The permissions listed below are required for the scan to complete successfully. If any one of them is missing, the corresponding scan will fail.
| Used for | Permission | If missing |
|---|---|---|
| Secrets discovery | secretsmanager:ListSecrets | Secrets scan fails |
| Certificate discovery | acm:ListCertificates | Certificates scan fails |
| Certificate details | acm:DescribeCertificate | Certificates scan fails if denied everywhere; otherwise reported as a gap |
| Identity discovery | iam:ListUsers, iam:ListRoles, iam:ListGroups | Identities scan fails if all three are denied; a single missing one is reported as a gap |
Additional Permissions for Complete Coverage
These permissions are optional. If missing, the scan still completes, but with reduced visibility, and any gaps are reported in the Access Status field within the scan details.
| Permission | What it adds |
|---|---|
secretsmanager:DescribeSecret, secretsmanager:ListSecretVersionIds | Secret metadata: rotation status, last access/change dates, version history |
secretsmanager:GetResourcePolicy | Secret resource policies - who is granted access to each secret in the Security Graph |
iam:ListAccessKeys, iam:GetAccessKeyLastUsed, iam:ListMFADevices, iam:GetLoginProfile | User credential hygiene: stale keys, missing MFA, console access |
iam:GetUserPolicy, iam:GetRolePolicy, iam:GetGroupPolicy, iam:GetPolicy, iam:GetPolicyVersion | Policy analysis - which identities can access which secrets |
iam:ListUserPolicies, iam:ListAttachedUserPolicies, iam:ListRolePolicies, iam:ListAttachedRolePolicies, iam:ListGroupPolicies, iam:ListAttachedGroupPolicies | Enumerating the policies attached to each identity (required for the policy analysis above) |
iam:GetGroup | Group membership in the Security Graph |
Create an AWS Scanner in the Akeyless Console
- Log in to the Akeyless Console, and go to Products > Identity & Secrets Intelligence > Scanners.
- Click New, and select the scanner type AWS, then click Next.
- Define a Name for the scanner.
- Select the Target representing the AWS account to scan, and the Gateway that will execute the scans, then click Next.
- Use the Object Type drop-down list to select the scanner's scope, and click Finish.
Run a Scan
- Log in to the Akeyless Console, and go to Products > Identity & Secrets Intelligence > Scanners.
- Click the AWS scanner.
- Click Start Scan.
Once the scan completes, results appear in Inventory for review.
Updated 27 minutes ago
