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
340
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
DLTをふんわり理解しよう
kokitamura
0
100
Glue Studio Visual ETL実装時にハマったこと
kokitamura
1
450
Amazon Nova のトークナイザについて調べてみた
kokitamura
0
140
Other Decks in Programming
See All in Programming
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
270
New "Type" system on PicoRuby
pocke
1
970
Contextとはなにか
chiroruxx
1
330
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
140
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
5.8k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
880
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
180
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
110
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.4k
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
150
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Building an army of robots
kneath
306
46k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
390
Exploring anti-patterns in Rails
aemeredith
3
410
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building AI with AI
inesmontani
PRO
1
1.1k
Evolving SEO for Evolving Search Engines
ryanjones
0
220
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
A Soul's Torment
seathinner
6
3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Designing for humans not robots
tammielis
254
26k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
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と日本語は入力できない とても便利な機能であり、組み合わせて適用することで信頼性の高い運用が可能になりますが 後から適用すると、既存リソースに影響が発生する場合もあるので、十分に精査した上で適用しましょう。