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
Amazon Verified PermissionsのWorkshopをやってみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takahiro Tanaka
August 06, 2023
Technology
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon Verified PermissionsのWorkshopをやってみた
Takahiro Tanaka
August 06, 2023
More Decks by Takahiro Tanaka
See All by Takahiro Tanaka
脅威モデリングをやってみた
ledsue
0
290
マネージドサービスで作る認証機能
ledsue
0
210
Other Decks in Technology
See All in Technology
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.5k
Oracle MCP Servers Explained
thatjeffsmith
0
450
Rust×eBPFでEDRっぽいものをつくる
sunlife3
2
930
Kiro入門|仕様駆動開発で変わるAI時代の開発スタイル
cmkudo
0
350
20260817_生成AIの動向と中学校・高等学校での活用を考える_v1.00_公開用
doradora09
PRO
0
210
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
型落ちシンクライアント端末のPoEモジュールを自作したかった話
logica0419
0
400
AI for Science時代を切り開く、政府の次世代HPC戦略の展望
gpuunite_official
0
240
【GCC2026】鉄拳8でのVFX開発事例
bandainamcostudios
PRO
0
300
わたしが知り合いゼロの勉強会に 行けるようになるまで
r5ni4
2
480
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
890
AIのためのEthernet技術動向 (SerDes)
markunet
1
310
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7.1k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
220
YesSQL, Process and Tooling at Scale
rocio
174
15k
How to make the Groovebox
asonas
2
2.3k
How to Talk to Developers About Accessibility
jct
2
520
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
420
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
BBQ
matthewcrist
89
10k
ラッコキーワード サービス紹介資料
rakko
1
4.5M
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Transcript
JAWS-UG 名古屋 Amazon Verified Permissions のWorkshopをやってみた 2023年8月5日
自己紹介 名前:田中 隆博(すえぞう) ついったー:@led_suezou Note:https://note.com/ledsue 仕事:ユーザ系IT子会社にてインフラ構築、運用を担当
好きなAWSサービス:EC2、CDK
はじめに 今日お話しすること Amazon Verified Permissions Workshopをやってみての気づき (https://catalog.workshops.aws/verified-permissions-in-action/en-US) 今日、お話しないこと
Amazon Verified Permissionsを使ってのアプリケーション開発の細かい点
まずAmazon Verified Permissionsについて Amazon Verified Permissions(以下、⾧いのでAVPと略します)は、アプリケーションが各種リソースに アクセスする際の認可部分を提供するサービス 公式ドキュメント的には
Amazon Cognitoなどの任意のidPと組み合わせて利用 権限の管理を外部化 動的でリアルタイムな権限判断
どうやって制御するのか? AVPでは、(IAMと用語が混ざりますが)ポリシーを使って権限を記述します。 ポリシーを記述するにはJSONによく似たCedarを使って記述をします。 ポリシーストア ポリシーA permit(principal, action, resource)
when { principal == resource.owner} ; ポリシーB permit( principal, action in [ TinyTodo::Action::”CreateList”], resource ); ポリシーでは、プリンシパル、アクション、リ ソースを定義することができます。 左の例では、ポリシーAはリソースのオーナであれ ば許可され、ポリシーBではCreateListアクションだ けが許可されるポリシーとなっています。
どうやって制御するのか? ポリシーには「静的ポリシー」と「テンプレートリンクポリシー」の2つがあります。 テンプレートリンクポリシーは、ポリシー内にプレイスホルダが設定できるポリシーで、動的にポリ シーを作成することが可能です。 注意事項 プレイスホルダに指定できる項目は「プリンシパル」と「リソース」の2つだけ
どうやってアプリ側から使うのか? Workshopで作成されたLambda「TinyTodoApiLambda」の中を見てみると ここで利用しているpermissions自体は、boto3でのpermissionsのAPI操作ラッピングしている permissions_check関数で task_listに対するアクセス 権限をチェック 作成しているポリシーストアとポリ シーテンプレートのIDを指定
どうやってアプリ側から使うのか? is_authorized関数を使って権限を チェックして結果を返却
is_authorized関数の中身は? boto3の公式ドキュメントだと パラメータに記述されたサービス要求について認可決定を行う。パラメータ内の情報は、Verified Permissions が評価に含めることができる追加のコンテキストを定義することもできます。リクエス トは指定されたポリシーストア内の全てのマッチするポリシーに対して評価される。判定結果は Allow か
Deny のどちらかであり、判定結果となったポリシーのリストも表示される。 (DeepL訳) https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/verifiedpermissions/client/is _authorized.html
まとめ AVP自体は、認可のチェックしかしないから、別途IAMの設定は必要… 複雑なアクセス制御じゃなければ、Condition句にcognitoのuser_id指定してやればいいんじゃないか?、 という思いもやってみて思う。
参考資料 Boto3のVerified Permissionsに関するリファレンス https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/verifiedpermissions.html Verified Permissionsユーザガイド
https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/what-is-avp.html JAWS-UG 名古屋で発表したCaderの資料 https://speakerdeck.com/ledsue/whatsthecedar