Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RCPと宣言型ポリシーについてのお話し
Search
KOKI TAMURA
March 18, 2025
Programming
360
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RCPと宣言型ポリシーについてのお話し
KOKI TAMURA
March 18, 2025
More Decks by KOKI TAMURA
See All by KOKI TAMURA
SREとは何か、AWSでどう始めるか
kokitamura
0
82
DLTをふんわり理解しよう
kokitamura
0
130
Glue Studio Visual ETL実装時にハマったこと
kokitamura
1
480
Amazon Nova のトークナイザについて調べてみた
kokitamura
0
170
Other Decks in Programming
See All in Programming
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
260
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.8k
ソフトウェアラスタライザ
fadis
1
790
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
新卒PdEのリアル
ryu1013
1
400
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
220
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.8k
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
120
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
730
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
310
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
170
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
9
970
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
560
Accessibility Awareness
sabderemane
1
200
New Earth Scene 8
popppiees
3
2.5k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Fireside Chat
paigeccino
42
4k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
510
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
190
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Transcript
RCPと宣言型ポリシーについてのお話し K.Tamura
自己紹介 田村 晃輝 虎ノ門のどこかでエンジニアしています JAWS-UG SRE / 富山支部メンバー @koki46926199 元
富山県民 エンジニア歴 もうすぐ2年 AWS歴は1年ほど AWSマルチアカウント管理の設計、構築業務を担当 最近のトピック: エンジニアを始めるのと同時に ”とても” 太り始めました
はじめに 2024年11月、12月に AWS Organizations で導入された RCP と 宣言型ポリシー について、Terraform 化も含めてお話しします。
今回統制周り初めて触ったので、お手柔らかにお願いします…。
RPC (Resource Control Policy) 概要 組織内のリソースに対してのAPIアクションの許可範囲を設定するリソースベースのポリシーです。 組織外のアカウントからのリソースへのアクセスを制限することが可能となります。 対応サービス (2025/3/18 10:00
時点) - Amazon S3 - AWS Security Token Service - AWS Key Management Service - Amazon SQS - AWS Secrets Manager https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_manage_policies_rcps.html
RPC を適用するにあたっての注意点 RCPの適用対象はSCPと同様に OU(組織単位)もしくはアカウントに対して適用 されます。 よって、RCPで適用するポリシーは組織内のメンバーアカウントのみに適用されるため、 管理アカウント内のユーザー、ロール、リソースに対してのアクションの制限が行えません。
宣言型ポリシー 概要 https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_manage_policies_declarative.html 組織内のリソースに対しての サービスレベルでベースラインの設定 が可能となりました。 これにより、新しい機能、APIが追加されたときのメンテナンスが不要になります。 対応サービス (2025/3/18 10:00
時点) - EC2関連サービスの一部ユースケースのみ対応
宣言型ポリシー 概要 他にも、カスタムエラーメッセージ として、エラー発生時のカスタムメッセージを定義出来るだけでなく、 アカウントステータスレポート の機能でアカウント間でポリシーの状態が一貫しているのかを 確認することができます。 https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_manage_policies_declarative.html アカウントステータスレポート カスタムエラーメッセージ
“カスタム” エラーメッセージ・・・? 素敵な響き とりあえず AA (アスキーアート) 入力してみますよね? 「提供されたポリシー文書は、指定されたポリシータイプの要件を満たしていません。」 と怒られちゃいました…。
カスタムエラーメッセージに記述可能な文章 日本語を入力した場合でも同様に怒られてしまうので 現時点ではアルファベットで入力する必要がありそうでした。
SCP / RCP / 宣言型ポリシーの比較 SCP RCP 宣言型ポリシー 目的 IAMユーザーやロールなどに対しての
アクセス制御を一元管理 リソースに対しての アクセス制御を一元管理 AWSサービスのベースライン を一元管理 制御の仕組み APIレベルで制御 APIレベルで制御 API アクションを使用せずに、 AWS サービスの必要な 構成を適用 サービスリンクロール※ 制限しない 制限しない 制限する エラーメッセージの カスタマイズ カスタマイズ不可 カスタマイズ不可 カスタマイズ可能 Quota (アタッチ可能な数) 5 5 10 ※ 特定のAWSサービスがユーザーの代わりにAWSリソースを管理できるように、自動で作成・管理されるIAMロール
SCP / RCP / 宣言型ポリシーの評価論理 単一アカウントのポリシー評価:https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_evaluation-logic_policy-eval-basics.html リクエストコンテキストの処理:https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_evaluation-logic_policy-eval-reqcontext.html SCPより先にRCPの判定を行っています。 宣言型ポリシーは、サービスレベルで適用されるため、 評価論理には記載されていませんが、最上位で判定を行っているイメージです。
結局何が嬉しいのか考えてみる RCP 宣言型ポリシー 新しい機能、APIが追加された場合でも、サービスのベースラインとして適用されるので メンテナンスのコストが低下する。 SCPで組織外のアカウントからのアクセスを網羅的に禁止することは難しいが、 RCPを適用することによって容易に実装が可能となる。 SCPで制御する場合、複数のAPIを指定する必要があるが、宣言型ポリシーをアタッチする だけなので簡単。
RCPと宣言型ポリシーをTerraformで適用してみる
環境の説明 AFT(AWS Control Tower Account Factory for Terraform)を使用して アカウントおよびリソースの作成を実施しています。
RCPと宣言型ポリシーのTerraformについて AWS Control Tower controls:https://docs.aws.amazon.com/ja_jp/controltower/latest/controlreference/all-global-identifiers.html 現環境では全てのリージョンに対してコントロールを適用したいため グローバル識別子をJSON形式で保存し、RCPと宣言型ポリシーを適用しています。
まとめ - RCP - 組織内のリソースに対してのAPIアクションの許可範囲を設定するリソースベースのポリシー - 適用範囲はSCPと同様にOU(組織単位)もしくはアカウント - 宣言型ポリシー -
組織内のリソースに対しての サービスレベルでベースラインの設定 が可能 - サービスリンクロールに対しても制御が入るので、適用時は注意 - カスタムエラーメッセージにAAと日本語は入力できない とても便利な機能であり、組み合わせて適用することで信頼性の高い運用が可能になりますが 後から適用すると、既存リソースに影響が発生する場合もあるので、十分に精査した上で適用しましょう。