Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
RCPと宣言型ポリシーについてのお話し
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
96
DLTをふんわり理解しよう
kokitamura
0
130
Glue Studio Visual ETL実装時にハマったこと
kokitamura
1
480
Amazon Nova のトークナイザについて調べてみた
kokitamura
0
180
Other Decks in Programming
See All in Programming
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
140
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
AIエージェント時代のコードレビューを設計する
nogu66
6
2.6k
AIの中の人になってみる
htkym
0
170
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
130
Building an Out-of-Order CPU
latte72
1
750
XHTMLが残したもの
yosuke_furukawa
PRO
2
670
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
330
What We Talk About When We Talk About XP
m_seki
2
470
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
650
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
140
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
290
Featured
See All Featured
KATA
mclloyd
PRO
35
15k
Making Projects Easy
brettharned
120
6.7k
Music & Morning Musume
bryan
47
7.4k
Technical Leadership for Architectural Decision Making
baasie
3
560
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.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と日本語は入力できない とても便利な機能であり、組み合わせて適用することで信頼性の高い運用が可能になりますが 後から適用すると、既存リソースに影響が発生する場合もあるので、十分に精査した上で適用しましょう。