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 へのアクセスを必要とし、API Service Apps (OAuth 2.0) をサポートできない重要なシステムに対してのみ認められます。例外の承認は Identity チームの裁量によります。API トークンは、Okta にアクセスするための http Authorization ヘッダー方式を提供します。この方法は API Services app よりも安全性が低く、一般に禁止されています。
API トークンの要件
- トークンは固有の専用サービスアカウントに関連付けられていること。
- トークンは人間のユーザーに関連付けられていないこと。
- サービスアカウントには、個別割り当てされた管理ロールが必要。
- ロールは、必要な権限のみに限定すること。
- カスタムロールを使用する場合、ロールは固有でなければならない。
- カスタムロールを使用する場合、ロールは必要なスコープのみに限定すること。
- カスタムロールを使用する場合、リソースセットは必要なリソースのみに限定すること。
- 制限された IP アドレスのリストを持つネットワークゾーンを設定し、トークンに割り当てること。
- サービスアカウントと API トークンは、特に要求された Okta へのプログラムアクセスのみに使用すること。
- サービスアカウントの対話型ログインをブロックすること。
- その他の追加のセキュリティ要件を満たすこと。
API トークンは、サービスアカウントが無効化されると自動的に無効化されます。トークンは 30 日間活動がない場合、自動的に無効化されます。
レート制限
デフォルトでは、すべての API Services app とトークンは、各 API のレート制限の 50% でレート制限されます。Okta と頻繁にやり取りし、Okta の API レート制限に近づく可能性があるサービスについては、さらなるレート制限を強く推奨します。
最終更新 June 14, 2026: Merge pull request #403 from kyama0/claude/cool-turing-ls6eck (
bfd74782)