(※2023-11-29に書いた個人ブログの転記です。)
概要
社内のSAML IDプロバイダーとAWSを連携して、特定のサービスにだけアクセスできるようにする。前提として、IAMに該当するSAML IDプロバイダーは作成ずみとする。
流れとしては、以下の手順が必要となる。
- IdP側でロールを作成する
- IAM で SAML プロバイダーを作成する(今回はスキップ)
- IAMでSAML用ロールを作成する
- IdPソフトウェアを設定して、SAML信頼を確立する
CDK
- IAMでSAML用ロールを作成する
const role = new iam.Role(this, "MySamlRole", {
roleName: "role name",
description:
"description",
assumedBy: new iam.FederatedPrincipal(
`arn:aws:iam::********:saml-provider/*********`, // 作成したSAMLプロバイダーのarnを指定
{
StringEquals: {
"SAML:aud": "https://signin.aws.amazon.com/saml"
}
},
"sts:AssumeRoleWithSAML"
)
});
role.addManagedPolicy() // ←ここで任意の権限を付与
参考
- SAML 2.0 フェデレーション用のロールの作成 (コンソール)
- あとはIdP側のドキュメント