Microsoft Teams

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

ユースケース

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

  • インシデントのコミュニケーションを自動化する: 不審なアクティビティが検出されたときに、特定の Teams チャンネルにリアルタイムのアラートと通知を送信します。

  • インタラクティブな応答を有効にする: プレイブックを使用して、Teams でユーザーやアナリストに直接質問し、回答に基づいてアクションを自動化します。

  • インシデントのコラボレーションを促進する: 優先度の高いインシデント専用のチャネルやグループ チャットを自動的に作成し、メンバーのアクセス権を管理します。

  • ユーザー アクティビティを確認する: ユーザーにダイレクト メッセージを送信して、ログインやファイル アクセスなどのアクションを確認し、ユーザーのフィードバックでケースの詳細を更新します。

  • ユーザー コンテキストを強化する: ユーザー プロファイルとチーム メンバーシップ情報を取得して、調査中にロールと権限を特定できるようにします。

Google Security Operations と連携するように Microsoft Teams の統合を構成する

  1. 統合構成に使用するアカウントで Microsoft Teams ライセンスが有効になっていることを確認します。これを行うには、Microsoft 管理センターに移動し、必要なユーザーに適用されているライセンスを確認します。

    Microsoft 管理センター - Microsoft Teams ユーザーに適用されたライセンス

  2. 必要なユーザーにライセンスがあることを確認したら、Microsoft Teams 用アプリの作成を開始できます。まず、[Azure Active Directory] > [アプリの登録] に移動します。

    Microsoft 管理センター - [アプリの登録] タブ

  3. [New Registration] をクリックして、次の情報を入力します。

    • Teams アプリの名前
    • リダイレクト URI: "https://localhost"

    リダイレクト URI は、後で必要になるため、必ず保存してください。

  4. [概要] ページに移動して、次のものをコピーします。

    • アプリケーション(クライアント)ID: 統合構成の「クライアント ID」パラメータに対応します。
    • ディレクトリ(テナント)ID: 統合構成の「テナント」パラメータに対応します。

    Microsoft 管理センター - Microsoft Teams の概要ページ

  5. 必要な権限を追加します。適用された権限はすべて「委任済み」で、次のようになります。

    必要なアプリの権限を追加する

    権限に対する管理者の同意を付与してください。

  6. [証明書とシークレット] タブに移動し、新しいクライアント シークレットを追加します。クライアント シークレットが生成されたら、[値] 列からデータをコピーする必要があります。この値は、統合構成の「クライアント シークレット」パラメータに必要です。

  7. Google SecOps SOAR 構成ページに移動し、次のパラメータを入力します。

    • クライアント ID
    • クライアント シークレット
    • リダイレクト URI
    • テナント

    「更新トークン」パラメータのプレースホルダ文字列を入力し、構成を保存します。

    Microsoft Teams 統合の初期設定

  8. [ケース] タブに移動し、いずれかのケースを開きます。ケースがない場合は、ケースをシミュレートできます。

    ケース シミュレーション

  9. ケースでアラートを選択し、[手動での対応] をクリックします。

    アラートの詳細ペイン - [手動アクション] ボタン

  10. Microsoft Teams 統合に移動し、[認証情報の取得] アクションを実行します。このアクションにより、アプリの認証に使用されるリンクが生成されます。

    Get Authorization アクション

  11. 結果を取得するには、[Case Wall] タブに移動して [View Results] をクリックします。

    [結果を表示] ボタン

    次のような出力が表示されます。

    結果の出力を表示する

  12. アクションによって提供されたリンクをクリックします。この統合に使用するユーザーでログインしていることを確認します。ブラウザでリンクを開くと、別のページにリダイレクトされます。このページは次のようになります。https://localhost/?code=0.ATwAylKP1BpbCEeO0…&session_state=a149d18b-4131-4649-8956-2f0d09a98743# Copy everything till "&session_state"(例: https://localhost/?code=0.ATwAylKP1BpbCEeO0…)

  13. 「トークンを生成」アクションを実行します。

    トークンを生成するアクション

  14. [Case Wall] タブに移動して結果を確認します。出力メッセージにトークンが表示されます。このトークンをコピーして、「更新トークン」パラメータに貼り付けます。

    Get Authorization アクション - Refresh Token 値

  15. すべてが正しく完了すると、緑色のチェックマークが表示されます。

    Microsoft Teams 統合の構成が完了しました

統合のパラメータ

次のパラメータを使用して統合を構成します。

パラメータ名 タイプ デフォルト 必須 説明
インスタンス名 文字列 なし いいえ 統合を構成するインスタンスの名前。
説明 文字列 なし いいえ インスタンスの説明。
クライアント ID 文字列 なし ○ なし
シークレット ID パスワード なし ○ なし
テナント 文字列 なし ○ なし
更新トークン パスワード なし ○ なし
リダイレクト URL 文字列 http://localhost × 統合の認証に使用されるリダイレクト URL を指定します。デフォルト値は http://localhost です。このパラメータは、[Get Authorization] アクションと [Generate Token] アクションに影響します。

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

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

操作

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

応答を待つ

アクションは、指定されたメッセージで想定される返信を待ちます。

このアクションは非同期で実行されます。必要に応じて、Google SecOps IDE でスクリプト タイムアウト値を調整します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
チーム名 文字列 なし ○ チームの名前を指定します。
チャンネル名 文字列 なし ○ チャンネルの名前を指定します。
メッセージ ID 文字列 なし ○ 返信が想定されるメッセージの ID を指定します。
想定される返信 文字列 なし ○

想定される返信のテキストを指定します。

この値が指定されていない場合、アクションは返信があると実行を停止します。

待機メソッド DDL

初回返信を確認する

値は次のいずれかです。

  • 初回返信を確認する
  • タイムアウトまで待機
×

アクションの待機方法を指定します。

[Check First Reply] が選択されている場合、アクションは最初のリプライを返すか、期待値と比較します。

[タイムアウトまで待機] が選択されている場合、アクションはタイムアウトに達するまで期待値を待機するか、タイムアウト期間中に送信されたすべてのメッセージを返します。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False

トークンを生成

前の手順で受け取った認可 URL を使用してアクセス トークンを取得します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
認証 URL 文字列 なし ○ 前の手順で受け取った認証 URL を使用して、アクセス トークンをリクエストします。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_connected True/False is_connected:False

承認の取得

アクションを実行し、受信した URL を参照します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
リダイレクト URL 文字列 なし ○ 前の手順で受け取った認証 URL を使用して、アクセス トークンをリクエストします。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_connected 正しい / 誤り is_connected:false

チーム ID を取得する

特定のチームのプロパティを取得します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
チーム名 文字列 なし ○ チームの名前。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False

ユーザーの詳細を取得する

特定のユーザーのプロパティと関係を取得します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
ユーザー名 文字列 なし ○ Microsoft Team のユーザー名

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
JSON の結果
{
    "isResourceAccount": null,
    "mailNickname": "username.co#EXT#",
    "surname": null,
    "deletedDateTime": null,
    "assignedLicenses": [{
        "skuId": "16ddbbfc-09ea-4de2-b1d7-312db6112d70",
        "disabledPlans": []
    }],
    "userPrincipalName": "username.co#EXT#@tenant.onmicrosoft.com",
    "faxNumber": null,
    "consentProvidedForMinor": null,
    "userType": "Member",
    "officeLocation": null,
    "usageLocation": "IL",
    "city": null,
    "employeeId": null,
    "onPremisesImmutableId": null,
    "preferredLanguage": null,
    "streetAddress": null,
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
    "id": "5e457a85-a705-4b65-8a9f-3a3d2ad7715c",
    "state": null,
    "businessPhones": [],
    "postalCode": null,
    "mail": "john_doe@example.com",
    "onPremisesSamAccountName": null,
    "onPremisesLastSyncDateTime": null,
    "accountEnabled": true,
    "mobilePhone": null,
    "refreshTokensValidFromDateTime": "2018-11-12T13:28:53Z",
    "companyName": null,
    "deviceKeys": [],
    "jobTitle": null,
    "preferredDataLocation": null,
    "showInAddressList": false,
    "department": null,
    "proxyAddresses": ["SMTP:mail"],
    "externalUserStateChangeDateTime": "2018-11-12T13:29:41Z",
    "onPremisesProvisioningErrors": [],
    "legalAgeGroupClassification": null,
    "onPremisesSyncEnabled": null,
    "onPremisesExtensionAttributes": {
        "extensionAttribute4": null,
        "extensionAttribute5": null,
        "extensionAttribute6": null,
        "extensionAttribute7": null,
        "extensionAttribute12": null,
        "extensionAttribute1": null,
        "extensionAttribute2": null,
        "extensionAttribute3": null,
        "extensionAttribute10": null,
        "extensionAttribute11": null,
        "extensionAttribute8": null,
        "extensionAttribute9": null,
        "extensionAttribute14": null,
        "extensionAttribute15": null,
        "extensionAttribute13": null
    },
    "assignedPlans": [{
        "capabilityStatus": "Enabled",
        "servicePlanId":
        "617d9209-3b90-4879-96e6-838c42b2701d",
        "service": "MicrosoftCommunicationsOnline",
        "assignedDateTime": "2018-11-12T13:28:57Z"
    }, {
        "capabilityStatus": "Enabled",
        "servicePlanId": "902b47e5-dcb2-4fdc-858b-c63a90a2bdb9",
        "service": "SharePoint",
        "assignedDateTime": "2018-11-12T13:28:57Z"
    }, {
        "capabilityStatus": "Enabled",
        "servicePlanId": "4fa4026d-ce74-4962-a151-8e96d57ea8e4",
        "service": "TeamspaceAPI",
        "assignedDateTime": "2018-11-12T13:28:57Z"
    }],
    "passwordProfile": null,
    "passwordPolicies": null,
    "externalUserState": "Accepted",
    "otherMails": ["mail"],
    "displayName": "name",
    "imAddresses": [],
    "provisionedPlans": [{
        "capabilityStatus": "Enabled",
        "provisioningStatus": "Success",
        "service": "SharePoint"
    }],
    "createdDateTime": "2018-11-12T13:28:53Z",
    "country": null,
    "onPremisesDistinguishedName": null,
    "onPremisesSecurityIdentifier": null,
    "onPremisesDomainName": null,
    "onPremisesUserPrincipalName": null,
    "givenName": null,
    "ageGroup": null
}

チャネルの一覧表示

特定のチームに存在するすべてのチャネルの詳細を取得します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
チーム名 文字列 なし ○ チームの名前。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
all_channels_details なし なし

チームの一覧表示

すべてのチームの詳細を取得します。

パラメータ

このアクションには入力パラメータはありません。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
チーム間の連携を促進する なし なし
JSON の結果
[
    {
        "mailNickname": "Test",
        "classification": null,
        "deletedDateTime": null,
        "renewedDateTime": "2018-11-12T15:03:50Z",
        "onPremisesProvisioningErrors": [],
        "membershipRuleProcessingState": null,
        "preferredLanguage": null,
        "expirationDateTime": null,
        "id": "43b559d5-f63d-47dd-9e6c-b3470b6446ee",
        "theme": null,
        "preferredDataLocation": null,
        "mail": "john_doe@example.com",
        "membershipRule": null,
        "onPremisesLastSyncDateTime": null,
        "description": "Test",
        "securityEnabled": false,
        "proxyAddresses": ["SPO:SPO_eaf75319-582a-46cf-8812-9e787d757c4e@SPO_a4a936ec-735f-488a-bfc0-7665f87aab47", "SMTP:Test@tenant.onmicrosoft.com"],
        "visibility": "Public",
        "resourceProvisioningOptions": ["Team"],
        "displayName": "Test",
        "groupTypes": ["Unified"],
        "onPremisesSyncEnabled": null,
        "createdDateTime": "2018-11-12T15:03:50Z",
        "resourceBehaviorOptions": ["HideGroupInOutlook", "SubscribeMembersToCalendarEventsDisabled", "WelcomeEmailDisabled"],
        "onPremisesSecurityIdentifier": null,
        "mailEnabled": true
    }, {
        "mailNickname": "user",
        "classification": null,
        "deletedDateTime": null,
        "renewedDateTime": "2018-11-28T13:46:50Z",
        "onPremisesProvisioningErrors": [],
        "membershipRuleProcessingState": null,
        "preferredLanguage": null,
        "expirationDateTime": null,
        "id": "67149c85-7139-4062-bfae-059d18ee7e5d",
        "theme": null,
        "preferredDataLocation": null,
        "mail": "john_doe@example.com",
        "membershipRule": null,
        "onPremisesLastSyncDateTime": null,
        "description": "user",
        "securityEnabled": false, "proxyAddresses": ["SPO:SPO_781470a6-2db5-454d-a8e3-71752b3b829e@SPO_a4a936ec-735f-488a-bfc0-7665f87aab47", "SMTP:user@tenant.onmicrosoft.com"],
        "visibility": "Public",
        "resourceProvisioningOptions": ["Team"],
        "displayName": "user",
        "groupTypes": ["Unified"],
        "onPremisesSyncEnabled": null,
        "createdDateTime": "2018-11-28T13:46:50Z",
        "resourceBehaviorOptions": ["HideGroupInOutlook", "SubscribeMembersToCalendarEventsDisabled", "WelcomeEmailDisabled"],
        "onPremisesSecurityIdentifier": null,
        "mailEnabled": true
    }

ユーザーの一覧表示

すべてのユーザーの詳細を取得します。

パラメータ

このアクションには入力パラメータはありません。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
ユーザー なし なし
JSON の結果
[{
    "mailNickname": "Test",
    "classification": null,
    "deletedDateTime": null,
    "renewedDateTime": "2018-11-12T15:03:50Z",
    "onPremisesProvisioningErrors": [],
    "membershipRuleProcessingState": null,
    "preferredLanguage": null,
    "expirationDateTime": null,
    "id": "43b559d5-f63d-47dd-9e6c-b3470b6446ee",
    "theme": null,
    "preferredDataLocation": null,
    "mail": "john_doe@example.com",
    "membershipRule": null,
    "onPremisesLastSyncDateTime": null,
    "description": "Test",
    "securityEnabled": false,
    "proxyAddresses": ["SPO:SPO_eaf75319-582a-46cf-8812-9e787d757c4e@SPO_a4a936ec-735f-488a-bfc0-7665f87aab47", "SMTP:Test@tenant.onmicrosoft.com"],
    "visibility": "Public",
    "resourceProvisioningOptions": ["Team"],
    "displayName": "Test",
    "groupTypes": ["Unified"],
    "onPremisesSyncEnabled": null,
    "createdDateTime": "2018-11-12T15:03:50Z",
    "resourceBehaviorOptions": ["HideGroupInOutlook", "SubscribeMembersToCalendarEventsDisabled", "WelcomeEmailDisabled"],
    "onPremisesSecurityIdentifier": null,
    "mailEnabled": true
}, {
    "mailNickname": "user",
    "classification": null,
    "deletedDateTime": null,
    "renewedDateTime": "2018-11-28T13:46:50Z",
    "onPremisesProvisioningErrors": [],
    "membershipRuleProcessingState": null,
    "preferredLanguage": null,
    "expirationDateTime": null,
    "id": "67149c85-7139-4062-bfae-059d18ee7e5d",
    "theme": null,
    "preferredDataLocation": null,
    "mail": "john_doe@example.com",
    "membershipRule": null,
    "onPremisesLastSyncDateTime": null,
    "description": "user",
    "securityEnabled": false,
    "proxyAddresses": ["SPO:SPO_781470a6-2db5-454d-a8e3-71752b3b829e@SPO_a4a936ec-735f-488a-bfc0-7665f87aab47", "SMTP:user@tenant.onmicrosoft.com"],
    "visibility": "Public",
    "resourceProvisioningOptions": ["Team"],
    "displayName": "user",
    "groupTypes": ["Unified"],
    "onPremisesSyncEnabled": null,
    "createdDateTime": "2018-11-28T13:46:50Z",
    "resourceBehaviorOptions": ["HideGroupInOutlook", "SubscribeMembersToCalendarEventsDisabled", "WelcomeEmailDisabled"],
    "onPremisesSecurityIdentifier": null,
    "mailEnabled": true
}]

Ping

接続をテストします。

パラメータ

このアクションには入力パラメータはありません。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_connected True/False is_connected:False

メッセージを送信

特定のチャンネルにメッセージを送信します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
チーム名 文字列 なし ○ チーム名。
チャンネル名 文字列 なし ○ チャンネル名。
メッセージ 文字列 なし ○ 。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
JSON の結果
[{
    "@odata.context":"https://graph.microsoft.com/beta/$metadata#teams('192c0699-fad2-4d02-88a2-84efd6369894')/channels('19%3Ae3acbb17a8754cae9df724f493b5342f%40thread.tacv2')/messages/$entity",
    "id":"1601372154742",
    "replyToId":null,
    "etag":"1601372154742",
    "messageType":"message",
    "createdDateTime":"2020-09-29T09:35:54.742Z",
    "lastModifiedDateTime":"2020-09-29T09:35:54.742Z",
    "lastEditedDateTime":null,
    "deletedDateTime":null,
    "subject":null,
    "summary":null,
    "chatId":null,
    "importance":"normal",
    "locale":"en-us",
    "webUrl":"https://teams.microsoft.com/l/message/19%3Ae3acbb17a8754cae9df724f493b5342f%40thread.tacv2/1601372154742?groupId=192c0699-fad2-4d02-88a2-84efd6369894&tenantId=d48f52ca-5b1a-4708-8ed0-ebb98a26a46a&createdTime=1601372154742&parentMessageId=1601372154742",
    "policyViolation":null,
    "from":{
        "application":null,
        "device":null,
        "conversation":null,
        "user":{
            "id":"b786d3cf-e97d-4511-b61c-0559e9f4da75",
            "displayName":"u05D2'u05D9u05D9u05DEu05E1 u05D1u05D5u05E0u05D3",
            "userIdentityType":"aadUser"
        }},
    "body":{
        "contentType":"text",
        "content":"Hello there"
    },
    "channelIdentity":{
        "teamId":"192c0699-fad2-4d02-88a2-84efd6369894",
        "channelId":"19:e3acbb17a8754cae9df724f493b5342f@thread.tacv2"
    },
    "attachments":[],
    "mentions":[],
    "reactions":[]
}]

ユーザー メッセージを送信する

Microsoft Teams でユーザーにチャット メッセージを送信します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
ユーザー識別子 CSV なし ×

メッセージを送信するユーザー ID のカンマ区切りのリストを指定します。

注: アクションは、このパラメータで指定された有効なエンティティと値を組み合わせて、それらすべてにメッセージを送信します。

テキスト 文字列 なし ○ メッセージの内容を指定します。
応答を待つ チェックボックス オン ○ 有効にすると、すべてエンティティからの返信が利用可能になるまでアクションが待機します。
コンテンツ タイプ DDL オン ○ メッセージのコンテンツ タイプを指定します。
ユーザー選択 DDL

テキスト

値は次のいずれかです。

  • テキスト
  • HTML

エンティティとユーザー識別子から

値は次のいずれかです。

  • エンティティとユーザー識別子から
  • エンティティから
  • ユーザー識別子から

ユーザーに使用する選択のタイプを指定します。

[From Entities & User Identifiers] が選択されている場合、アクションは関連するエンティティと [User Identifiers] パラメータで指定された値の両方を検索します。

「エンティティから」が指定されている場合、アクションは関連するエンティティでのみ機能し、「ユーザー ID」パラメータで指定された値は無視されます。

[ユーザー ID から] を選択すると、アクションは [ユーザー ID] の値でのみ機能し、[ユーザー ID] パラメータが必須になります。

実行

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

  • ユーザー名
  • メールアドレス

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
JSON の結果
{
    "id": "1632820681737",
    "replyToId": null,
    "etag": "1632820681737",
    "messageType": "message",
    "createdDateTime": "2021-09-28T09:18:01.737Z",
    "lastModifiedDateTime": "2021-09-28T09:18:01.737Z",
    "lastEditedDateTime": null,
    "deletedDateTime": null,
    "subject": null,
    "summary": null,
    "chatId": "19:5af81bea-9c9f-4f9f-8745-9df1fdba8e12_b786d3cf-e97d-4511-b61c-0559e9f4da75@unq.gbl.spaces",
    "importance": "normal",
    "locale": "en-us",
    "webUrl": null,
    "channelIdentity": null,
    "policyViolation": null,
    "from": {
        "application": null,
        "device": null,
        "user": {
            "id": "b786d3cf-e97d-4511-b61c-0559e9f4da75",
            "displayName": "ג'יימס בונד",
            "userIdentityType": "aadUser"
        }
    },
    "body": {
        "contentType": "text",
        "content": "qqq"
    },
    "attachments": [],
    "mentions": [],
    "reactions": []
}
Case Wall
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。


201 ステータス コードが報告された場合(is_success = true): 「Microsoft Teams の次のユーザーにメッセージが正常に送信されました: {entity.identifier}。」

エンティティで 1 つのチャットが見つからない場合(is_success = true): 「アクションは、Microsoft Teams の次のユーザーにメッセージを送信できませんでした: {entity.identifier}。」

エンティティのすべてのチャットが見つからない場合 (is_success = false): 「Microsoft Teams で指定されたユーザーにメッセージは送信されませんでした。」

非同期メッセージ:

「次のユーザーからの返信を待機しています: {entity.identifier}。」

アクションが失敗し、Playbook の実行を停止します

重大なエラーが報告された場合: 「アクション「ユーザー メッセージを送信」の実行エラー。理由: {0}''.format(error.Stacktrace)

タイムアウトの場合: 「アクション「ユーザー メッセージを送信」の実行エラー。理由: メッセージは送信されましたが、{entity.identifier} のユーザーからの返信を待機している間にアクションがタイムアウトしました。」IDE でタイムアウトを長くしてから、もう一度お試しください。注: このアクションを再試行すると、別のメッセージが送信されます。

全般

チャネルの作成

Microsoft Teams でチャンネルを作成します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
チーム名 文字列 なし ○ チャンネルを作成する必要があるチームの名前を指定します。
チャンネル名 文字列 なし ○ チャンネルの一意の名前を指定します。
チャネルタイプ DDL

Standard

有効な値:

  • 標準
  • 非公開
○ 作成する必要があるチャンネルのタイプを指定します。標準チャンネルにはチームのすべてのメンバーがアクセスできますが、プライベート チャンネルにはユーザーを追加する必要があります。
説明 文字列 なし × チャネルの説明を指定します。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
JSON の結果
{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('c084d2c7-a7e6-47a5-921b-0c32c3ab41d1')/channels/$entity",
    "id": "19:92ce922c1790450fae81f6713dbffbe3@thread.tacv2",
    "createdDateTime": "2021-11-18T11:37:39.8186647Z",
    "displayName": "Architecturea Discussion",
    "description": null,
    "isFavoriteByDefault": false,
    "email": "",
    "webUrl": "https://teams.microsoft.com/l/channel/19%3a92ce922c1790450fae81f6713dbffbe3%40thread.tacv2/Architecturea+Discussion?groupId=c084d2c7-a7e6-47a5-921b-0c32c3ab41d1&tenantId=d48f52ca-5b1a-4708-8ed0-ebb98a26a46a",
    "membershipType": "standard"
}
Case Wall
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。


201 ステータス コードが報告された場合(is_success = true): 「Microsoft Teams のチーム「{team name}」にチャンネル「{channel name}」が正常に作成されました。」

アクションが失敗し、Playbook の実行を停止します

重大なエラーが報告された場合: 「アクション「チャンネルの作成」の実行エラー。理由: {0}''.format(error.Stacktrace)

チームが見つからない場合: 「"チャネルの作成"という操作の実行中にエラーが発生しました。理由: 名前 {team, name} のチームが Microsoft Teams で見つかりませんでした。

400 ステータス コードが報告された場合:「アクション「チャネルの作成」の実行エラー。理由: {innerError/message}。

全般

チャンネルの削除

Microsoft Teams でチャネルを削除します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
チーム名 文字列 なし ○ チャンネルを削除するチームの名前を指定します。
チャンネル名 文字列 なし ○ 削除するチャンネルの名前を指定します。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
Case Wall
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。


204 ステータス コードが報告された場合(is_success = true): 「Microsoft Teams のチーム「{team name}」でチャンネル「{channel name}」が正常に削除されました。」

チャンネルが見つからない場合(is_success = true): 「チャンネル「{channel name}」は、Microsoft Teams のチーム「{team name}」にすでに存在しませんでした。」

アクションが失敗し、Playbook の実行を停止します

重大なエラーが報告された場合: 「アクション「チャンネルの削除」の実行エラー。理由: {0}」.format(error.Stacktrace)

チームが見つからない場合: 「"チャンネルの削除"という操作の実行中にエラーが発生しました。理由: 名前 {team, name} のチームが Microsoft Teams で見つかりませんでした。

全般

チャンネルにユーザーを追加する

Microsoft Teams のプライベート チャネルにユーザーを追加します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
チーム名 文字列 なし ○ チャンネルを検索するチームの名前を指定します。
チャンネル名 文字列 なし ○ ユーザーを追加するチャンネルの名前を指定します。

実行

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

  • ユーザー名
  • メールアドレス

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
Case Wall
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。


1 つのエンティティについて 201 ステータス コードが報告された場合(is_success = true): 「Microsoft Teams のチーム「{チーム名}」のチャンネル「{チャンネル名}」に次のユーザーが正常に追加されました: {entity.identifier}」

1 つのエンティティのユーザーが見つからない場合(is_success = true): 「アクションは、Microsoft Teams で次のユーザーを見つけることができませんでした: {entity.identifier}」

1 つのエンティティについて 400 ステータス コードが報告された場合(is_success = true): 「Microsoft Teams のチーム「{チーム名}」のチャンネル「{チャンネル名}」に次のユーザーを追加できませんでした: {entity.identifier}。ユーザーがチーム「{チーム名}」に属していることを確認します。

すべてのユーザーが見つからない場合(is_success = false):「指定されたユーザーが Microsoft Teams で見つかりませんでした。」

すべてに対して 400 ステータス コードが報告された場合(is_success = false): 「アクションは、Microsoft Teams のチーム「{チーム名}」のチャンネル「{チャンネル名}」に指定されたユーザーを追加できませんでした。ユーザーがチーム「{チーム名}」に属していることを確認します。

アクションが失敗し、Playbook の実行を停止します

重大なエラーが報告された場合: 「アクション「チャンネルにユーザーを追加」の実行エラー。理由: {0}''.format(error.Stacktrace)

チームが見つからない場合: 「"チャンネルにユーザーを追加"という操作の実行中にエラーが発生しました。理由: 名前 {team, name} のチームが Microsoft Teams で見つかりませんでした。

チャネルが見つからない場合: 「"チャネルにユーザーを追加"という操作の実行中にエラーが発生しました。理由: Microsoft Teams で名前 {channel name} のチャンネルが見つかりませんでした。

チャンネルの「membershipType」が「private」でない場合: 「アクション「チャンネルにユーザーを追加」の実行エラー。理由: チャンネル名 {channel name} のチャンネルは非公開です。

全般

チャンネルからユーザーを削除する

Microsoft Teams のプライベート チャネルからユーザーを削除します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
チーム名 文字列 なし ○ チャンネルを検索するチームの名前を指定します。
チャンネル名 文字列 なし ○ ユーザーを削除するチャンネルの名前を指定します。

実行

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

  • ユーザー名
  • メールアドレス(メールの正規表現に一致するユーザー名)

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
Case Wall
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。


1 つのエンティティについて 201 ステータス コードが報告された場合(is_success = true): 「Microsoft Teams のチーム「{チーム名}」のチャンネル「{チャンネル名}」から次のユーザーが正常に削除されました: {entity.identifier}」

ユーザーがチャンネルに参加していない場合(is_success = true): 「次のユーザーは、Microsoft Teams のチーム「{チーム名}」のチャンネル「{チャンネル名}」にすでに参加していません: {entity.identifier}」

すべてのユーザーがチャンネルに参加していない場合(is_success = true): 「指定されたユーザーは、Microsoft Teams のチーム「{チーム名}」のチャンネル「{チャンネル名}」に参加していませんでした。」

アクションが失敗し、ハンドブックの実行が停止します。

重大なエラーが報告された場合: 「アクション「チャンネルからユーザーを削除」の実行エラー。理由: {0}''.format(error.Stacktrace)

チームが見つからない場合: 「"チャンネルからユーザーを削除"という操作の実行中にエラーが発生しました。理由: 名前 {team, name} のチームが Microsoft Teams で見つかりませんでした。

チャンネルが見つからない場合: 「アクション「チャンネルからユーザーを削除」の実行エラー。理由: Microsoft Teams で名前 {channel name} のチャンネルが見つかりませんでした。

チャンネルの「membershipType」が「private」でない場合: 「アクション「チャンネルからユーザーを削除」の実行エラー。理由: チャンネル名 {channel name} のチャンネルは非公開です。

全般

チャットを作成する

Microsoft Teams でユーザー チャットを作成します。

パラメータ

このアクションには入力パラメータはありません。

実行

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

  • ユーザー名
  • メールアドレス(メールの正規表現に一致するユーザー名)

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
JSON の結果
{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#chats/$entity",
    "id": "19:b786d3cf-e97d-4511-b61c-0559e9f4da75_cb786032-1ba9-439a-b714-99286e185921@unq.gbl.spaces",
    "topic": null,
    "createdDateTime": "2021-10-13T11:24:15.696Z",
    "lastUpdatedDateTime": "2021-10-13T11:24:15.696Z",
    "chatType": "oneOnOne"
}
Case Wall
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

201 ステータス コードが報告された場合(is_success = true): 「Microsoft Teams で次のユーザーとのチャットが正常に作成されました: {entities}」

ユーザーが見つからない場合(is_success = true): 「次のユーザーが Microsoft Teams に見つかりませんでした: {entities}」

すべてのユーザーが見つからない場合(is_success = false):「指定されたユーザーが Microsoft Teams で見つかりませんでした: {entities}」

1 つのエンティティについて 400 ステータス コードが報告された場合(is_success = true): 「アクションは、Microsoft Teams で次のユーザーとのチャットを作成できませんでした: {エンティティ}」

すべてのエンティティに対して 400 ステータス コードが報告された場合(is_success = false): 「Microsoft Teams で指定されたユーザーとのチャットを作成できませんでした。」

アクションが失敗し、ハンドブックの実行が停止します。

重大なエラーが報告された場合: 「アクション「チャットを作成」の実行エラー。理由: {0}」.format(error.Stacktrace)

全般

チャットの一覧表示

Microsoft Teams で利用可能なチャットを一覧表示します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
チャットの種類 DDL

すべて

有効な値:

  • すべて
  • グループ チャット
  • 会議チャット
  • 1 対 1 のチャット
× 返すチャットの種類を指定します。
フィルタ キー DDL

1 つ選択

有効な値:

  • トピック
  • メンバーの表示名
  • メンバーのメール
× チャットのフィルタリングに使用する必要があるキーを指定します。
フィルタ ロジック DDL

指定なし

有効な値:

  • 指定なし
  • 等しい
  • Contains
× 適用するフィルタ ロジックを指定します。フィルタリング ロジックは、「フィルタ キー」パラメータで指定される値に基づいて機能します。
フィルタ値 文字列 なし いいえ フィルタで使用する値を指定します。「Equal」が選択されている場合、アクションは結果から完全一致を探します。「Contains」が選択されている場合、アクションはその部分文字列を含む結果を検索します。このパラメータに何も指定しないと、フィルタは適用されません。フィルタリング ロジックは、「フィルタ キー」パラメータで指定される値に基づいて機能します。
返されるレコードの最大数 整数 50 いいえ 返すレコードの数を指定します。何も指定しないと、アクションは 50 件のレコードを返します。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
JSON の結果
{
    "id": "19:5af81bea-9c9f-4f9f-8745-9df1fdba8e12_b786d3cf-e97d-4511-b61c-0559e9f4da75@unq.gbl.spaces",
    "topic": null,
    "createdDateTime": "2021-04-12T08:36:52.572Z",
    "lastUpdatedDateTime": "2021-09-28T09:31:58.045Z",
    "chatType": "oneOnOne",
    "members@odata.context": "https://graph.microsoft.com/v1.0/$metadata#chats('19%3A5af81bea-9c9f-4f9f-8745-9df1fdba8e12_b786d3cf-e97d-4511-b61c-0559e9f4da75%40unq.gbl.spaces')/members",
    "members": [
        {
            "@odata.type": "#microsoft.graph.aadUserConversationMember",
            "id": "MCMjZDQ4ZjUyY2EtNWIxYS00NzA4LThlZDAtZWJiOThhMjZhNDZhIyMxOTo1YWY4MWJlYS05YzlmLTRmOWYtODc0NS05ZGYxZmRiYThlMTJfYjc4NmQzY2YtZTk3ZC00NTExLWI2MWMtMDU1OWU5ZjRkYTc1QHVucS5nYmwuc3BhY2VzIyM1YWY4MWJlYS05YzlmLTRmOWYtODc0NS05ZGYxZmRiYThlMTI=",
            "roles": [
                "Owner"
            ],
            "displayName": "yuriy",
            "visibleHistoryStartDateTime": "0001-01-01T00:00:00Z",
            "userId": "5af81bea-9c9f-4f9f-8745-9df1fdba8e12",
            "email": null,
            "tenantId": "d48f52ca-5b1a-4708-8ed0-ebb98a26a46a"
        },
        {
            "@odata.type": "#microsoft.graph.aadUserConversationMember",
            "id": "MCMjZDQ4ZjUyY2EtNWIxYS00NzA4LThlZDAtZWJiOThhMjZhNDZhIyMxOTo1YWY4MWJlYS05YzlmLTRmOWYtODc0NS05ZGYxZmRiYThlMTJfYjc4NmQzY2YtZTk3ZC00NTExLWI2MWMtMDU1OWU5ZjRkYTc1QHVucS5nYmwuc3BhY2VzIyNiNzg2ZDNjZi1lOTdkLTQ1MTEtYjYxYy0wNTU5ZTlmNGRhNzU=",
            "roles": [
                "Owner"
            ],
            "displayName": "ג'יימס בונד",
            "visibleHistoryStartDateTime": "0001-01-01T00:00:00Z",
            "userId": "b786d3cf-e97d-4511-b61c-0559e9f4da75",
            "email": "james.bond@siemplifycyarx.onmicrosoft.com",
            "tenantId": "d48f52ca-5b1a-4708-8ed0-ebb98a26a46a"
        }
    ]
}
Case Wall
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

データが利用可能な場合(is_success = true): 「Microsoft Teams で指定された条件に該当するチャットが正常に見つかりました。」

データが利用できない場合 (is_success=false): 「Microsoft Teams で指定された条件に該当するチャットが見つかりませんでした。」

「フィルタ値」パラメータ フィールドが空の場合(is_success=true):

「パラメータ「フィルタ値」の値が空であるため、フィルタは適用されませんでした。」

アクションが失敗し、Playbook の実行を停止します

「フィルタ キー」パラメータが「1 つ選択」に設定され、「フィルタ ロジック」パラメータが「Equal」または「Contains」に設定されている場合:

「アクション「{アクション名}」の実行エラー。理由: 「フィルタ キー」パラメータからフィールドを選択する必要があります。」

「返される最大レコード数」パラメータに無効な値が指定されている場合:

「アクション「{アクション名}」の実行エラー。理由: 「返さえる最大レコード数」に無効な値が指定されました。正の数を指定してください。」

認証情報が誤っている、サーバーへの接続がないなど、致命的なエラーの場合:

「アクション「{アクション名}」の実行エラー。理由: {0}」.format(error.Stacktrace)

一般
Case Wall テーブル

テーブル名: Available Chats

テーブル列:

  • ID - id
  • タイプ - chatType
  • メンバー - メンバーの CSV/表示
  • Names Topic - topic
全般

チャット メッセージを送信

Microsoft Teams でチャット メッセージを送信します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
チャット ID DDL なし ○ メッセージを送信するチャットの ID を指定します。
テキスト 文字列 なし ○ メッセージの内容を指定します。
応答を待つ チェックボックス オン ○ 有効にすると、アクションは返信があるまで待機します。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
JSON の結果
{
    "id": "1632820681737",
    "replyToId": null,
    "etag": "1632820681737",
    "messageType": "message",
    "createdDateTime": "2021-09-28T09:18:01.737Z",
    "lastModifiedDateTime": "2021-09-28T09:18:01.737Z",
    "lastEditedDateTime": null,
    "deletedDateTime": null,
    "subject": null,
    "summary": null,
    "chatId": "19:5af81bea-9c9f-4f9f-8745-9df1fdba8e12_b786d3cf-e97d-4511-b61c-0559e9f4da75@unq.gbl.spaces",
    "importance": "normal",
    "locale": "en-us",
    "webUrl": null,
    "channelIdentity": null,
    "policyViolation": null,
    "from": {
        "application": null,
        "device": null,
        "user": {
            "id": "b786d3cf-e97d-4511-b61c-0559e9f4da75",
            "displayName": "ג'יימס בונד",
            "userIdentityType": "aadUser"
        }
    },
    "body": {
        "contentType": "text",
        "content": "qqq"
    },
    "attachments": [],
    "mentions": [],
    "reactions": []
}
Case Wall
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

201 ステータス コードが報告された場合(is_success = true): 「Microsoft Teams の ID {Chat ID} のチャットでメッセージが正常に送信されました。」

返信が利用可能な場合(is_success = true): 「メッセージが正常に送信され、ID {チャット ID} の Microsoft Teams のチャットで返信を受信しました。」

非同期メッセージ: 応答を待っています...

アクションが失敗し、Playbook の実行を停止します

重大なエラーが報告された場合: 「アクション「チャット メッセージを送信」の実行エラー。理由: {0}''.format(error.Stacktrace)

404 ステータス コードが報告された場合:「アクション「チャット メッセージを送信」の実行エラー。理由: ID のチャットが Microsoft Teams に見つかりませんでした。

タイムアウトの場合: 「アクション「チャット メッセージを送信」の実行エラー。」理由: メッセージは送信されましたが、返信を待っている間にアクションがタイムアウトしました。IDE でタイムアウトを長くしてから、もう一度お試しください。注: 再試行すると、別のメッセージが送信されます。

全般

メッセージの返信を送信する

Microsoft Teams でチャンネル メッセージに返信します。

パラメータ

パラメータ タイプ デフォルト値 必須 説明
チーム名 文字列 なし ○ 返信を送信するチームを指定します。
チャンネル名 文字列 なし ○ 返信を送信するチャンネルを指定します。
メッセージ ID 文字列 なし ○ 返信を送信するメッセージの ID を指定します。
コンテンツ タイプ DDL テキスト ×

メッセージのコンテンツ タイプを指定します。

値は次のいずれかです。

  • テキスト
  • HTML

テキスト 文字列 なし ○ メッセージの内容を指定します。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
JSON の結果
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('192c0699-fad2-4d02-88a2-84efd6369894')/channels('19%3A4649fcf41fa5417f9aa78a5840bea442%40thread.tacv2')/messages('1686652339690')/replies/$entity",
"id": "1686653341151",
"replyToId": "1686652339690",
"etag": "1686653341151",
"messageType": "message",
"createdDateTime": "2023-06-13T10:49:01.151Z",
"lastModifiedDateTime": "2023-06-13T10:49:01.151Z",
"lastEditedDateTime": null,
"deletedDateTime": null,
"subject": null,
"summary": null,
"chatId": null,
"importance": "normal",
"locale": "en-us",
"webUrl": "https://teams.microsoft.com/l/message/19%3A4649fcf41fa5417f9aa78a5840bea442%40thread.tacv2/1686653341151?groupId=192c0699-fad2-4d02-88a2-84efd6369894&tenantId=d48f52ca-5b1a-4708-8ed0-ebb98a26a46a&createdTime=1686653341151&parentMessageId=1686652339690",
"policyViolation": null,
"eventDetail": null,
"from": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "b786d3cf-e97d-4511-b61c-0559e9f4da75",
"displayName": "ג'יימס בונד",
"userIdentityType": "aadUser"
}
},
"body": {
"contentType": "text",
"content": "Reply"
},
"channelIdentity": {
"teamId": "192c0699-fad2-4d02-88a2-84efd6369894",
"channelId": "19:4649fcf41fa5417f9aa78a5840bea442@thread.tacv2"
},
"attachments": [],
"mentions": [],
"reactions": []
}
Case Wall
結果のタイプ 値 / 説明 種類
出力メッセージ * アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。

1 つのエンティティのステータス コードが 201(成功 = true)の場合:
「Microsoft Teams のメッセージに正常に返信しました。」と出力されます。

アクションが失敗し、ハンドブックの実行が停止します:
重大なエラーの場合:
「アクション「メッセージ返信を送信」の実行エラー」と出力します。理由: {0}」.format(error.Stacktrace)
チームが見つからない場合:
「アクション「メッセージ返信を送信」の実行中にエラーが発生しました。理由: 名前 {チーム名} のチームが Microsoft Teams で見つかりませんでした。スペルを確認してください。
チャンネルが見つからない場合:
「アクション「メッセージ返信を送信」の実行エラー」と出力します。理由: Microsoft Teams で名前 {channel name} のチャンネルが見つかりませんでした。スペルを確認してください。
レスポンスに「error」がある場合:
「アクション「メッセージ返信を送信」の実行エラー」と出力します。理由: {error.message}。
全般

ジョブ

Google Security Operations でジョブを構成するには、[レスポンス] > [ジョブ スケジューラ] に移動します。

更新トークンの更新ジョブ

更新トークン更新ジョブの目的は、統合で使用される更新トークンを定期的に更新することです。

デフォルトでは、更新トークンは 90 日ごとに期限切れになるため、期限切れになると統合を使用できなくなります。更新トークンが最新の状態であることを確認するため、このジョブは 7 日または 14 日ごとに実行することをおすすめします。

ジョブ入力

ジョブを構成するには、次のパラメータを使用します。

パラメータ
ログイン API ルート 必須

Microsoft ID プラットフォームでの認証に使用される API ルート。

デフォルト値は https://login.microsoftonline.com です。

API ルート 必須

Microsoft Graph インスタンスの API ルート。

デフォルト値は https://graph.microsoft.com です。

統合環境 省略可

ジョブが更新トークンを更新する統合環境。

このパラメータは、カンマ区切りの文字列として複数の値を受け入れます。個々の値は引用符(" ")で囲みます。

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