【レポート】AWS アイデンティティサービス : クラウドジャーニーをセキュアに進めるために #AWSSummit

2019.06.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、望月です。

2019/6/12(水)~14(金) の期間で開催されている AWS Summit Tokyo 2019 に参加しています!

本記事は「AWS アイデンティティサービス : クラウドジャーニーをセキュアに進めるために」のレポートになります。

登壇者

  • Amazon Web Services, Inc. Security BDM
    • Quint Van Deman

AWS へのクラウドジャーニーにおいて AWS ID の管理サービスに触れる機会は多いものです。そこには、オンプレミス時代に類似のものが存在したものもあれば、クラウド特有のものもあります。本セッションでは、AWS のアイデンティティサービスを網羅的にご紹介し、クラウドジャーニーにおいて堅牢な基盤を迅速かつ確実に形成する手助けとなる情報をご説明します。また、ユースケースに基づく活用の形もご紹介します。

レポート

はじめに

  • アイデンティティ
    • 誰が
      • ID管理
    • アクセスできるか
      • アクセス管理
      • どういう条件で
    • 何に
      • リソース管理
  • 具体的には
    • アプリケーション
      • エンドユーザー向けアプリケーション
    • インフラストラクチャ
      • OS、リレーショナルDBなど
    • AWS マネジメントコンソール
    • 誰が
      • ユーザー
      • オペレータ
      • 開発者

AWS プラットフォームを管理する

  • AWS Organizations
    • 複数のアカウントに関する一元管理サービス
      • サービス/リソース/リージョンへのアクセスの統制
      • アカウントの作成と管理の自動化
      • アカウントを横断するサービスの構成
      • 複数アカウントの一括請求
  • アカウント
    • リソースをまとめる一つの容器
    • 分離境界
      • 管理
      • ネットワークアクセス
      • 権限管理/リソース共有
    • 必要とするアカウントをいくつも所持可能(制限の範囲で)
    • 1つのアカウントをマスターアカウントとして、メンバーアカウントを配下に紐づけできる
  • 複数のアカウントに何が必要か
    • AWS Landing Zone
    • AWS Control Tower
  • AWS Organizations:複数のアカウントの統制
  • アカウントアクセス
    • AWS Single Sign-On (SSO)
      • 複数のアカウントやビジネスアプリケーションへのSSOアクセスを一元管理
    • AWS SSOを使うまで
      • アクセス権限セットの定義
      • アクセス権限セットのアサイン
      • ユーザーエクスペリエンス
  • ユーザーにどのような権限を与えますか?
    • 最小権限の実現は旅路、出発点にしない
    • 仕事の役割から出発する
    • 時間をかけて独自にIAMポリシーをカスタマイズする
  • AWS Identity and Access Management (IAM)の紹介
    • サービスとリソースへのアクセスを安全に管理する
  • IAMポリシーの基本
    • PARC model
      • Principal
        • 誰が?
      • Action
        • どのようなことを?
      • Resource
        • 何に?
      • Condition
        • どのような条件で
    • 属性ベースのアクセス制限(ABAC)
  • AWS IAMへのSAMLフェデレーション
    • SSOと同じ目的で利用でき、より細かい単位で制御が可能
  • どの方法を選択するか?
    • たくさんのアカウントにある大量のユーザを、大量のロールでアクセス管理したいですか?
    • 20以下 SAML to IAM
    • 20以上 AWS SSO
  • クラウドビルダー いつでも開発できます!
    • コントロールプレイン - AWS API
    • データプレイン - VPCコネクション

インフラストラクチャの操作を管理する

  • AWS Directory Service
    • AWS クラウド内のマネージド型 Microsoft Active Directory
    • AWSサービスやアプリケーションを統合できる
    • ID情報を同期することなく基盤管理アクセスを提供
    • ディレクトリサービスに依存するワークロードをマネージドサービスに移行
  • AWSでのActive Directory利用方法
    • 信頼関係を構築されたAWS Managed AD
    • AD Connectorによる接続
    • AWS Managed ADスタンドアロン利用
    • レプリケーションされたEC2上のAD
    • 上記を組み合わせて使い、リスクを回避する方法もある

インフラストラクチャへ認証を提供するには

  • AWSコンピュートサービスのためのIAMロール
    • EC2インスタンス
      • AWS認証情報の自動配信とローテート
    • OS
      • 一時的な認証情報を自動取得し利用
    • コード
      • ロールに紐付いたポリシーでアクセス制御
  • アプリケーション 準備完了!
    • APIアクセス
    • リソースアクセス

アプリケーションへのエンドユーザーアクセスを安全にする

  • Amazon Cognito
    • Webサプリ、モバイルアプリのためのシンプルでセキュアな、サインアップ、サインイン、およびアクセスコントロール
    • フレキシブルでマネージドな認証
      • API & SDKサポート
      • 拡張性ある認証&認可
      • オープンスタンダードへの対応
      • ソーシャルフェデレーションへの対応
      • セキュア&可用性
    • Amazon Cognitoの使う方法
      • ユーザプールはユーザを認証してトークンを返す
      • ユーザプールトークンを利用してバックエンドのリソースへアクセス
      • IDプールはAWSサービスにアクセスするためのAWS認証情報を提供

最後に

AWS のアイデンティティサービスということで、AWS マネジメントコンソール、インフラストラクチャ、アプリケーションと一貫してお話を聞くことができました。

AWSのインフラをメインで触っているため、あまりアプリケーションレイヤの話を聞く機会が少ない中、Amazon Cognitoの話が聞けたので、良かったです。