Okta を Google SecOps と統合する

このドキュメントでは、Okta を Google Security Operations と統合する方法について説明します。

ユースケース

Okta との統合では、Google SecOps の機能を使用して次のユースケースをサポートします。

  • ユーザーのライフサイクルを管理する: セキュリティ アラートに基づいてユーザーのパスワードを自動的に有効、無効、リセットし、リスクを軽減します。

  • アクティブなセッションを終了する: 不正使用されたアカウントのすべてのアクティブな Okta セッションを即座にクリアし、統合アプリケーション全体での不正アクセスを防ぎます。

  • ロールの割り当てを自動化する: 調査中に最小権限の原則を維持するために、ユーザーに管理者ロールを動的に割り当てるか、割り当てを解除します。

  • 脅威シグナルを同期する: Identity Threat Protection(ITP)シグナルを Okta に送信して、リスク コンテキストを共有し、自動化されたセキュリティ レスポンスをトリガーします。

  • ID コンテキストを強化する: 詳細なユーザー プロファイルとグループ メンバーシップを取得して、アカウント アクティビティの詳細な可視性をアナリストに提供します。

始める前に

Google SecOps で統合を構成する前に、Okta 環境で次の要件が満たされていることを確認します。

  • 認証方法: 組織が認証に API トークン(SSWS)または OAuth 2.0 を使用しているかどうかを判断します。

  • アカウント権限: ユーザー管理とセッション終了のアクションを実行するのに十分な権限がアカウントに付与されていることを確認します。

統合のパラメータ

Okta 統合には、次のパラメータが必要です。

パラメータ 説明
Api Root

必須。

API へのアクセスに使用される Okta インスタンスのベース URL。

デフォルト値は https://{okta_domain}.com/ です。

Api Token

省略可。

Okta インスタンスの認証に使用される API トークン(SSWS)。

Use Oauth Authentication が無効になっている場合、このパラメータは必須です。

Use Oauth Authentication

必須。

有効にすると、統合では API トークンの代わりに OAuth 2.0 が認証に使用されます。

OAuth を使用する場合、Client ID、Key ID、Private Key は必須で、Api Token は空白にする必要があります。

無効にする場合は、Api Token が必須です。

Client ID

省略可。

Okta OAuth アプリケーションの固有識別子。

Use Oauth Authentication が有効になっている場合、このパラメータは必須です。

API トークンを使用して認証する場合は、このフィールドを空のままにします。

Key ID

省略可。

OAuth 認証に使用される秘密鍵に関連付けられた公開鍵の ID。

Use Oauth Authentication が有効になっている場合、このパラメータは必須です。

API トークンを使用して認証する場合は、このフィールドを空のままにします。

Private Key

省略可。

OAuth 認証に使用される PEM 形式の秘密鍵。

Use Oauth Authentication が有効になっている場合、このパラメータは必須です。

API トークンを使用して認証する場合は、このフィールドを空のままにします。

Verify SSL

省略可。

選択すると、統合によって Okta サーバーへの接続時に SSL 証明書が検証されます。

デフォルトで有効になっています。

Google SecOps で統合を構成する手順については、統合を構成するをご覧ください。

必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスの構成とサポートの方法については、複数のインスタンスのサポートをご覧ください。

操作

アクションの詳細については、 デスクから保留中のアクションに対応すると手動による対策を実行するをご覧ください。

グループを追加

グループを追加します。

パラメータ

ユースケース

なし

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充

なし

分析情報

なし

ロールの割り当て

ユーザーにロールを割り当てます。

パラメータ

パラメータ名 種類 デフォルト値 説明
ユーザー ID 文字列 なし Okta のユーザーの ID。
ロールタイプ 文字列 なし ユーザーに割り当てるロールのタイプ。
Also Run On Scope チェックボックス オン 入力だけでなくエンティティに対しても実行するかどうか。

ユースケース

なし

実行

このアクションは次のエンティティに対して実行されます。

  • ユーザー
  • ホスト名

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充
拡充フィールド名 ロジック - 適用するタイミング
ロール JSON の結果に存在する場合に返す
分析情報

なし

Okta ユーザー セッションをクリアする

[Clear Okta User Session] アクションを使用すると、特定のユーザーのすべてのアクティブな Okta セッションを、すべてのデバイスと統合アプリケーションで終了できます。

このアクションは Google SecOps Username エンティティに対して実行されます。

アクション入力

[Clear Okta User Session] アクションには、次のパラメータが必要です。

パラメータ 説明
User IDs Or Logins

省略可。

Okta ユーザー ID またはログイン ID のカンマ区切りのリスト。

Also Run On Scope

省略可。

選択すると、このアクションは、User IDs Or Logins に明示的にリストされているユーザーに加えて、エンティティ スコープで識別されたすべてのユーザーのアクティブな ID プロバイダ(IdP)セッションを取り消します。

アクションの出力

[Clear Okta User Session] アクションでは、次の出力が提供されます。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
出力メッセージ

[Clear Okta User Session] アクションは、次の出力メッセージを返すことがあります。

出力メッセージ メッセージの説明

Successfully cleared sessions for the following users: ENTITY_IDS.

The sessions failed to clear for the following user in Okta: ENTITY_ID.

No users were found to clear sessions.

アクションが成功しました。
Error executing action "Clear Okta User Session". Reason: ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、[Clear Okta User Session] アクションを使用した場合のスクリプト結果出力の値を示します。

スクリプトの結果名 値
is_success true または false

ユーザーを無効にする

指定されたユーザーを無効にします。

パラメータ

パラメータ名 種類 デフォルト値 説明
ユーザー ID またはログイン 文字列 なし Okta のユーザーの ID。
Is Deactivate チェックボックス オン ユーザーを無効にするか、一時停止のみにするか。
無効化された場合にメールを送信 チェックボックス オン 無効化後にメールを送信するかどうか。
Also Run On Scope チェックボックス オン 入力だけでなくエンティティに対しても実行するかどうか。

ユースケース

なし

実行

このアクションは次のエンティティに対して実行されます。

  • ユーザー
  • ホスト名

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充
拡充フィールド名 ロジック - 適用するタイミング
is_deactivate True の場合、ユーザーは無効になっています。それ以外の場合: False
is_send_email_deactivate True の場合、ユーザーは無効になっています。それ以外の場合: False
分析情報

なし

ユーザーを有効にする

指定されたユーザーを有効にします。

パラメータ

パラメータ名 種類 デフォルト値 説明
ユーザー ID またはログイン 文字列 なし Okta のユーザーの ID またはログイン。
有効である チェックボックス オン ユーザーを有効にするか、停止を解除するだけか。
有効化された場合にメールを送信する チェックボックス オン 有効化後にメールを送信するかどうか。
Also Run On Scope チェックボックス オン 入力だけでなくエンティティに対しても実行するかどうか。

ユースケース

なし

実行

このアクションは次のエンティティに対して実行されます。

  • ユーザー
  • ホスト名

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充
拡充フィールド名 ロジック - 適用するタイミング
is_reactivate True の場合、ユーザーは有効になっています。それ以外の場合: False
is_send_email_reactivate True の場合、ユーザーは無効になっています。それ以外の場合: False
分析情報

なし

グループの取得

グループに関する情報を取得します。

パラメータ

パラメータ名 種類 デフォルト値 説明
グループ ID または名前 文字列 なし Okta のグループの ID または名前。
Is Id チェックボックス オン 値が ID か名前か。

ユースケース

なし

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充

なし

分析情報

なし

ユーザーの取得

ユーザーに関する情報を取得する

パラメータ

パラメータ名 種類 デフォルト値 説明
ユーザー ID またはログイン 文字列 なし Okta のユーザーの ID またはログイン(メールアドレスまたは短いメール名)。例: test@gmail.com または「test」。
Also Run On Scope チェックボックス オン 入力だけでなくエンティティに対しても実行するかどうか。

ユースケース

なし

実行

このアクションは次のエンティティに対して実行されます。

  • ユーザー
  • ホスト名

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
[
  {
    "status": "ACTIVE",
    "profile": {
      "mobilePhone": null,
      "firstName": "Test",
      "lastName": "User",
      "secondEmail": null,
      "login": "test.user@asd.com",
      "email": "test.user@asd.com"
    },
    "passwordChanged": "2022-07-11T06:11:25.000Z",
    "created": "2022-07-11T06:07:55.000Z",
    "activated": null,
    "lastUpdated": "2022-07-11T06:11:25.000Z",
    "_links": {
      "schema": {
        "href": "https://trial-0000.okta.com/api/v1/meta/schemas/user/osc1xxxxxxxx"
      },
      "suspend": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/lifecycle/suspend",
        "method": "POST"
      },
      "forgotPassword": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/credentials/forgot_password",
        "method": "POST"
      },
      "self": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx"
      },
      "expirePassword": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/lifecycle/expire_password",
        "method": "POST"
      },
      "resetFactors": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/lifecycle/reset_factors",
        "method": "POST"
      },
      "deactivate": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/lifecycle/deactivate",
        "method": "POST"
      },
      "changePassword": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/credentials/change_password",
        "method": "POST"
      },
      "changeRecoveryQuestion": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/credentials/change_recovery_question",
        "method": "POST"
      },
      "type": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx"
      },
      "resetPassword": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/lifecycle/reset_password",
        "method": "POST"
      }
    },
    "lastLogin": "2022-07-11T06:15:14.000Z",
    "credentials": {
      "password": {},
      "provider": {
        "type": "OKTA",
        "name": "OKTA"
      }
    },
    "type": {
      "id": "oty1xxxxxxxxxxxxx"
    },
    "id": "oty1xxxxxxxxxxxxx",
    "statusChanged": "2022-07-11T06:11:25.000Z"
  }
]
エンティティ拡充

なし

分析情報

なし

プロバイダの一覧表示

組織内の ID プロバイダ(IdP)を一覧表示します。

パラメータ

パラメータ名 種類 デフォルト値 説明
クエリ 文字列 なし name プロパティを検索して一致するものを探します。
タイプ チェックボックス オン タイプでフィルタします。
上限 文字列 20 返される結果の最大数。

ユースケース

なし

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充

なし

分析情報

なし

ロールを一覧表示する

ユーザーに割り当てられているすべてのロールを一覧表示します。

パラメータ

ユーザー ID 文字列 なし Okta のユーザーの ID。
Also Run On Scope チェックボックス オン 入力だけでなくエンティティに対しても実行するかどうか。

ユースケース

なし

実行

このアクションは次のエンティティに対して実行されます。

  • ユーザー
  • ホスト名

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充

なし

分析情報

なし

ユーザー グループの一覧を取得する

ユーザーがメンバーになっているグループを取得します。

パラメータ

パラメータ名 種類 デフォルト値 説明
ユーザー ID またはログイン 文字列 なし Okta のユーザーの ID またはログイン。
Also Run On Scope チェックボックス オン 入力だけでなくエンティティに対しても実行するかどうか。

ユースケース

なし

実行

このアクションは次のエンティティに対して実行されます。

  • ユーザー
  • ホスト名

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充
拡充フィールド名 ロジック - 適用するタイミング
プロフィール JSON の結果に存在する場合に返す
name JSON の結果に存在する場合に返す
分析情報

なし

ユーザーの一覧表示

ユーザーのリストを取得します。

パラメータ

パラメータ名 種類 デフォルト値 説明
クエリ 文字列 なし 名、姓、メールアドレスで一致するものを検索します。
フィルタ 文字列 なし プロパティのサブセットのカスタム検索クエリ。
検索 文字列 なし ほとんどのプロパティのカスタム検索クエリ。
上限 文字列 200 返される結果の最大数。

ユースケース

なし

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充
拡充フィールド名 ロジック - 適用するタイミング
プロフィール JSON の結果に存在する場合に返す
name JSON の結果に存在する場合に返す
分析情報

なし

Ping

Okta との接続をテストします。

パラメータ

なし

ユースケース

なし

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充

なし

分析情報

なし

パスワードの再設定

ユーザーのパスワードの再設定に使用できるワンタイム トークンを生成します。

パラメータ

パラメータ名 種類 デフォルト値 説明
ユーザー ID またはログイン 文字列 なし Okta のユーザーの ID またはログイン。
メールを送信する チェックボックス オフ パスワードの再設定メールを送信するか、すべてのユーザーのトークンを返すか。
Also Run On Scope チェックボックス オフ 入力だけでなくエンティティに対しても実行するかどうか。

ユースケース

なし

実行

このアクションは次のエンティティに対して実行されます。

  • ユーザー
  • ホスト名

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充
拡充フィールド名 ロジック - 適用するタイミング
send_email JSON の結果に存在する場合に返す
分析情報

なし

パスワードを設定

既存の認証情報を検証せずにユーザーのパスワードを設定します。

パラメータ

パラメータ名 種類 デフォルト値 説明
ユーザー ID またはログイン 文字列 なし Okta のユーザーの ID またはログイン。
新しいパスワード 文字列 なし 新しいパスワード。
10 個のランダムな文字を追加 チェックボックス オフ すべてのユーザーのパスワードに追加の文字を追加するかどうか。
Also Run On Scope チェックボックス オフ 入力だけでなくエンティティに対しても実行するかどうか。

ユースケース

なし

実行

このアクションは次のエンティティに対して実行されます。

  • ユーザー
  • ホスト名

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充
拡充フィールド名 ロジック - 適用するタイミング
set_password JSON の結果に存在する場合に返す
分析情報

なし

ITP シグナルを送信

Shared Signals Framework(SSF)を使用して、Identity Threat Protection(ITP)シグナルを関連するコンシューマーに配信します。

パラメータ

パラメータ名 種類 デフォルト値 説明
キー ID 文字列 なし 秘密鍵の署名の検証に使用される公開鍵の ID。
秘密鍵の文字列 パスワード なし シグナルの署名に使用される秘密鍵。

鍵は文字列形式で提供され、「BEGIN」ステートメントと「END」ステートメントが含まれます。

User Email メールアドレス なし 影響を受けているユーザーのメールアドレス。
タイムスタンプ timestamp なし シグナルが発生したタイムスタンプ。

タイムスタンプの形式は ISO 8601 です。

理由 文字列 なし シグナルが生成された理由を説明する簡単な説明。
重大度 文字列または DDL なし シグナルの重大度レベル。
発行元 URL URL なし シグナルを作成したソースシステム。

アクションの結果

JSON の結果
{
   "status":200,
   "payload":{
      "iss":"https://www.google.com/",
      "jti":"3c5fbf0c-3977-11f0-a195-7e498c84a3dd",
      "iat":1748184472,
      "aud":"https://<your-okta-domain>.oktapreview.com",
      "events":{
         "https://schemas.okta.com/secevent/okta/event-type/user-risk-change":{
            "subject":{
               "user":{
                  "format":"email",
                  "email":"user@domain.net"
               }
            },
            "current_level":"medium",
            "previous_level":"low",
            "reason_admin":{
               "en":"BadNavigationEvent"
            },
            "event_timestamp":1742199770057
         }
      }
   }
}
出力メッセージ
出力メッセージ メッセージの説明

Successfully sent the ITP signal to Okta.

Context value was not found for the provided context key CONTEXT_KEY and connector identifier CONNECTOR_IDENTIFIER.

Action can't return the Case Wall table as the context values are too big.

アクションが成功しました。
Failed to send the ITP signal to Okta. Error is {0}".format(exception.stacktrace)

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果
スクリプトの結果名 値のオプション
is_success True または False

ロールの割り当て解除

ユーザーからロールの割り当てを解除します。

パラメータ

パラメータ名 種類 デフォルト値 説明
ユーザー ID 文字列 なし Okta のユーザーの ID。
ロール ID または名前 文字列 なし Okta のロールの ID または名前。
Also Run On Scope チェックボックス オフ 入力だけでなくエンティティに対しても実行するかどうか。

ユースケース

なし

実行

このアクションは次のエンティティに対して実行されます。

  • ユーザー
  • ホスト名

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ScriptResult なし なし
JSON の結果
N/A
エンティティ拡充
拡充フィールド名 ロジック - 適用するタイミング
unassign_role JSON の結果に存在する場合に返す
分析情報

なし

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。