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!

Introducing ITSI 5.0: Unified Visibility and Actionable Insights

Introducing ITSI 5.0: Unified Visibility and Actionable Insights Tuesday, July 21, 2026  |  10:00AM PT / ...

Inside Splunk Agent Observability: Understanding Agent Behavior, Tokens & Costs

Inside Splunk Agent Observability:Understanding Agent Behavior, Tokens & Costs Thursday, August 06, ...

From Data to Insight: Announcing the Winners of the Splunk Dashboard Contest

Hi Splunkers, First off, thank you to everyone who participated in our very first From Data to Insight: The ...