これは AWS CDK v2 デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CDK のアクセス許可の境界を作成して適用する
アクセス許可の境界は、ユーザーやロールなどの IAM エンティティが持つことができるアクセス許可の上限の設定に使用できる、AWS Identity and Access Management (IAM) の高度な機能です。アクセス許可の境界を使用すると、AWS Cloud Development Kit (AWS CDK) の使用時に IAM エンティティが実行できるアクションを制限できます。
アクセス許可の境界の詳細については、IAM ユーザーガイドの「IAM エンティティのアクセス許可の境界」を参照してください。
AWS CDK でアクセス許可の境界を使用するタイミング
組織内の開発者が AWS CDK で特定のアクションを実行することを制限する必要がある場合は、アクセス許可の境界の適用を検討してください。たとえば、開発者に変更されたくない特定のリソースが AWS 環境内にある場合は、アクセス許可の境界を作成して適用できます。
AWS CDK でアクセス許可の境界を適用する方法
アクセス許可の境界の作成
まず、AWS 管理ポリシーまたはカスタマー管理ポリシーを使用して、IAM エンティティ (ユーザーまたはロール) の境界を設定し、アクセス許可の境界を作成します。このポリシーは、ユーザーやロールのアクセス許可の上限を設定します。アクセス許可の境界の作成手順については、IAM ユーザーガイドの「IAM エンティティのアクセス許可の境界」を参照してください。
アクセス許可の境界は、IAM エンティティが持つことができるアクセス許可の上限を設定しますが、それ自体がアクセス許可を付与することはありません。組織に適したアクセス許可を効果的に制限および付与するには、IAM ポリシーでアクセス許可の境界を使用する必要があります。また、IAM エンティティが設定した境界からエスケープできないようにする必要があります。例については、IAM ユーザーガイドの「アクセス許可の境界を使用した他のユーザーへの責任の委任」を参照してください。
ブートストラップ時にアクセス許可の境界を適用する
アクセス許可の境界を作成したら、ブートストラップ時に適用することで、AWS CDK に対しそれを強制できます。
--custom-permissions-boundary オプションを使用して、適用するアクセス許可の境界の名前を指定します。以下は、cdk-permissions-boundary という名前のアクセス許可の境界を適用する場合の例です。
$ cdk bootstrap --custom-permissions-boundary <cdk-permissions-boundary>
デフォルトでは、CDK はブートストラップテンプレートで定義されている CloudFormationExecutionRole IAM ロールを使用して、デプロイを実行するためのアクセス許可を受け取ります。ブートストラップ時にカスタムのアクセス許可の境界を適用すると、そのアクセス許可の境界がこのロールにアタッチされます。これにより、AWS CDK を使用する際に組織内の開発者が実行できるアクセス許可の上限が、アクセス許可の境界により設定されます。このロールの詳細については、「ブートストラップ中に作成された IAM ロール」を参照してください。
この方法でアクセス許可の境界を適用すると、ブートストラップする特定の環境に適用されます。複数の環境で同じアクセス許可の境界を使用するには、ブートストラップ時にそのアクセス許可の境界を各環境に適用する必要があります。また、環境ごとに異なるアクセス許可の境界を適用することもできます。
詳細
アクセス許可の境界の詳細については、「AWS セキュリティブログ」の「IAM アクセス許可の境界をいつ、どこで使用するか