Anypoint DataGraph でのセキュリティの設定

Anypoint DataGraph が統合スキーマに追加する API の GET エンドポイントにアクセスできるように、認証をセットアップする必要があります。認証により、クエリを実行するときに DataGraph はこれらの API に要求を送信できます。

必要に応じて、API と DataGraph 間の相互認証 (mTLS) もセットアップできます。

サポートされる認証方法

統合スキーマに新しい API スキーマを追加する場合、または API スキーマを別の環境に昇格する場合、次の認証方法のいずれかを設定する必要があります。

  • No Auth (認証なし)

    API が公開の場合に使用します。

  • Basic Auth (基本認証)

    基本認証ヘッダー、またはユーザー名とパスワードを使用して、API に対する認証を行う場合に使用します。

    次に例を示します。

    curl "http://localhost/myResource" -u myUser:myPassword

    または

    curl GET 'http://localhost/myResource' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "username": "myUser",
      "password": "myPassword"
    }'
  • Pass-through authentication (パススルー認証)

    認証ヘッダーを渡して API に対する認証を行う場合に使用します。

    次の情報を指定する必要があります。

    • Query Header Name (クエリヘッダー名)​: 最初のクエリで統合スキーマに送信される HTTP ヘッダーの名前。

    • API Header Name (API ヘッダー名)​: 基盤となる API に渡されるヘッダー名。これは、基盤となる API に渡す前にクエリヘッダーの名前を変更する場合に役立ちます。

  • Client ID enforcement via headers (ヘッダー経由のクライアント ID 適用)

    client_id​ および ​client_secret​ ヘッダーを渡して API に対する認証を行う場合に使用します。

    次に例を示します。

    curl "http://localhost/myResource" -H "client_id:1234" -H "client_secret:abcd"
  • Client ID enforcement via query parameters (クエリパラメーター経由のクライアント ID 適用)

    client_id​ および ​client_secret​ クエリパラメーターを渡して API に対する認証を行う場合に使用します。

    次に例を示します。

    curl "http://localhost/myResource?client_id=1234&client_secret=abcd"
  • OAuth 2.0 Client Credentials (OAuth 2.0 クライアントログイン情報)

    OAuth 2.0 の ​client_id​、​client_secret​、認証サーバーの値を渡して API に対する認証を行う場合に使用します。

    次に例を示します。

    curl --request POST \
      --url 'https://YOUR_DOMAIN​/oauth/token' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --data 'grant_type=authorization_code&client_id=​YOUR_CLIENT_ID​&code_verifier=​CODE_VERIFIER​&code=​AUTHORIZATION_CODE​&redirect_uri=https://YOUR_APP​/callback'
  • Custom (カスタム)

    カスタムヘッダーパラメーターと値を使用して API に対する認証を行う場合に使用します。

追加した API にアクセスするためのそれ以外の認証方法 (有効期間の短いトークン方式など) はサポートされていません。

DataGraph での相互認証の設定

相互認証 (mTLS) により、Datagraph および統合スキーマ内の基盤となる API で安全かつ検証済みの接続が作成されます。

API に mTLS が必要な場合は、API を統合スキーマに追加するとき、または API を別の環境に昇格するときに mTLS を設定します。これを行うには、次の情報を指定します。

  • 含まれるキーストア:

    • 組織のルート認証機関 (CA) によって署名された公開証明書

    • 証明書署名要求 (CSR) の生成に使用される非公開キー

    • 非公開キーのパスワード

必要に応じて、統合スキーマが API に到達できるようにするために、トラストストアを追加し、ルート CA を含む証明書バンドルを提供できます。

Anypoint Platform は、​シークレットマネージャー​の PEM ファイルにキーストアとトラストストアを保存します。

自己署名証明書を使用して API に対して mTLS を有効にすると、DataGraph はその API との TLS 接続を確立できなくなります。

統合スキーマに追加した API の mTLS を編集する

統合スキーマに追加した API の mTLS を設定する必要がある場合、​[API details (API の詳細)]​ ページでキーストアを追加して設定できます。

トラストストアを追加して統合スキーマから API へのアクセスを許可することもできます。

API にすでにキーストアまたはトラストストアがある場合、​[API details (API の詳細)]​ ページで削除してから新規追加できます。そのためには、​[Remove and add a new one (削除して新規追加)]​ をクリックします。
  1. [List of APIs added (追加された API のリスト)]​ をクリックし、URL を編集する API を選択します。

  2. [API details (API の詳細)]​ をクリックします。

  3. [Configure Keystore (キーストアを設定)]​ を選択して次の情報を指定します。

    • 組織の「ルート」認証機関 (CA) によって署名された公開証明書

    • 証明書署名要求 (CSR) の生成に使用される非公開キー

    • 非公開キーのパスワード

  4. 必要に応じて、​[Configure Truststore (トラストストアを設定)]​ を選択し、ルート CA が含まれる証明書バンドルへのリンクを指定します。

  5. [Save (保存)]​ をクリックします。