資格情報インベントリを使用すると、企業にアクセスできる資格情報を企業全体で可視化できます。 インベントリは読み取り専用です。 資格情報の種類に応じて、修復はエンタープライズ、組織、アプリケーション、またはユーザー レベルで行われます。
資格情報の概要について
[認証セキュリティ] ページの [資格情報] セクションには、次の資格情報の種類の概要カウントが表示されます。
- Fine-grained personal access tokens
- Personal access tokens (classic)
- OAuth app アクセス トークン
- GitHub App ユーザー アクセス トークン
- GitHub App インストール アクセス トークン
- ユーザー SSH キー
カウントにはアクティブな資格情報が含まれます。つまり、有効期限が切れていない資格情報、失効した資格情報、または削除された資格情報です。 GitHub App インストール アクセスは、有効期間の短い各インストール アクセス トークンではなく、トークンを発行できるアプリのインストールによって表されます。
カウントを使用して、各資格情報の種類の相対的なスケールを把握します。 概要には、正確な合計ではなく、資格情報の種類の数が 10,000 に達したときに 10k+ が表示されます。
資格情報レベルの調査のために、インベントリをエクスポートします。 エクスポートには、企業にアクセスできるフェデレーション資格情報も含まれます。
資格情報の概要の表示
- 企業ページに移動してください。 たとえば、GitHub.com の [Enterprise] ページから。
- ページの上部にある [ Settings] をクリックします。
- [ Settings] の下にある [Authentication security] をクリックします。
- [資格情報] で、[概要] セクションを確認します。
資格情報インベントリのエクスポート
CSV エクスポートには、完全な資格情報インベントリが含まれています。 インベントリをエクスポートする前にフィルター処理することはできません。 ファイルをダウンロードしたら、資格情報の種類、アクセス状態、所有者、組織、またはアプリケーションで列をフィルター処理できます。
- 企業ページに移動してください。 たとえば、GitHub.com の [Enterprise] ページから。
- ページの上部にある [ Settings] をクリックします。
- [ Settings] の下にある [Authentication security] をクリックします。
- [概要] の横にある [CSV のエクスポート] クリックします。
- エクスポートが完了するまで待ちます。 CSV は自動的にダウンロードされ、 GitHub は通知メール アドレスにダウンロード リンクを送信します。
CSV エクスポートの解釈
CSV には、資格情報と承認組織の組み合わせごとに 1 つの行が含まれています。 資格情報が複数の組織に対して承認されている場合、その資格情報データは複数の行で繰り返されます。 組織の承認がない資格情報は、空の organization_id フィールドと organization フィールドと共に 1 回表示されます。
次の表では、エクスポートのフィールドについて説明します。
| フィールド | Description |
|---|---|
credential_id | そのソースシステム内の資格情報の識別子。 識別子は、 credential_typeと組み合わせた場合にのみ一意であり、SSH キー、 GitHub App インストール、およびフェデレーション資格情報では空です。 |
hashed_token | 監査ログ イベントの hashed_token フィールドと照合できる Base64 でエンコードされた SHA-256 ハッシュ。 |
| fine-grained personal access tokensの場合、このフィールドは空です。 エクスポートにトークン値が含まれることはありません。 | |
fingerprint | SSH キーの SHA-256 フィンガープリント。 その他の認証情報の種類では空欄です。 |
item_type | |
credentialは、個々の資格情報を表します。 | |
token_issuer_は、個々のインストール アクセス トークンではなく、アクセス トークンを発行できるGitHub App インストールを表します。 | |
credential_type | 資格情報の種類 ( classic_pat、 fine_grained_pat、 oauth_app_user_、 github_app_user_、 ssh_key、 github_app_installation、 federated_jtiなど)。 |
display_name | 資格情報の表示名 (使用可能な場合)。 |
owner_id | 資格情報の所有者の識別子。 識別子を解釈するには、 owner_type と共に使用します。 |
owner | 認証情報の所有者のログイン名または名前。 |
owner_type | 所有者の種類: user、 oauth_application、または github_app。 |
application_id | 関連付けられているアプリケーションの識別子 (該当する場合)。 |
application | 該当する場合は、関連付けられているアプリケーションの名前。 |
credential_state | 資格情報の状態 ( active、 expired、 revoked、 deletedなど)。 |
created_at | 資格情報が作成された日付と時刻 (使用可能な場合)。 |
last_used_at | 資格情報が最後に使用された日時 (使用可能な場合)。 |
expires_at | 資格情報の有効期限が切れる日付と時刻 (使用可能な場合)。 |
expiry_status | 資格情報 expires、never が期限切れになるか、または unknown の有効期限があるかどうか。 |
enterprise_authorized | 資格情報がエンタープライズ レベルで直接承認されているかどうか。 |
authorization_ | 組織に対する認可の総数。enterprise_authorized が trueは 1 を加えた数。 |
age_days | インベントリの生成時点における資格情報の経過日数(整数日単位)。 |
past_expiration_ | 評価した時点で、資格情報が適用される有効期間の上限または推奨される経過期間の基準を超えているかどうか。 |
past_expiration_ | |
past_expiration_がenforced_limitまたはproposed_baselineに基づいているかどうか。 | |
scopes | トークンの OAuth スコープ。セミコロンで区切られます。 |
permissions | |
resource:action または fine-grained personal access token のインストールに対するアクセス許可。セミコロン区切りの GitHub App の組として書式設定されます。 | |
repository_selection | 資格情報が all、 subset、または使用可能なリポジトリの none にアクセスできるかどうか。 |
organization_id | 資格情報を承認する組織の識別子。 |
organization | 資格情報を承認する組織のログイン。 |
空のセルは、値が使用できないか、適用されないことを意味します。 タイムスタンプでは、UTC で ISO 8601 形式が使用されます。
資格情報と監査ログ アクティビティの関連付け
エクスポートを使用して、エンタープライズ監査ログの認証メタデータと資格情報を比較します。 トークンの場合は、 credential_id と token_idを比較するか、 hashed_token 値をコピーして hashed_token:"VALUE"を検索します。 SSH キーの場合は、 fingerprint 値を比較します。 元のトークン値は必要ありません。
詳細については、「アクセス トークンによって実行される監査ログ イベントの識別」を参照してください。
次のステップ
アクションを必要とする資格情報を特定したら、SSO 承認を取り消すか、マネージド ユーザーを持つ企業の場合は、ユーザー キーとトークンを削除できます。 これらのアクションにより、企業全体のユーザーと自動化が中断される可能性があります。 続行する前に、 エンタープライズでの承認の取り消しまたは資格情報の削除 を参照してください。