Skip to content

SAMLProvider ​

The SAMLProvider resource allows you to manage AWS IAM SAMLProviders for enabling single sign-on (SSO) authentication in AWS environments.

Minimal Example ​

Create a basic SAMLProvider with required properties and one optional property:

ts
import AWS from "alchemy/aws/control";

const samlProvider = await AWS.IAM.SAMLProvider("mySAMLProvider", {
  SamlMetadataDocument: "<SAML_METADATA_DOCUMENT>",
  AssertionEncryptionMode: "ENCRYPTED"
});

Advanced Configuration ​

Configure a SAMLProvider with multiple private keys and tags for better management:

ts
const advancedSamlProvider = await AWS.IAM.SAMLProvider("advancedSAMLProvider", {
  SamlMetadataDocument: "<SAML_METADATA_DOCUMENT>",
  PrivateKeyList: [
    { Key: "<PRIVATE_KEY_1>" },
    { Key: "<PRIVATE_KEY_2>" }
  ],
  Tags: [
    { Key: "Environment", Value: "Production" },
    { Key: "Department", Value: "Engineering" }
  ]
});

Adding and Removing Private Keys ​

Demonstrate how to update a SAMLProvider by adding and removing private keys:

ts
const updateSamlProvider = await AWS.IAM.SAMLProvider("updateSAMLProvider", {
  SamlMetadataDocument: "<SAML_METADATA_DOCUMENT>",
  AddPrivateKey: "<NEW_PRIVATE_KEY>",
  RemovePrivateKey: "<EXISTING_PRIVATE_KEY>"
});

Resource Adoption ​

Show how to adopt an existing SAMLProvider without failing if it already exists:

ts
const adoptSamlProvider = await AWS.IAM.SAMLProvider("adoptSAMLProvider", {
  SamlMetadataDocument: "<SAML_METADATA_DOCUMENT>",
  adopt: true
});