AWS IAM Identity Center AWS IAM Identity Center の権限設計も考えてみる AWS IAM Identity Center は、複数AWSアカウントへのアクセスを一元管理するサービスです。各AWSアカウント へのシングルサインオン(SSO)アクセスが可能になります。 AWS Organizations で作成された組織に対して有効化することができ、マルチアカウント管理において AWS IAM Identity Center はID管理を行うための重要な役割のサービスです。 マネジメントアカウントで利用することができ、機能の大半をメンバーアカウントへ委任して管理することもできます。 (出典:SSO プロバイダー - AWS IAM アイデンティティセンター)https://aws.amazon.com/jp/iam/identity-center/ AWS Organizations Management account Organizational unit Organizational unit Organizational unit Accounts Accounts AWS IAM Identity Center Accounts
AWS IAM Identity Center の外部IDプロバイダー接続 AWS IAM Identity Center の権限設計も考えてみる AWS IAM Identity Center のID CenterディレクトリやActive DirectoryでID管理を行うことができますが、 Okta, Azure AD, OneLogin等の外部IDプロバイダーに接続してID管理することもできます。 外部ID プロバイダー (IdPs) 各AWSアカウント AWS利用者 認証情報の要求 認証情報の提供 IdPへログイン AWSアカウントへSSO AWS IAM Identity Center
AWS IAM Identity Center 権限委任観点の設計 AWS IAM Identity Center の権限設計も考えてみる AWS IAM Identity Center の管理権限をマネジメントアカウントから、以下の機能以外の管理をメンバーアカウン トに委任することができます。 ⚫ AWS IAM Identity Center を有効にする ⚫ AWS IAM Identity Center の設定を削除する ⚫ マネジメントアカウントにプロビジョニングされた権限セットの管理 ⚫ 他のメンバーアカウントを委任管理者として登録または登録解除する ⚫ マネジメントアカウントでのユーザアクセスの有効化または無効化 この場合、マネジメントアカウントにプロビジョニングされた権限セットの 管理を、委任された AWS IAM Identity Center 用のAWSアカウント から管理することができません。 そのため、マネジメントアカウント用/メンバーアカウント用の権限セットを 分けて作成および管理する必要があります。 (出典:AWS IAM Identity Center における許可セットの管理とアカウント割り当ての委任) https://aws.amazon.com/jp/blogs/news/delegating-permission-set-management-and-account-assignment-in-aws-iam-identity-center/ (出典:委任された管理)https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/delegated-admin.html マネジメントアカウント用権限セット メンバーアカウント用権限セット
AWS IAM でのセキュリティのアンチパターン観点の設計 AWS IAM Identity Center の権限設計も考えてみる AWS IAM でのセキュリティのアンチパターンは、AWS IAM Identity Center においても同じことが言えます。アンチパ ターンが発生しない設計を意識できるようにしましょう。 AWS IAMでのセキュリティのアンチパターン ① • 長期的な認証情報のみを利用する(AWSアカウント間のアクセスの委任にIAMロールを利用しない) • 長期的な認証情報を必要とするユースケースでアクセスキーを更新しない →AWS IAM Identity Center の機能により、一時的な認証情報を利用しましょう! ② • IAMユーザに多要素認証 (MFA) を利用しない →AWS IAM Identity Center の機能でユーザに多要素認証(MFA)を利用しましょう! ③ • ルートユーザーの認証情報を保護するためのベストプラクティスに従わない (ルートユーザの常用、アクセスキー作成、MFA未設定、未承認利用等) →AWS IAM Identity Center とは関連無いため除外 ④ • 最小特権ではない(不要な)アクセス許可を適用する • AWS 管理ポリシーを利用しない(インラインポリシーを利用する、AWSマネージドポリシーのみを利用する) →最小特権のアクセス許可を適用して、グループとAWS管理ポリシーを利用しましょう! ⑤ • 未使用のユーザー、ロール、アクセス許可、ポリシー、および認証情報を定期的に確認しない(棚卸しない) →AWS IAM Identity Center のユーザー、グループ、権限セット、ポリシーを定期的に確認(棚卸)しましょう! ⑥ • IAM Access Analyzer を使用しない、リソースへのパブリックアクセスおよびクロスアカウントアクセスを確認しない →IAM Access Analyzer を使用する場合は、AWS IAM Identity Centerで作成されるIAMロールはアーカイブルールで除外
Summary (3) AWS IAM Identity Center の権限設計も考えてみる Summary, References & Appendix ⚫AWS IAM Identity Center 権限委任観点から考えてみる ⚫AWS IAM Identity Center quotas観点から考えてみる ⚫AWS IAMでのセキュリティのアンチパターンは、AWS IAM Identity Centerにも当てはまる AWS IAMでのセキュリティのアンチパターン ① • 長期的な認証情報のみを利用する(AWSアカウント間のアクセスの委任にIAMロールを利用しない) • 長期的な認証情報を必要とするユースケースでアクセスキーを更新しない →AWS IAM Identity Center の機能により、一時的な認証情報を利用しましょう! ② • IAMユーザに多要素認証 (MFA) を利用しない →AWS IAM Identity Center の機能でユーザに多要素認証(MFA)を利用しましょう! ③ • ルートユーザーの認証情報を保護するためのベストプラクティスに従わない (ルートユーザの常用、アクセスキー作成、MFA未設定、未承認利用等) →AWS IAM Identity Center とは関連無いため除外 ④ • 最小特権ではない(不要な)アクセス許可を適用する • AWS 管理ポリシーを利用しない(インラインポリシーを利用する、AWSマネージドポリシーのみを利用する) →最小特権のアクセス許可を適用して、グループとAWS管理ポリシーを利用しましょう! ⑤ • 未使用のユーザー、ロール、アクセス許可、ポリシー、および認証情報を定期的に確認しない(棚卸しない) →AWS IAM Identity Center のユーザー、グループ、権限セット、ポリシーを定期的に確認(棚卸)しましょう! ⑥ • IAM Access Analyzer を使用しない、リソースへのパブリックアクセスおよびクロスアカウントアクセスを確認しない →IAM Access Analyzer を使用する場合は、AWS IAM Identity Centerで作成されるIAMロールはアーカイブルールで除外