Reputation: 161
I am attempting to provision IAM users with the AWS-CDK. I'm currently having an issue with provisioning a temporary password for the user I am creating and am trying to find a way around using secrets manager as I think there should be easier ways to do this. Here is the code I have below (the password prop I pass to the "CisUser" is currently erroring out):
import cdk = require('@aws-cdk/core')
import * as logs from '@aws-cdk/aws-logs';
import s3 = require("@aws-cdk/aws-s3");
import * as cloudtrail from '@aws-cdk/aws-cloudtrail';
import cloudwatch = require('@aws-cdk/aws-cloudwatch');
import { User, Group } from "@aws-cdk/aws-iam";
import * as lambda from "@aws-cdk/aws-lambda"
import path = require('path');
import events = require("@aws-cdk/aws-events");
import * as targets from "@aws-cdk/aws-events-targets";
import { SecretValue } from '@aws-cdk/core';
export class CloudComplianceUserBaselineStack extends cdk.Stack {
constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const CisUser = new User(this, 'CisUser',{
userName: 'CisUser',
password: 'testPassword12345%$',
passwordResetRequired: true,
})
const TestUser = new iam.User(this,"TestUser",{})
const adminGroup = new iam.Group(this, 'AdminGroup',{
managedPolicies: [
iam.ManagedPolicy.fromAwsManagedPolicyName("AdministratorAccess")
]
})
const AuditGroup = new iam.Group(this,'AuditGroup',{
managedPolicies:[
iam.ManagedPolicy.fromAwsManagedPolicyName("ReadOnlyAccess")
]
})
AuditGroup.addUser(CisUser)
adminGroup.addUser(TestUser)
}}
Thank you in advance.
Upvotes: 0
Views: 776
Reputation: 314
I think that we should use the exact type when trying to pass the password field
https://docs.aws.amazon.com/cdk/api/latest/docs/aws-iam-readme.html
import { SecretValue } from '@aws-cdk/core';
...
...
{
password: SecretValue.plainText('testPassword12345%$'),
}
Upvotes: 1