0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

認証/認可の仕組み

Last updated at Posted at 2025-01-17

認証と認可の定義

認証とは、APIにアクセスするユーザーやアプリケーションの身元を確認するプロセスである。つまり、「アクセスしようとする主体が本人であることを確認する」ということ1 2 3

認可とは、認証済みのユーザーやアプリケーションが、特定のAPIリソースへのアクセス権限を持っているかを判断するプロセス1 2

主な認証/認可仕組み

  1. HTTP Basic Authentication4:
    • 認証の仕組みで認可の仕組みは含まない
    • ユーザー名とパスワードをBase64エンコードし、HTTPリクエストヘッダーに含める方式3 4
    • 実装は容易だが、セキュリティレベルが低く、必ずHTTPSとの併用が必要3 5
  2. APIキー認証5:
    • 認証の仕組みで認可の仕組みは含まない
    • 各ユーザーに固有のAPIキーを発行し、リクエストに含めて認証する方式3
    • キーへの有効期限設定によるセキュリティ強化が可能3
  3. OAuth(Open Authorization2.06:
    • 認可の仕組みであり、場合によって認証のフローも含む
    • サードパーティアプリケーションが、ユーザーの代理としてAPIにアクセスするための権限を取得するための標準プロトコル3
    • ユーザーが明示的にリソースアクセス権限を付与でき、高い安全性を実現可能3

認証/認可の基本フロー

  1. クライアントによるAPIの呼び出し、アクセストークン(Authorizationヘッダーなど)の提示1
  2. リソースサーバー(API)によるアクセストークンの検証1
  3. トークン検証結果に基づくバックエンドAPIリソースへのアクセス許可1

セキュリティの考慮事項

  • 認証と認可の強化のため、TLSによるAPIアクセスの保護、認証・認可用資格情報やトークンの適切な保護が必要1
  • APIキー認証採用時は、キー漏洩リスク対策としてのHTTPSによる通信暗号化が不可欠3

適切な認証/認可メカニズムの実装による不正アクセスの防止、データとリソースのセキュリティ確保が可能である。

参照

1 2 3 4 5 6

  1. https://learn.microsoft.com/ja-jp/azure/api-management/authentication-authorization-overview 2 3 4 5 6 7

  2. https://developers.google.com/workspace/guides/auth-overview?hl=ja 2 3

  3. https://qiita.com/MaSi1031/items/1b1a3258f119a5d43045 2 3 4 5 6 7 8 9

  4. HTTP Basic Authenticationの概要と仕組み 2 3

  5. HTTPSの概要と仕組み 2 3

  6. OAuthの概要と仕組み 2

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?