Fleet Engine のセキュリティ設計

Fleet Engine でのアカウント ロールと JWT の基本を確認したので、次は このセクションを確認して、認証の基本的な流れと、 認証オペレーションについて説明します。

セキュリティ設計

Fleet Engine のセキュリティ設計は、次の要素で構成されています。

  • ロール:
    • IAM ロールは、サービスに対して許可されるアクティビティの範囲を定義します。 呼び出します。たとえば、ondemandAdmindeliveryAdmin のロールは許可されます すべての操作を実行できるのに対し、driverSdkUser または deliveryUntrustedDriver ロールは最小限の位置情報の更新しか実行できません。
    • IAM ロールはサービス アカウントに関連付けられます。
  • リクエスト
    • JWT クレームは、呼び出し元が操作できるエンティティをさらに制限します。 特定のタスクでも配送手段でもかまいません。
    • Fleet Engine に送信されるリクエストには、常に JWT が含まれます。
    • JWT はサービス アカウントに関連付けられているため、フリートに送信されたリクエストは サービス アカウントが関連付けられたサービス アカウントに、 JWT です。
    • 適切な JWT をリクエストしてからフリートに渡す 低信頼環境で実行するコードは、最初に 完全に信頼できる環境で実行できます。
  • Fleet Engine によるセキュリティ チェック
    • サービス アカウントに関連付けられた IAM ロールによって、 呼び出し元が API 呼び出しを発行できるようにします。
    • リクエストで渡された JWT クレームは、正しい認証を エンティティの操作を行えます

クライアント アプリの認証フロー

次のシーケンス図は、これらのクライアント アプリの認証フローを示しています。 表示されます。

  • フリート管理者は、次のようにアカウントを設定します
    • サービス アカウントの作成
    • サービス アカウントに特定の IAM ロールを割り当てる
    • サービス アカウントを使用してバックエンドを構成する
  • クライアント アプリがサーバーに JWT をリクエストする。リクエスト元は ユーザー アプリ、モニタリング アプリのいずれかから選択してください。
  • Fleet Engine は、各サービス アカウントに対して JWT を発行します。
  • クライアント アプリは次のことを行います。
    • JWT を受信する
    • JWT を使用して Fleet Engine に接続し、データの読み取りまたは変更を行う。 IAM ロールによって異なります。

クライアント アプリの認証設定時のセキュリティ フローの図

次のステップ