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!

Painting a Clearer Picture: Creating Cross-Domain Visibility with AI Canvas

    Thursday, June 25, 2026  |  11AM PDT / 2PM EDT  Duration: 1 Hour (Includes live Q&A) Register to ...

Analytics Workspace deprecation

As of Splunk Cloud Platform 10.4.2604 and Splunk Enterprise 10.4, Analytics Workspace is now deprecated. ...

Splunk Developer Day Recap: Building, Publishing, and Growing on the Splunk Platform

Splunk Developer Day brought the Splunk developer community together for a practical look at what it means to ...