Content last updated 2026-01-14

Okta API アクセス

Okta サービスへの API アクセス

概要

Okta API は、Okta へのプログラムによるアクセスを提供します。これには、ユーザー、グループ、アプリ、セキュリティ、その他のデータへのアクセスが含まれます。GitLab の Okta テナントとデータは非常に機密性が高く、重要な性質を持つため、プログラムによるアクセスは厳しく制限されています。

API Services Apps

GitLab における Okta へのプログラムアクセスのデフォルトの方法は、API Service App (OAuth 2.0) です。API Service apps は、スコープ付きの OAuth 2.0 アクセストークンを使用したクライアント認証情報グラントフロー経由でアクセスを提供します。API Services app は、他の Okta API アクセス方法よりも高いセキュリティを提供します。

  • スコープによるアクセスの細粒度の向上
  • トークンライフタイムの短縮
  • 権限はユーザーから継承するのではなくアプリ固有
  • プログラムによるトークンローテーション

API Service App の要件

  • 統合またはサービスごとに固有の API Service app を作成すること。
  • アプリは、特に要求された目的以外の用途で使用してはならない。
  • アプリのスコープは、必要なスコープのみに限定すること。
  • アプリには、固有に個別割り当てされた管理ロールが必要。
    • ロールは、必要な権限のみに限定すること。
    • カスタムロールを使用する場合、ロールは固有でなければならない。
    • カスタムロールを使用する場合、ロールは必要なスコープのみに限定すること。
    • カスタムロールを使用する場合、リソースセットは必要なリソースのみに限定すること。
  • 可能な場合は、Demonstrating Proof of Possession (DPoP) を有効化・設定すること。
  • 可能な場合は、非対話型のトークン交換を無効にすること。
  • 制限された IP アドレスのリストを持つネットワークゾーンを設定し、アプリに割り当てること。

API トークンとサービスアカウント

API トークンは、Okta にアクセスするための http Authorization ヘッダー方式を提供します。この方法は API Services app よりも安全性が低く、一般に禁止されています。

API トークンの要件

  • トークンは固有の専用サービスアカウントに関連付けられていること。
  • トークンは人間のユーザーに関連付けられていないこと。
  • サービスアカウントには、個別割り当てされた管理ロールが必要。
    • ロールは、必要な権限のみに限定すること。
    • カスタムロールを使用する場合、ロールは固有でなければならない。
    • カスタムロールを使用する場合、ロールは必要なスコープのみに限定すること。
    • カスタムロールを使用する場合、リソースセットは必要なリソースのみに限定すること。
  • 制限された IP アドレスのリストを持つネットワークゾーンを設定し、トークンに割り当てること。
  • サービスアカウントと API トークンは、特に要求された Okta へのプログラムアクセスのみに使用すること。
  • サービスアカウントの対話型ログインをブロックすること。
  • その他の追加のセキュリティ要件を満たすこと。

API トークンは、サービスアカウントが無効化されると自動的に無効化されます。トークンは 30 日間活動がない場合、自動的に無効化されます。

レート制限

デフォルトでは、すべての API Services app とトークンは、各 API のレート制限の 50% でレート制限されます。Okta と頻繁にやり取りし、Okta の API レート制限に近づく可能性があるサービスについては、さらなるレート制限を強く推奨します。