AWS で、別のロールが作成できるロールとポリシーの種類を制限する方法はありますか?
私の設定では、AccountAdmin
と の2 種類の管理者ロールがありますInfraAdmin
。 管理AccountAdmin
者ロールにはより多くの権限があり、 にはInfraAdmin
日常業務を実行するために必要な権限セットのみがあります。
現在、ロールに、EC2 インスタンス、RDS データベース、S3 バケットがあるバンドルを作成する権限が必要な状況がありますInfraAdmin
(要点に集中できるように、説明は少し簡略化されています)。これらが一緒になって論理的な単一のサービスを形成し、他の RDS データベースや S3 バケットにアクセスできないようにするバンドルが複数あります。EC2 インスタンスが RDS データベースと S3 バケットにアクセスできるようにするために、インスタンス プロファイル、ロール、ポリシーを作成しています。現在、これにはロールとポリシーを作成する権限を付与する必要があり、最小権限の原則ととInfraAdmin
の分割が無意味になります。AccountAdmin
InfraAdmin
InfraAdmin
ロールが作成できるポリシーとロールの種類を制限して、ロール自体に追加の権限を付与したり、より強力な新しいロールを作成したりできないようにする方法はありますか?
答え1
はい、AWS Organizations を使用してポリシーベースのガバナンスフレームワークを設定し、組織内のすべての AWS アカウントに適用されるルールとポリシーを設定できます。これにより、InfraAdmin ロールが使用できるサービスとアクションを制御し、作成できるポリシーとロールを制限することができます。
これを行うには、まず InfraAdmin ロールの組織単位 (OU) を作成し、次に InfraAdmin ロールが使用できるサービスとアクションを指定するサービスコントロールポリシー (SCP) をその OU にアタッチする必要があります。その後、AWS Identity and Access Management (IAM) を使用して、InfraAdmin ロールが作成できるポリシーとロールを定義し、それらのポリシーを InfraAdmin ロールにアタッチできます。
たとえば、InfraAdmin ロールが EC2、RDS、および S3 サービスのみを使用できるようにする SCP を作成し、それらのサービスで実行できるアクションを、記述したバンドルの作成と管理に必要なアクションのみに制限することができます。次に、IAM を使用して、InfraAdmin ロールがそれらのサービスのインスタンス プロファイル、ロール、およびポリシーを作成および管理できるようにするポリシーを作成し、それらのポリシーを InfraAdmin ロールにアタッチすることができます。これにより、InfraAdmin ロールは、自身に追加の権限を付与したり、より強力な新しいロールを作成したりすることなく、バンドルに必要なリソースを作成できるようになります。
全体として、AWS Organizations と IAM をこのように使用することで、AWS アカウントとリソースに対してよりきめ細かく安全なアクセス制御システムを設定できます。