😽
初心者がAWS CDKを触ってみた【IAM編】
はじめに
勉強のためAWS CDKを使ってIAM周りのリソースを作成してみました。
CloudFormationと比べてどのくらいコンパクトになるかみてみたいと思います。
ちなみに事前検証等していないので本記事を書きながらリアタイで勉強しています。
先に結論
苦戦しすぎてIAMユーザー+IAMグループを作成するところで疲れてしまいました笑
すごいシンプルに記述したので初心者には読みやすいのではないかと思います。
環境
- Mac
- Vscode
- AmazonQ (TypeScript初心者のためGitHubCopilotのように使ってます)
まずはIAMユーザーから作成してみます
lib/ianm-stack.ts
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import * as iam from 'aws-cdk-lib/aws-iam'
export class IamStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const username = "tshimoda"
//iam user
const user = new iam.User(this, 'user', {
userName: username
});
}
}
できました
次にIAMユーザー+IAMグループ
lib/ianm-stack.ts
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import * as iam from 'aws-cdk-lib/aws-iam'
export class IamStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const username = "tshimoda"
const groupname = "cdk-group"
//iam user
const user = new iam.User(this, 'user', {
userName: username
});
//iam group
const group = new iam.Group(this, 'group',{
groupName: groupname
});
//add user in group
group.addUser(user)
}
}
できました。
(プログラミングの知識が浅すぎてドキュメント読んでもわからなくて苦戦しました。)
参考
おわりに
TypeScriptの基礎を復習しながら次はポリシーとロールに挑戦しようと思います。
Discussion