$30 off During Our Annual Pro Sale. View Details »

AWS のポリシー言語 “Cedar” で実現するアクセス制御

AWS のポリシー言語 “Cedar” で実現するアクセス制御

2023/8/26 (土)
JAWS-UG 名古屋 AVAハンズオン+re:Inforceの復習
https://jawsug-nagoya.doorkeeper.jp/events/160064

Kento Suzuki

August 26, 2023
Tweet

More Decks by Kento Suzuki

Other Decks in Technology

Transcript

  1. AWS のポリシー⾔語
    “Cedar”
    で実現するアクセス制御
    8/5(⼟) JAWS-UG 名古屋 AVAハンズオン+re:Inforceの復習

    View Slide

  2. 2
    鈴⽊健⽃
    所属
    アイレット株式会社(東京)
    業務
    AWSのインフラ構築・運⽤ → 提案
    ・Japan AWS Top Engineer (2022, 2023)
    ・Japan AWS All Certifications Engineer (2022, 2023)
    ・ AWS Community Builder(Cloud Operations)
    ・iret テクニカルアンバサダー (2023)
    自己紹介
    自費で re:Invent へ行きます!!!!!!!

    View Slide

  3. アジェンダ
    ❧ 本 LT の経緯
    ❧ Cedar とは︖
    ❧ ワークショップを通して Cedar を触ってみた
    3

    View Slide

  4. 1.
    本 LT の経緯
    Background of this Lightning Talk

    View Slide

  5. Security-JAWS DAYS の登壇が決まる
    タイトル
    探せぇ︕お薦めAWSセキュリティワークショップ︕︕
    〜 怒涛のワークショップ45連戦 〜
    “「AWS のセキュリティサービスに興味があるけど、どこから
    始めれば良いか分からない」という⽅に向けて、全AWS公式セ
    キュリティワークショップの中から、個⼈的にお薦めのワークシ
    ョップを紹介(CfP 応募時点では全45種類)”
    参考︓AWS Security Workshop
    https://workshops.aws/categories/Security
    5
    ※注意
    本日確認したところ 48 種類に増えている模様 https://jaws-tohoku.doorkeeper.jp/events/156109

    View Slide

  6. 全 AWS 公式ワークショップをやる
    6
    以下のワークショップを⾒つける
    「Cedar policy language in action」
    概要
    Cedarは、誰が何にアクセスすべきかを記述するポリシーとしてパーミッションを定義するための⾔語です。
    Amazon Verified PermissionsとAWS Verified Accessは、アプリケーションとエンドユーザーに対して
    きめ細かいパーミッションを定義するためにCedarを使⽤します。
    このワークショップでは、アクセス制御のためのCedarポリシーを構築することで学びます。
    re:Inforce でワークショップが公開された??

    View Slide

  7. 2.
    Cedar とは︖
    What is “Cedar”

    View Slide

  8. Cedar とは?
    ❧ AWS Verified AccessやAWS Verified Permission で利⽤できるAWSのポリシー⾔語
    ❧ 昨年の re:Invent 2022 にて発表
    ❧ オープンソースのポリシー⾔語
    ❧ 以下の特徴をもつ
    ・表現の幅広さ ← 今回紹介するワークショップではこれが体験できる
    ・⾼性能
    ・分析がしやすい
    8

    View Slide

  9. 表現の幅広さ
    スキーマと呼ばれるものを活⽤することで表現の幅広さを実現します。
    スキーマとは
    “アプリケーションでサポートし、Cedar に認可サービスを提供させたいエンティティタイプの構造を
    宣⾔したものです。Cedar は JSON を使ってスキーマを定義します。これは JSON スキーマに似ていま
    すが、エンティティタイプの使⽤など、Cedar の設計のユニークな⾯では若⼲の違いが求められます”
    9
    IAM でいうポリシーの構造(書き⽅)を⾃分で定義できる
    触ってみた結果

    View Slide

  10. スキーマの例
    10
    ポリシー スキーマ

    View Slide

  11. スキーマの例
    11
    ポリシー スキーマ

    View Slide

  12. 3.
    ワークショップを通して
    Cedar を触ってみた
    Experiencing “Cedar” through workshops

    View Slide

  13. ワークショップの前提
    13
    Cedar Playground という Cedar を体験できるサイトを使うため AWS アカウントにログインする必要がない
    (8/5 時点では⽇本語⾮対応)
    https://www.cedarpolicy.com/en

    View Slide

  14. Cedar Playground でできること ①
    14
    ポリシーとスキーマの定義の作成

    View Slide

  15. Cedar Playground でできること ②
    15
    作成したポリシーに対して実際にリクエストを送る

    View Slide

  16. Cedar Playground でできること ③
    16
    許可/禁⽌を確認

    View Slide

  17. ワークショップの概要
    ❧ Policy playground を使って Cedarについて⼀通りの概要を体験
    ❧ 基本的にポリシーやリクエストを書いて「これは通る」「これは通らない」を確認
    ❧ ワークショップの最後には「実際にスキーマとポリシーを⾃分で書いてみよう」的な
    応⽤問題もある
    → 答えもあるので、「似たようなアクセス制御を実現したい」となった際の
    サンプルとしても使える
    17

    View Slide

  18. ワークショップに出てくる例題①
    18
    ・⾃分がアップロードした写真は⾒れるがそれ以外は⾒れない
    ・⾃分の家族があげた写真は⾒ることができるがそれ以外は⾒れない
    ・特定のタグがついている写真だけを閲覧することができる

    View Slide

  19. ワークショップに出てくる例題②
    19
    ・Git アプリケーションもあるよ

    View Slide

  20. 感想
    ❧ IAMやS3のバケットポリシーやKMSのキーポリシーを書いたことがあれば
    ⽐較的理解できる
    ❧ AWS Verified AccessやAWS Verified Permissionといったサービスを検証する際に
    実際にリソースを作成してしまうと費⽤が発⽣してしまうが、
    Cedar Playground を使えば、無料で Cedar のポリシーやスキーマの検証ができる
    ❧ AWS Verified AccessやAWS Verified Permissionといったサービスを
    実際に触るわけではないので、「AWSのサービスでどう使うのか」という
    応⽤場⾯のイメージは付きづらい
    20

    View Slide

  21. Big concept
    Bring the attention of your audience over a key
    concept using icons or illustrations
    21
    参加登録はこちら 懇親会登録はこちら
    #jawsfesta #jawsfesta2023 #実行委員長発見
    ←この人 (@east_takumi) が実行委員長です!
    もし現地で⾒かけたら
    上のハッシュタグを付けて 通報 Tweet しよう︕︕

    View Slide