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
Amazon Verified PermissionsのWorkshopをやってみた
Search
Takahiro Tanaka
August 06, 2023
Technology
260
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
310
マネージドサービスで作る認証機能
ledsue
0
220
Other Decks in Technology
See All in Technology
その Valkey 使いこなしていますか?
onk
PRO
5
1.6k
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
1
120
DBについての基礎説明(MySQL編) - コロプラ 2026年度 新卒研修
colopl
0
120
AI コーディングと人間の認知スループット / CTO Night & Day 2026 Morning Session / AI Coding and Human Cognitive Throughput
prog893
4
1.2k
フィンテック養成勉強会#68
finengine
0
110
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
120
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
140
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
440
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
今さら理解するウェブフォントver.2026
takanorip
3
890
How to Design Configuration for Rails Applications
willnet
1
830
Featured
See All Featured
We Are The Robots
honzajavorek
0
400
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Tell your own story through comics
letsgokoyo
1
1.1k
Building Applications with DynamoDB
mza
96
7.2k
Visualization
eitanlees
153
17k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
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