Permissions management
アクセス許可を管理して、AWS とワークロードへのアクセスを必要とするユーザー ID やマシン ID へのアクセスを制御します。権限を分けることで、どのような条件で誰が何にアクセスできるかを制御します。特定のユーザー ID およびマシン ID にアクセス権限を設定し、必要とするリソースに対するサービスアクションへのアクセスのみを許可します。さらに、アクセスを取得するために満たすべき条件を指定します。例えば、特定のリージョンのみで新しい Lambda 関数を作成することをデベロッパーに許可できます。大規模な AWS 環境を管理する場合、以下のベストプラクティスに従って、それぞれのアイデンティティに必要なアクセスのみを許可し、必要以上に設定しないようにします。
さまざまなタイプのリソースにアクセスを付与する方法は多数あります。その 1 つは、異なるポリシータイプを使用する方法です。
IAM での アイデンティティベースのポリシーは、マネージドまたはインラインで、ユーザー、グループ、ロールなどの IAM アイデンティティにアタッチされます。これらのポリシーでは、そのアイデンティティができる内容 (そのアクセス許可) を指定できます。アイデンティティベースのポリシーはさらに分類できます。
マネージドポリシー – スタンドアロンのアイデンティティベースのポリシーで、AWS アカウントで複数のユーザー、グループ、およびロールにアタッチできます。マネージドポリシーには 2 つのタイプがあります。
-
AWS マネージドポリシー – AWS によって作成および管理されるマネージドポリシー。
-
カスタマー管理ポリシー – AWS アカウントで作成および管理するマネージドポリシー。カスタマー管理ポリシーでは、AWS マネージドポリシーよりも正確にポリシー管理できます。
アクセス許可を付与するには、マネージドポリシーのほうが好ましい方法です。ただし、単一のユーザー、グループ、ロールに直接追加するインラインポリシーを使用することもできます。インラインポリシーでは、ポリシーとアイデンティティ間に厳格な 1 対 1 の関係を維持します。アイデンティティを削除すると、インラインポリシーは削除されます。
ほとんどの場合、最小特権の原則に従って独自のカスタマー管理ポリシーを作成する必要があります。
リソースベースのポリシーは、リソースにアタッチされます。例えば、Amazon S3 バケットポリシーはリソースベースのポリシーです。これらのポリシーでは、リソースと同じアカウントまたは別のアカウントにあるプリンシパルにアクセス許可を付与します。リソースベースのポリシーをサポートするサービスの一覧については、「IAM と連携する AWS のサービス」を参照してください。
アクセス許可の境界
属性ベースのアクセスコントロール (ABAC)
Organizations サービスコントロールポリシー (SCP) は、組織または組織単位 (OU) のアカウントメンバーの最大許容を定義します。SCP は、アイデンティティベースのポリシーやリソースベースのポリシーがアカウント内のエンティティ (ユーザーやロール) に付与する許可を制限するものですが、許可を付与するものではありません。
セッションポリシーは、ロールまたはフェデレーションユーザーを引き受けます。AWS CLI または AWS API セッションポリシーを使ってロールまたはユーザーのアイデンティティベースのポリシーがセッションに付与する許可を制限する際、セッションポリシーを渡します。これらのポリシーは、作成されたセッション許可を制限するものですが、許可を付与するものではありません。詳細については「セッションポリシー」を参照してください。