# Parameter Store (SSM)

This AWS integration allows you to configure CloudTruth External Parameters from your AWS Parameter Store.

## Adding Integrations

{% hint style="info" %}
If you already have a CloudTruth AWS integration you can add AWS SSM by editing the existing account, selecting this integration and adding the [SSM inline policy](#ssm-parameter-store-inline-policy). The [Terraform](https://docs.cloudtruth.com/configuration-management/integrations/setup-aws-role#use-terraform-to-give-cloudtruth-access) and [CloudFormation](https://docs.cloudtruth.com/configuration-management/integrations/setup-aws-role#use-cloudformation-to-give-cloudtruth-access) role setup methods automatically create the SSM inline policy.
{% endhint %}

To create a new or additional AWS account click `Add AWS Account` from the Integrations AWS page to bring up the add account pane. Add a name for the AWS account, your specific AWS account ID and the AWS account role name. CloudTruth allows you to select regions where your resources exist, all US regions are enabled by default.

The SSM Parameter store integration supports [CloudTruth push actions](https://docs.cloudtruth.com/actions/push-actions#push-action). To enable Push Actions select `Write Access` for the integration and apply the [write access inline policy for SSM](#ssm-parameter-store-inline-policy).

Check the SSM Parameter Store integration and click `Save`.

![](https://2952342643-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGjN2Xg1mE8iTvg49dw%2Fuploads%2Fgit-blob-104d8f3aec0a1b4f0f1ee74997c8597c052cc942%2Fimage%20\(263\)%20\(1\).png?alt=media)

The AWS account will enter an Integration Error state until the AWS role is configured. An auto generated **External Id** will be created to use in the [AWS Role Creation](https://docs.cloudtruth.com/configuration-management/integrations/aws/setup-aws-role).

![](https://2952342643-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGjN2Xg1mE8iTvg49dw%2Fuploads%2Fgit-blob-8ae5d8d339944d47f3e2ea2a1c822dc69bc9f75a%2FPrtScr%20capture_4%20\(5\).jpg?alt=media)

#### Configuring the AWS Role

With the provided **External ID** create your AWS Role.

{% content-ref url="setup-aws-role" %}
[setup-aws-role](https://docs.cloudtruth.com/configuration-management/integrations/aws/setup-aws-role)
{% endcontent-ref %}

## SSM Parameter Store Inline Policy

Adding an Inline Policy to the AWS Role allows CloudTruth secure access to the selected integration service. The inline policy is automatically created if you used [CloudFormation](https://docs.cloudtruth.com/configuration-management/integrations/setup-aws-role#use-cloudformation-to-give-cloudtruth-access) or [Terraform](https://docs.cloudtruth.com/configuration-management/integrations/setup-aws-role#use-terraform-to-give-cloudtruth-access) to create the role.

From the [AWS IAM Console](https://console.aws.amazon.com/iam/home) select the role that you created for CloudTruth access.

![](https://2952342643-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGjN2Xg1mE8iTvg49dw%2Fuploads%2Fgit-blob-e9bfb9fd2bb80361b73897720004c2eb2e78234c%2FPrtScr%20capture_3%20\(2\).jpg?alt=media)

Click `Add Inline Policy`.

![](https://2952342643-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGjN2Xg1mE8iTvg49dw%2Fuploads%2Fgit-blob-d93dd507ab6df0d87f647e69fbc9313371bc1b99%2F7%20\(2\).png?alt=media)

Click the `JSON` Tab.

![](https://2952342643-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGjN2Xg1mE8iTvg49dw%2Fuploads%2Fgit-blob-6e6285138ff80cebed52fe1183876ca759a0b793%2Fprtscr-capture_5%20\(3\)%20\(1\).jpg?alt=media)

Paste in the following JSON for the SSM Parameter Store integration policy and click `Review Policy`.

#### External Parameter Policy

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ParameterAccess",
            "Action": [
                "ssm:DescribeParameters",
                "ssm:GetParameter",
                "ssm:GetParameters",
                "ssm:GetParametersByPath"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

#### Write Access Parameter Policy for [Push Actions](https://docs.cloudtruth.com/actions/push-actions#push-action)

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ParameterAccess",
            "Action": [
                "ssm:AddTagsToResource",
                "ssm:DeleteParameter",
                "ssm:DescribeParameters",
                "ssm:GetParameter",
                "ssm:GetParameters",
                "ssm:ListTagsForResource",
                "ssm:PutParameter",
                "ssm:RemoveTagsFromResource",
                "tag:GetResources"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

Type in a name for the policy and click `Create Policy`.

![](https://2952342643-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGjN2Xg1mE8iTvg49dw%2Fuploads%2Fgit-blob-2c782121a21feefcfcd8b3cd868e101d8fc8e928%2Fimage%20\(42\).png?alt=media)

{% hint style="success" %}
:clap:Setup is now complete for both the AWS Role and Policy. After refreshing by clicking "Check Integration Status" the CloudTruth integration will now show as "Connected", and you can begin creating [External Parameter values](https://app.gitbook.com/@cloudtruth/s/staging/~/drafts/-MVXd5xAL1NKUBwPEBhY/configuration-management/parameters/using-dynamic-values/@drafts) that reference your AWS resources.
{% endhint %}
