Informatica Cloud Data IntegrationのConnectionでIAM Roleを使えるケース・使えないケースを整理してみました。

2020.11.02

はじめに

好物はインフラとフロントエンドのかじわらゆたかです。 Informatica Cloud Data IntegrationのConnectionでS3やRedshiftをConnectionという単位で用いることが可能ですが、設定する際にIAM Roleを使えたり、使えなかったりする点を整理してみました。

Connection(接続)とは

Informatica Cloud Data IntegrationのConnection では様々なリソースへの接続をConnection(接続)という単位で管理します。 AWSのリソースに接続したいと言った場合S3のバケットやRedshiftのデータベースごとにConnectionを作成していくことになります。

Amazon S3 V2 Connector

S3へのConnectionを作成する際に用いるConnectorが Amazon S3 V2 Connector となります。

こちらはIAM Roleを使えます。 IAM Roleを使う場合はSecure Agentを導入しているEC2のRoleでアクセスすることになるので、EC2側にRoleの設定をしておく必要があります。

また、その際にはAccess Key Secret Key の欄は空欄で問題有りません。

Folder Pathにはバケット名から記載していく形になります。 そのため、作成するIAM RoleにはFolder Pathに書いたバケットにアクセスできる権限を付与しておく必要があります。

Amazon Redshift V2

こちらのConnectorの設定項目は以下となります。

ここで、設定項目の Access Key ID Secret Access Key の項目は必須項目となります。 またこの箇所はIAM Roleを用いるといったことができないので注意が必要です。

Amazon Redshift V2ではなぜIAM Roleを指定することができないのか?

こちらのConnectorの挙動なのですが、一度S3バケットにファイルを書き出して、その後Redshiftに取り込むと言った挙動をします。 S3バケットにファイルを一度書き出し、その後書き出したファイルをRedshiftに取り込むと言った挙動となっています。

そのため、IAM Roleではなく、Access Key ID Secret Access Key を用いた捜査を行っているものと思われます。

また、この際に書き出すバケットはマッピングを作成する際に指定することになります。

ですので、Amazon Redshift V2に登録するAccess Key ID Secret Access Key のPolicyは マッピングで指定したバケットを対象として記載する必要があります。

結論

Informatica Cloud Data Integration のConnectionの設定でIAM UserやIAM Roleを使うときの注意点をまとめてみました。

  • S3 Amazon S3 V2 Connector : IAM Role の利用が可能。
  • Redshift Amazon Redshift V2 : IAM User(Access Key ID / Secret Access Key)の利用が必須