

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Java および SPARQL による IAM 認証を使用した Amazon Neptune データベースへの接続
<a name="iam-auth-connecting-sparql-java"></a>

このセクションでは、RDF4J または Apache Jena で署名バージョン 4 認証を使用して Neptune に接続する方法を示します。

**前提条件**
+ Java 8 以上
+ Apache Maven 3.3 以上

  Amazon Linux を実行している EC2 インスタンスに前提条件となっているこれらのソフトウェアをインストールする方法については、「[IAM 認証を使用して Amazon Neptune データベースを接続するための前提条件](iam-auth-connect-prerq.md)」を参照してください。
+ リクエストに署名するための IAM 認証情報。詳細については、*AWS SDK for Java デベロッパーガイド*の[デフォルトの認証情報プロバイダーチェーンの使用](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-default)を参照してください。
**注記**  
一時的なセキュリティ認証情報を使用している場合は、*セッショントークンを含めて*、指定した期間が過ぎると失効します。  
新しい認証情報をリクエストするときは、セッショントークンを更新する必要があります。詳細については、*IAM ユーザーガイド*の[「一時的なセキュリティ認証情報を使用して AWS リソースへのアクセスをリクエストする](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)」を参照してください。
+ `SERVICE_REGION` 変数を次のいずれかに設定し、Neptune DB インスタンスのリージョンを指定します。
  + 米国東部 (バージニア北部): `us-east-1`
  + 米国東部 (オハイオ): `us-east-2`
  + 米国西部 (北カリフォルニア): `us-west-1`
  + 米国西部 (オレゴン): `us-west-2`
  + カナダ (中部): `ca-central-1`
  + カナダ西部 (カルガリー): `ca-west-1`
  + 南米 (サンパウロ): `sa-east-1`
  + 欧州 (ストックホルム): `eu-north-1`
  + 欧州 (スペイン): `eu-south-2`
  + 欧州 (アイルランド): `eu-west-1`
  + 欧州 (ロンドン): `eu-west-2`
  + 欧州 (パリ): `eu-west-3`
  + 欧州 (フランクフルト): `eu-central-1`
  + 中東 (バーレーン): `me-south-1`
  + 中東 (アラブ首長国連邦): `me-central-1` 
  + イスラエル (テルアビブ): `il-central-1`
  + アフリカ (ケープタウン): `af-south-1`
  + アジアパシフィック (香港): `ap-east-1`
  + アジアパシフィック (東京): `ap-northeast-1`
  + アジアパシフィック (ソウル): `ap-northeast-2`
  + アジアパシフィック (大阪): `ap-northeast-3`
  + アジアパシフィック (シンガポール): `ap-southeast-1`
  + アジアパシフィック (シドニー): `ap-southeast-2`
  + アジアパシフィック (ジャカルタ): `ap-southeast-3`
  + アジアパシフィック (メルボルン): `ap-southeast-4`
  + アジアパシフィック (マレーシア): `ap-southeast-5`
  + アジアパシフィック (ムンバイ): `ap-south-1`
  + アジアパシフィック (ハイデラバード):   `ap-south-2`
  + 中国 (北京): `cn-north-1`
  + 中国 (寧夏): `cn-northwest-1`
  + AWS GovCloud (米国西部):   `us-gov-west-1`
  + AWS GovCloud (米国東部):   `us-gov-east-1`

**RDF4J または Apache Jena でバージョン 4 署名を使用して Neptune に接続するには**

1. GitHub からサンプルリポジトリを複製します。

   ```
   git clone https://github.com/aws/amazon-neptune-sparql-java-sigv4.git
   ```

1. 複製したディレクトリに変更します。

   ```
   cd amazon-neptune-sparql-java-sigv4
   ```

1. 最新のタグブランチをチェックアウトして、プロジェクトの最新バージョンを取得します。

   ```
   git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
   ```

1. 以下のいずれかのコマンドを入力して、サンプルコードをコンパイルして実行します。

   {{your-neptune-endpoint}}を Neptune DB インスタンスのホスト名または IP アドレスで置き換えます。デフォルトのポート番号は 8182 です。
**注記**  
Neptune DB インスタンスのホスト名を見つける方法については、[Amazon Neptune エンドポイントに接続する](feature-overview-endpoints.md) セクションを参照してください。

**Eclipse RDF4J**  
以下のように入力して、RDF4J の例を実行します。

   ```
   mvn compile exec:java \
       -Dexec.mainClass="com.amazonaws.neptune.client.rdf4j.NeptuneRdf4JSigV4Example" \
       -Dexec.args="https://{{your-neptune-endpoint}}:{{port}}sparql {{region-name}}"
   ```

**Apache Jena**  
Apache Jena 例を実行する次のコマンドを入力します。

   ```
   mvn compile exec:java \
       -Dexec.mainClass="com.amazonaws.neptune.client.jena.NeptuneJenaSigV4Example" \
       -Dexec.args="https://{{your-neptune-endpoint}}:{{port}}"
   ```

1. この例のソースコードを表示するには、`src/main/java/com/amazonaws/neptune/client/` ディレクトリにある例を参照してください。

独自の Java アプリケーションで SigV4 署名ドライバーを使用するには、`pom.xml` の `<dependencies>` セクションに `amazon-neptune-sigv4-signer` Maven パッケージを追加します。これらの例を出発点として使用することをお勧めします。