type
status
date
slug
summary
tags
category
icon
password
书籍
 

理論

notion image
 

1. AWS Organizationsとサービス制御ポリシー(SCP)

  • AWS Organizations を使用すると、複数のアカウントを管理できます。アカウントを 組織単位(OU) に分けて、それぞれに対して サービス制御ポリシー(SCP) を適用できます。
  • SCPは、アカウント内で実行できるアクションを制限するもので、アカウント単位またはOU単位で権限を設定できます。しかし、細かいリソースレベルでのアクセス制御には適していません。

2. IAMポリシーとリソースレベルアクセス制御

  • IAMポリシー は、ユーザーやロールに対してリソースへのアクセスを制御するための最も基本的な方法です。ポリシーでは 条件付きアクセス を設定でき、リソースタグを使用することで、より細かい制御が可能です。
  • たとえば、特定のタグ(例:DevelopmentUnit)をリソースに設定し、ユーザーやロールがそのタグに基づいてリソースを操作できるようにすることができます。

3. AWS STS(Security Token Service)とセッションタグ

  • AWS STS を使用して、一時的なセキュリティ認証情報(セッショントークン)を提供することができます。この認証情報に セッションタグ を付与し、ユーザーが認証される際にそのタグ情報を付加できます。
  • セッションタグを使用することで、IAMポリシーやリソースタグと連携し、ユーザーの権限を 動的に設定 することができます。この方法は、特に 一時的な認証 を管理する場合に役立ちます。

4. タグによるリソース管理

  • AWSでは、リソースに タグ を付与することができ、これを基にアクセス制御を行うことが可能です。リソースタグは、開発環境や運用環境、さらには特定の開発ユニットやプロジェクトに基づいて、リソースを分類・識別するために役立ちます。
  • IAMポリシー内で、リソースタグに基づいてアクセス制御を行うために StringEqualsStringNotEquals 条件を使用します。

5. 細粒度のアクセス制御とセキュリティ

  • 細粒度のアクセス制御 は、リソース単位でアクセスを制限することで、誤操作やセキュリティリスクを最小化するために重要です。タグやSTSセッションタグを使って、リソースごとに異なるアクセス権限を設定することで、必要最小限のアクセス権限だけを付与できます。
  • 最小権限の原則(Principle of Least Privilege)を守るために、アクセス制御を細かく設定し、不要な権限を与えないようにすることが推奨されます。

まとめ

  • SCP は組織全体の制御に適しており、リソースレベルのアクセス制御には IAMポリシータグ を活用することが重要です。
  • AWS STSセッションタグ を利用することで、開発ユニットごとのアクセスを柔軟に管理できます。これにより、ユーザーが自分の開発ユニットに関連するリソースのみを操作することができます。

実践

一問道場

質問 #385
ある会社がAWSクラウドで複数のワークロードを実行しています。この会社にはソフトウェア開発用の別々のユニットがあり、AWS OrganizationsとSAMLによるフェデレーションを使用して、開発者にAWSアカウント内のリソース管理権限を付与しています。各開発ユニットは、共通のプロダクションアカウントにプロダクションワークロードをデプロイしています。
最近、プロダクションアカウントでインシデントが発生し、ある開発ユニットのメンバーが別の開発ユニットに所属するEC2インスタンスを誤って終了させました。ソリューションアーキテクトは、今後同様のインシデントが発生しないようにする解決策を作成しなければなりません。この解決策は、開発者が自分のワークロードで使用するインスタンスを管理できるようにもする必要があります。
どの戦略がこれらの要件を満たしますか?
A. AWS Organizationsで各開発ユニットのために別々のOU(組織単位)を作成します。作成したOUを会社のAWSアカウントに割り当てます。開発ユニット名に一致するDevelopmentUnitリソースタグに対して、拒否アクションとStringNotEquals条件を含むSCP(サービスコントロールポリシー)を作成します。対応するOUにSCPを割り当てます。
B. SAMLフェデレーション中にAWS Security Token Service(AWS STS)セッショントークンとしてDevelopmentUnit属性を渡します。開発者のIAMロールのポリシーを更新し、DevelopmentUnitリソースタグとaws:PrincipalTag/DevelopmentUnitに対して、拒否アクションとStringNotEquals条件を設定します。
C. SAMLフェデレーション中にAWS Security Token Service(AWS STS)セッショントークンとしてDevelopmentUnit属性を渡します。開発ユニットリソースタグとaws:PrincipalTag/DevelopmentUnitに対して、許可アクションとStringEquals条件を含むSCPを作成します。このSCPをルートOUに割り当てます。
D. 各開発ユニットに対して別々のIAMポリシーを作成します。各IAMポリシーには、DevelopmentUnitリソースタグと開発ユニット名に対して許可アクションとStringEquals条件を追加します。SAMLフェデレーション中にAWS Security Token Service(AWS STS)を使用してIAMポリシーを割り当て、開発ユニット名をIAMロールに一致させます。

解説

この問題の解説について、どのようにして B選択肢 が正解となるかを詳しく説明します。

問題の背景と要求

会社は複数の開発ユニットがあり、それぞれが独立して作業を行っていますが、 共通の本番アカウント に対して EC2インスタンス などのリソースを操作しています。最近、ある開発ユニットのメンバーが 他の開発ユニットのEC2インスタンスを誤って終了させてしまった というインシデントが発生しました。
この問題を防ぐためには、以下の要件が求められています:
  1. 各開発ユニットは、 自分の作業に関連するリソースのみ を操作できるようにすること。
  1. それでも、開発者が自分のリソースを管理できる権限を持つようにすること。

解説

1. リソース間での誤操作を防ぐために

開発ユニット間でリソースの誤操作を防ぐためには、 リソースに対するアクセス制御 が必須です。それぞれの開発ユニットが自分のリソースだけにアクセスできるようにする必要があります。

2. SAML認証とSTSセッションタグの利用

開発者のアクセス制御を柔軟に行うために、 SAML認証AWS STSセッションタグ を利用するのが効果的です。これにより、開発者がシステムにアクセスする際、どの 開発ユニット に所属しているかを識別できます。この情報を元に、リソースのアクセス制御を行います。

3. IAMポリシーの利用

次に、IAMポリシー を用いて、開発者が操作できるリソースを制限します。具体的には、 StringNotEquals 条件を使って、開発者が 自分の開発ユニットのリソースだけ にアクセスできるようにします。リソースのタグと開発者のセッションタグが一致しない場合、アクセスが拒否される仕組みです。

各選択肢の評価

A選択肢:SCPを使ったリソースのアクセス制御

  • 概要:AWS Organizationsの サービス制御ポリシー(SCP) を使い、開発ユニットごとにOU(組織単位)を分け、リソースへのアクセスを制限します。
  • 問題点:SCPは主に組織全体のポリシー管理に使用されるため、 細かいリソース単位でのアクセス制御 には不向きです。タグを使って個別のアクセス制御を行う柔軟性がありません。

B選択肢:STSセッションタグとIAMポリシー

  • 概要:SAML認証でSTSセッションタグを使い、開発者の所属する開発ユニットを識別。その情報を基にIAMポリシーでリソースへのアクセスを制御します。
  • 正解理由:この方法は リソースタグとセッションタグを照合 し、 アクセスできるリソースを明確に制限 できます。これにより、開発者は自分のユニットのリソースのみ操作可能になり、他の開発ユニットのリソースを誤って操作することを防げます。

C選択肢:SCPを使ったタグによるアクセス制御

  • 概要:SCPを使って、開発ユニットに合わせたアクセス許可を設定します。条件として、タグとセッションタグを照合します。
  • 問題点:SCPは アクセスを許可 する条件で設定されているため、誤って他のユニットのリソースにアクセスできてしまう可能性があります。誤操作を防ぐためには 明示的な拒否 の方が安全です。

D選択肢:IAMポリシーを使ったアクセス制御

  • 概要:開発ユニットごとに個別のIAMポリシーを作成し、それをSAML認証を通じて適用します。
  • 問題点:IAMポリシーを各ユニットごとに作成するのは 管理が複雑 で、運用の負担が大きくなります。リソースの管理やポリシーの更新が増えるため、スケーラビリティに欠けます。

結論

B選択肢 は、 SAML認証STSセッションタグ を活用し、開発者が自分の開発ユニットに関連するリソースのみ操作できるようにする方法です。このアプローチは、リソースレベルでアクセス制御を 柔軟 に行うことができ、誤操作を防ぐために非常に効果的です。他の選択肢は、管理の複雑さやアクセス制御の精度において不十分であるため、B選択肢が最適 となります。
AWS STS(Security Token Service)とセッションタグを使う理由は、アクセス権限を一時的かつ柔軟に管理できるためです。特に削除防止には、動的に権限を変更できる点が重要です。
  • STSとセッションタグ:
    • 一時的なアクセス制御: 特定の時間や状況でのみアクセスを許可。
    • タグによる制御: ユーザーにタグを付与して、どのリソースにアクセスできるかを動的に決める。
  • IAMポリシーとリソースレベルアクセス制御:
    • 静的な設定: 一度設定したら変更が必要な場合が多く、動的な権限変更には不向き。
簡単に言うと、STSとセッションタグは、一時的かつ柔軟なアクセス管理が可能で、特に削除防止には有効です。
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
386-AWS SAP AWS 「理論・実践・一問道場」AWS Service Catalog384-AWS SAP AWS 「理論・実践・一問道場」AWS Global Accelerator
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
第1回:イントロダクション
2025-4-21
TOKYO自習島
2025-4-21
第1回:イントロダクション
2025-4-18
第1回:オリエンテーション/意思決定と会計情報
2025-4-18
建物業法の基本と免許-59問
2025-4-10
宅建士过去问速刷:小南小白陪你拿证-001
2025-4-7
公告

🎉 欢迎访问我的博客 🎉

🙏 感谢您的支持 🙏

📅 本站自 2024年9月1日 建立,致力于分享我在 IT・MBA・不动产中介 等领域的学习与实践经验,并推动 线上线下学习会 的自主开展。

📚 主要内容

💻 IT・系统与开发

  • 系统管理:Red Hat 等
  • 容器与编排:Kubernetes、OpenShift
  • 云计算:AWS、IBM Cloud
  • AI 入门:人工智能基础与实践
  • 技术笔记与考证经验

🏠 不动产 × 宅建士

  • 宅建士考试笔记

🎓 MBA 学习笔记

  • 管理学、经济学、财务分析等

🔍 快速查找内容(标签分类)

由于网站目前没有专门的设计,可能会导致查找信息不便。为了更快找到你感兴趣的内容,推荐使用以下标签功能 进行搜索!
📌 定期更新,欢迎常来看看!
📬 有任何建议或想法,也欢迎留言交流!