ポーリング・セキュリティとは
ポーリング・トリガーは、APIを定期的にポーリングして新しいデータを取得することで、外部アプリケーションまたはサービスを起動します。
RESTを介して外部アプリケーションAPIを安全に起動するには、各リクエストに認証ヘッダーが含まれている必要があります。 したがって、この目的のために認証メカニズムを実装する必要があります。このメカニズムは、コンポジット・ポリシーを構成することで実現できます。
コンポジット・セキュリティ・ポリシーは、次のキー・プロパティで構成されます:
policyOutbound: 外部アプリケーションのAPIを呼び出すための認証スキームをモデル化します。 ほとんどのアプリケーションでは、標準のOAuthポリシーを使用してAPIを保護し、アウトバウンド・コールを許可します。 サポートされているポリシーについては、「接続の起動のセキュリティ・ポリシーについて学習」を参照してください。policyInbound: Oracle Integrationが外部アプリケーションによって送信されたランタイム・メッセージを認証または検証できるようにするセキュリティ・スキームをモデル化します。 完全性のために、インバウンド・ポリシーを指定する必要があります。 ただし、このポリシーは、インバウンド・トラフィックがないため、ポーリング・トリガーの操作なし(操作なし)です。 OAuth 2.0アクセス・トークン・ポリシーを使用します。「OAuth 2.0アクセス・トークン」を参照してください。
コンポジット・セキュリティ・ポリシーのサンプル定義を次に示します。アウトバウンドの標準OAuthポリシーおよびインバウンドのアクセス・トークンOAuthポリシーがあります。
{
"type": "composite",
"description": "This policy is used by Oracle Integration to invoke a polling endpoint",
"displayName": "Polling Composite Security Policy",
"scope": "TRIGGER",
"policyOutbound": {
"type": "managed",
"policy": "OAUTH_CLIENT_CREDENTIALS",
"securityProperties": [
{
"name": "oauth.client.id",
"displayName": "Client Id",
"description": "Client Id",
"shortDescription": "Client Id",
"required": true,
"hidden": false
}, {
"name": "oauth.client.secret",
"displayName": "Client Secret",
"description": "Client Secret",
"shortDescription": "Client Secret",
"required": true,
"hidden": false
}, {
"name": "oauth.access.token.uri",
"default": "https://login.abcxyz.com/01131-a123-4321-a999-347dh4/oauth2/token",
"required": false,
"hidden": true
}, {
"name": "oauth.scope",
"default": "",
"required": false,
"hidden": true
}, {
"name": "oauth.request.content.type",
"default": "application/x-www-form-urlencoded",
"required": false,
"hidden": true
}, {
"name": "clientAuthentication",
"default": "client_credentials_as_header",
"required": false,
"hidden": true
}
]
}
}
},
"policyInbound": {
"type": "managed",
"policy": "OAUTH2.0_TOKEN_VALIDATION"
}
}