Getting Data In

How do I enable KMS encryption for Ingest Actions writes to S3?

fjiang
Splunk Employee
Splunk Employee
 
0 Karma

fjiang
Splunk Employee
Splunk Employee

Note that this feature is currently available for Splunk Cloud customers only. Check out this doc for a high level overview of the feature: https://docs.splunk.com/Documentation/SplunkCloud/latest/Data/DataIngest#Use_KMS_encryption_.28Splun...

In conjunction with the “Create New Destination” Wizard in the Ingest Actions UI, you should navigate into your AWS console, and do the following:

 

  1. Log into your AWS account
  2. Navigate to IAM > Roles
  3. Click Create Role
  4. Click Another AWS Account
  5. In the Role Name field, type exactly the name of SplunkIngestActions and click Create role.
  6. Click SplunkIngestActions.
  7. Under the Permissions tab, click Add inline policy.
    1. {
    2. "Version": "2023-01-01",
    3. "Statement": [
    4. {
    5. "Effect": "Allow",
    6. "Action": [
    7. "kms:GenerateDataKey*",
    8. "kms:DescribeKey"
    9. ],
    10. "Resource": "arn:aws:kms:us-east-1:<AWS_ACCOUNT_ID>:key/cff1c23d-4567-898f-7d6a-543eb2123456"
    11. }
    12. ]
    13. }
    14. {
    15. "Version": "2023-01-01",
    16. "Statement": [
    17. {
    18. "Effect": "Allow",
    19. "Action": [
    20. "s3:PutObject",
    21. "s3:ListBucket"
    22. ],
    23. "Resource": [
    24. "arn:aws:s3:::buttercupgames-xyzyxs9t4r8w-ia-data-lake",
    25. "arn:aws:s3:::buttercupgames-xyzyxs9t4r8w-ia-data-lake/*"
    26. ]
    27. }
    28. ]
    29. }
    1. Click the JSON tab
    2. Overwrite the JSON text by copying and pasting the Permission Policy from the Splunk Ingest Actions UI (this is visible in the 2nd part of the Ingest Actions “Create New Destinations” wizard after selecting “KMS encryption”). See an example Permission Policy below.
    3.  Click Review Policy.
    4.  In the Name field, type any name of your choice, such as SplunkIngestActions.
    5.  Click Create policy.
  8.  Under the Trust relationships tab, click Edit trust relationship.
    1. {
    2. "Version": "2023-01-01",
    3. "Statement": [
    4. {
    5. "Effect": "Allow",
    6. "Principal": {
    7. "AWS": "arn:aws:iam::<AWS_ACCOUNT_ID>:role/buttercupgames"
    8. },
    9. "Action": "sts:AssumeRole"
    10. "Condition": {
    11. "StringEquals": {
    12. "sts:ExternalId": "08a3bc0d88e84fg3h909627i3jklmno0"
    13. }
    14. }
    15. }
    16. ]
    17. }
    18. }
    1. Overwrite the JSON text by copying and pasting the Trust Relationship from the Splunk Ingest Actions UI. See Example Below.
    2.  Click Update Trust Policy.

 

Note: 

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Make Your Machine Data AI-Ready in Splunk

Every team is getting ready for AI agents.   Thursday, November 12, 2026  |  11AM  PST / 2PM EST   ...

Splunk Asynchronous Forwarding Explained

Splunk asynchronous forwarding is often misunderstood as simply setting autoLBVolume. That is not quite right. ...

How to Monitor AI Agents with Splunk Agent Observability

Let’s say I’m running a travel planning AI app in production. A user asks for three concise hotel options in ...