SSIS Components for Amazon Redshift

Build 22.0.8509

接続の確立

Amazon Redshift 接続マネージャーで接続

新しいAmazon Redshift 接続は、SSIS パッケージに簡単に追加できます。[接続マネージャー]ウィンドウ内を右クリックし、メニューから[新しい接続]を選択します。次に、[SSIS 接続マネージャーの追加]ウィンドウから[Amazon Redshift 接続マネージャー]を選択します。

または、Amazon Redshift 変換元またはAmazon Redshift 変換先を使用して、新しい接続を直接作成できます。[Amazon Redshift 接続マネージャー]ウィンドウでは、プロパティを設定できます。

Amazon Redshift への接続

Amazon Redshift に接続するには、通常、次の接続プロパティが必要です。

  • Server:Amazon Redshift データベースをホスティングしているサーバーのホスト名またはIP アドレス。
  • Database:Amazon Redshift クラスター用に作成したデータベース。

また、オプションで以下を設定することもできます。

  • Port:Amazon Redshift データベースをホスティングしているサーバーのポート。デフォルトは5439です。

これらの値はAWS マネージメントコンソールで取得できます。

  1. Amazon Redshift コンソールを開きます(http://console.aws.amazon.com/redshift)。
  2. Clusters ページで、クラスターの名前をクリックします。
  3. Configuration タブでCluster Database Properties セクションからプロパティを取得します。接続プロパティの値は、ODBC URL で設定された値と同じになります。

本製品 は、SSL 暗号化を使用してAmazon Redshift サーバーとのセキュアな通信を提供します。オプションで、UseSSL をfalse に設定して、SSL 暗号化をオフにすることができます。

SSL 認証を活用してAmazon Redshift データに接続することもできます。そのためには、次の接続プロパティを設定してください。

  • SSLClientCert:クライアント証明書のための証明書ストア名に設定。クライアントとサーバーの両方のマシンでトラストストアとキーストアが保持される2-way SSL の場合に使用されます。
  • SSLClientCertPassword:クライアント証明書ストアがパスワードで保護されている場合、この値をストアのパスワードに設定します。
  • SSLClientCertSubject:TLS / SSL クライアント証明書のサブジェクト。ストア内の証明書を検索するために使用されます。
  • SSLClientCertType:クライアントストアの証明書タイプ。
  • SSLServerCert:サーバーが受け入れ可能な証明書。

次の例では、通常のユーザー名とパスワード、および非アクティブなSSL 暗号化を使用してAmazon Redshift に接続します。

User=username;Password=password;Server=example.us-west-2.redshift.amazonaws.com;Database=your_database;UseSSL=false;"

Amazon Redshift への認証

Azure Active Directory

Note: B2C 以外のAzure テナントのみがAzure AD 認証スキームを完了できます。

Note: 有効なAzure AD アカウントが必要です。有効なアカウントがない場合は、このプロセスを始める前にアカウントを作成してください。

  1. はじめに、Azure 経由でAmazon Redshift データベースにログインするためのOAuth アプリを作成します。Azure Active Directory 概要 ページにある左のナビゲーションバーで:
    1. アプリの登録をクリックします。
    2. アプリの登録ページ上部の新規登録をクリックします。
  2. アプリケーションの登録ページで、必要事項を入力し、ページ下部の登録をクリックします。CallbackURL を控えておきます。
  3. 新規に登録したアプリケーションで、左のナビゲーションバーにあるAPI の公開をクリックします。
  4. アプリケーションID URI の横の設定をクリックします。
  5. 登録時に入力した情報を含むSet the App ID URI ダイアログが表示されます。保存をクリックします。
  6. Add a scope をクリックします。
  7. 必要事項を入力し、フォーム下部のスコープの追加をクリックします。
  8. 次に、もう1つOAuth アプリを作成します。このアプリは、Amazon Redshift データベースのクライアントアプリケーションとして機能します。左のナビゲーションバーでアプリの登録をクリックします。
    1. Azure Active Directory 管理ページから、アプリの登録ページ上部の新規登録をクリックします。
    2. アプリケーションの登録ページで、必要事項を入力し、ページ下部の登録をクリックします。
  9. アプリを作成すると、アプリの概要ページが表示されます。左のナビゲーションバーで:
    1. 証明書とシークレットをクリックします。
    2. 新しいクライアントシークレットをクリックします。
    3. クライアントシークレットの追加ウィンドウで、必要事項を追加してウィンドウ下部の追加をクリックします。
    4. OAuthClientSecret を控えておきます(表示されるOAuth シークレットのフィールド)。
  10. クライアントアプリの管理ページの左のナビゲーションバーで:
    1. API のアクセス許可をクリックします。
    2. アクセス許可の追加をクリックします。
    3. Microsoft Graph API を選択します。
    4. アプリケーションの許可をクリックします。
    5. クライアントアプリのアクセス許可をDirectory.Read.All に設定します。
    6. 下部のアクセス許可の追加をクリックします。
    7. 管理者の同意を与えますをクリックします。
    8. はいをクリックします。
  11. Azure Active Directory の左のナビゲーションバーで:
    1. グループをクリックします。
    2. グループページで、新しいグループをクリックして必要事項を入力します。
    3. 所有者が選択されていませんをクリックします。
    4. 所有者を追加ウィンドウが表示されます。ユーザーを選択します。
    5. 作成をクリックします。
  12. Azure Active Directory の左のナビゲーションバーで:
    1. アプリの登録をクリックします。
    2. すべてのアプリケーションタブをクリックし、最初のOAuth アプリケーションを選択します。
  13. OAuth 画面で、左のナビゲーションバーにあるマニフェストをクリックします。エディターでaccessTokenAcceptedVersion を探します。値がNULL の場合、v1.0 トークンです。値が2の場合はv2.0 トークンです。
  14. Amazon Redshift インスタンスのクエリボックスから、以下の例に従ってId プロバイダのクエリを送信します。
        CREATE IDENTITY PROVIDER oauth_standard TYPE azure
        NAMESPACE 'mynamespace'
        PARAMETERS '{
        "issuer":"https://sts.windows.net/your_tenant_here/",
        "client_id":"YourClientId",
        "client_secret":"YourClientSecret",
        "audience":["your_application_id_uri_here"]
        }' 

    用語説明
    • issuer ID: トークンを受け取る際に信頼する発行者ID。発行者には、tenant_id の一意な識別子が付加されます。v1.0 トークンを使用する場合、https://sts.windows.net/<your_tenant_id_here>/ を使用します。V2.0 トークンを使用する場合、https://login.microsoftonline.com/<your_tenant_id_here>/v2.0/ を使用します。
    • client_id: Id プロバイダーに登録されたアプリケーションの一意の公開識別子。これをアプリケーションID と呼びます。
    • client_secret: ID プロバイダーおよび登録されたアプリケーションにのみ知られている秘密の識別子、またはパスワード。
    • audience: OAuth アプリに割り当てられたアプリケーションID(URI)。

    NAMESPACE には好きな名前を使用できます。
  15. Amazon Redshift で、CREATE IDENTITY PROVIDER クエリ(例として上記)をクエリテキストボックスに配置します。
  16. クエリボックスの下部にあるRun をクリックします。
  17. クエリテキストボックスで、以下の形式でRedshift データベース上にロールを作成します。
    create role "mynamespace:myazuregroup";
    CREATE IDENTITY PROVIDER クエリで提供されたID プロバイダーの名前空間と、先に作成したAzure グループの名前に置き換えてください。クエリボックスの下にあるRun をクリックします。
  18. クエリテキストボックスで、この新しいロールに以下のようにテーブルアクセス権を付与します。
    grant select on all tables in schema public to role "mynamespace:myazuregroup";
    上記の例を、自分の名前空間とAzure グループ名に置き換えてください。
  19. クエリボックスの下部にあるRun をクリックします。
    • AuthSchemeAzureAD に設定。
    • Server:Amazon Redshift サーバーエンドポイントの名前に設定。
    • Database:接続するAmazon Redshift データベースの名前に設定。
    • User:認証するAmazon Redshift ユーザーの名前に設定します。
    • AzureTenant:OAuth およびクライアントアプリが作成されたAzure テナントのID に設定。アプリの1つの「概要」ページにあるディレクトリ(テナント)ID を確認してください。
    • SSOLoginURL:OAuth アプリの「概要」ページで確認できるアプリケーションID のURI の値に設定。
    • Scope:v1.0 OAuth トークンの場合、OAuth アプリのAPI の公開ページにあるスコープフィールド名に設定。v2.0 OAuth トークンの場合は、OAuth アプリのクライアントID と同じです。
    • OAuthClientId:作成したAmazon Redshift クライアントアプリの「概要」ページにある、アプリケーション(クライアント)ID に設定。
    • OAuthClientSecret:クライアントアプリの証明書とシークレットページで作成時に指定されたOAuth クライアントシークレットのに設定。
    • CallbackURL:OAuth アプリのコールバックURL に設定。

    トラブルシューティング: "Azure JWT token does not have 'upn' field" エラーが発生した場合
    1. Azure Active Directory の管理ページで、「アプリの登録」に移動し、自身のOAuth アプリを選択します。
    2. 左のナビゲーションバーでトークン構成をクリックします。
    3. Add optional claim をクリックします。
    4. Add optional claim 画面で、Token type の下のAccess をクリックします。
    5. Claim カラムの下のupn を選択します。
    6. 下部の追加をクリックします。
    7. Turn on the Microsoft Graph profile permission (required for claims to appear in token) を選択します。
    8. 追加をクリックします。
    9. このプロセスをクライアントアプリでも繰り返します。
    10. 再度接続を試みてください。

標準認証

Amazon Redshift にログイン資格情報で接続するには、AuthSchemeBasic に設定します。 加えて、以下の接続プロパティを設定します。

  • User:Amazon Redshift サーバーに認証する際に使われるユーザー。
  • Password:Amazon Redshift サーバーに認証する際に使われるパスワード。
次は接続文字列の例です。
AuthScheme=Basic;User=user;Password=password;Server=example.us-west-2.redshift.amazonaws.com;Database=your_database;

IAM credentials

AuthSchemeIAMCredentials に設定します。次は接続文字列の例です。

AuthScheme=IAMCredentials;Server=example.us-west-2.redshift.amazonaws.com;Database=your_database;User=your_user;AWSAccessKey=your_access_key;AWSSecretKey=your_secretkey;

一時的な資格情報を使用してIAM ロールで接続している場合は、AWSSessionToken も適用する必要があります。

オプションで以下を適用できます。

  • AutoCreate:接続中にデータベースユーザーが存在しない場合は、User に指定した名前でデータベースユーザーを作成します。
  • DbGroups:データベースユーザーが現在のセッションに参加するデータベースグループ。

ADFS

AuthSchemeADFS に設定します。次の接続プロパティを設定する必要があります。

  • User:ADFS ユーザーに設定。
  • Password:ユーザーのADFS パスワードに設定。
  • SSOLoginURL:SSO プロバイダーが使用するログインURL に設定。
以下は接続文字列の例です。
AuthScheme=ADFS;User=username;Password=password;SSOLoginURL='https://sts.company.com';

ADFS 統合

ADFS 統合フローは、現在ログインしているWindows ユーザーの認証情報で接続していることを示します。 ADFS 統合フローを使うには、User およびPasswordを指定せず、それ以外は上記ADFS ガイドの手順と同じです。

PingFederate

AuthSchemePingFederate に設定します。次の接続プロパティを設定する必要があります。

  • User:PingFederate ユーザーに設定。
  • Password:ユーザーのPingFederate パスワードに設定。
  • SSOLoginURL:SSO プロバイダーが使用するログインURL に設定。
  • AWSRoleARN (オプション):複数のロールARN がある場合、認可に使用したいものをオプションで指定できます。
  • AWSPrincipalARN (オプション):複数のプリンシパルARN がある場合、認可に使用したいものをオプションで指定できます。
  • SSOProperties (オプション):Amazon S3 へのリクエストにユーザー名とパスワードを認可ヘッダーとして含めたい場合は、オプションで"AuthScheme=Basic" に設定できます。

追加で次のSSOProperties を使って、SSOLoginURL 用の相互SSL 認証(WS-Trust STS エンドポイント)の設定が可能です。

  • SSLClientCert
  • SSLClientCertType
  • SSLClientCertSubject
  • SSLClientCertPassword
以下は接続文字列の例です。
Server=redshift-cluster-1.xxxxxxxxxxxx.us-east-1.redshift.amazonaws.com;Database=dev;Port=5439;UseSSL=true;SSLServerCert=*;AuthScheme=PingFederate;AutoCreate=TRUE;SSOLoginURL=https://mycustomserver.com:9033/idp/sts.wst;SSOExchangeUrl=https://us-east-1.signin.aws.amazon.com/platform/saml/acs/764ef411-xxxxxx;User=admin;Password=PassValue;AWSRegion=NORTHERNVIRGINIA;

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8509