ガイドAPIリファレンス
ガイド

レルム間信頼共有を有効にする方法

はじめに

HERE IAMでは、複数の組織間の信頼関係の確立を可能にすることで、複雑な組織設定を実現しています。組織に複数のHEREプラットフォームのアカウントがあり、アカウント間でリソースとデータを共有する場合は、組織間の信頼を確立する必要があります。信頼が確立されたら、別の組織のリソースをリンクできます。

📘

組織/realm間の信頼はプロジェクトリソースに対してのみ作成できます。

信頼は、プロジェクト間、組織間、またはその両方の組み合わせで確立できます。

デフォルトでは、レルム間の信頼が確立されると、任意のプロジェクトのリンク可能なリソースをターゲット組織/projectと共有可能になります。特定のリソース共有は、ターゲット組織内の特定のプロジェクトに限定することもできます。

用語

  • 組織またはレルム:同じセキュリティ名前空間内のすべてのIAMエンティティ、HEREサービス、リソースを対象とするグループ化。詳細については、「概念」を参照してください。
  • プロジェクト:アクセスコントロールされたリソース (カタログ、パイプライン、スキーマ、サービスなど) の集合体です。役割に関係なく、どのIDでも新しいプロジェクトを作成できます。組織管理者とプロジェクトの管理者のどちらもプロジェクトを管理できます。詳細については、「プロジェクトを管理する」を参照してください。
  • リソース:HEREリソース (パイプラインやスキーマなど) は、一意のHERE Resource Name (HRN) によって識別されます。
  • リンク可能なリソース:別のプロジェクトにリンクできるプロジェクトベースのリソース。リソースは、特定のプロジェクトまたは自身の組織内の任意のプロジェクトに対してリンク可能に設定できます。ただし、リソースを特定のプロジェクトや組織外のプロジェクトにリンクするには、まずレルム間の信頼を確立する必要があります。
  • レルム間の信頼:ソースレルムまたはソースプロジェクトとターゲットレルムまたはターゲットプロジェクト間でリソースを共有するために、2つの組織やレルム間で確立される信頼関係。
  • ソースレルム:ターゲットレルムがレルム間の信頼共有を介して利用できるリソースを含む、ソースHEREプラットフォームアカウント。
  • ソースプロジェクト:リソース (複数の場合あり) が作成されたプロジェクト。その後、レルム間の共有の対象となります。このプロジェクトがこれらのリソースの「ホームプロジェクト」になります。リソースが属するホームプロジェクトは1つのみですが、リソースを組織内の他のプロジェクトまたは他の組織/realmsと共有することで複数のユースケースで再利用できます。リソースのストレージはホームプロジェクトに記録され、リソースを使用するためのデータI/Oはリソースを使用するプロジェクトに記録されます。
  • ターゲットレルム:レルム間の信頼の確立後、ソースレルムまたはプロジェクトで共有可能となったリソースへのリンクを許可されるHEREプラットフォームアカウント。
  • ターゲットプロジェクト:レルム間で共有できるようになったリソース (複数の場合あり) をリンク可能な、ターゲットレルム内のプロジェクト。このプロジェクトは、共有プロセス中に付与されたアクセス許可に基づいて共有リソースを使用できます。

チュートリアル - レルム間の信頼とリソース共有

レルム間の信頼は、2つのレルム間または2つのプロジェクト間で確立でき、リソースのソースからリンク可能リソースを受け取ることを可能にします。ソースHRNは、ホームプロジェクトとリソースのレルムのいずれかによって定義されます。CrossRealmTrustは、パスで指定されたターゲット (特定のプロジェクトまたはレルム全体) と確立されます。ターゲットレルムで適切な権限を持つIDのアクセストークンを使用してCrossRealmTrustを作成/更新します。

ステップ1 - ソースレルムとターゲットレルムを作成する

このガイドでは、これがすでに完了していることを前提としています。詳細については、レルムのAPIを参照してください。

ステップ2 - ソースプロジェクトとターゲットプロジェクトを作成する

このガイドでは、プラットフォームポータルのプロジェクトマネージャーまたはプロジェクトCLIを使用して、これがすでに完了していることを前提としています。

ステップ3 - ターゲットレルムでアプリケーションを作成する

ターゲットレルムでアプリを作成します。このガイドでは、プラットフォームポータルのアプリマネージャーまたはアプリCLIを使用して、これがすでに完了していることを前提としています。

ステップ4 - 組織の信頼の確立を有効にする

OrgAdminまたはCrossRealmTrustManagerの役割を持つIDだけが、ソースとターゲット間のレルム間の信頼を管理できます。したがって、org_trust_appにはこれらの役割のいずれかが必要です。

次の手順を実行します。

  1. ターゲットレルムのHEREプラットフォームにログインします。
  2. アプリマネージャーに移動し、ステップ3で作成したアプリを検索します。
  3. アプリケーションを選択し、[More] (その他) ドロップダウンをクリックして、[Enable establishing organization trust] (組織間の信頼の確立を有効にする) を選択します。
  4. 次のポップアップが表示されます。Establish organization trust rights granted.Changes may take up to 5 minutes to be applied.(組織の信頼権限の付与が完了しました。変更が適用されるまで最大5分かかる場合があります)
  5. アプリの役割情報は次のように表示されます。Can establish organization trust.(組織の信頼を確立できます)

役割の割り当ては役割APIまたは役割CLIでも実行可能です。

権限/roleの取り消しも同様の手順で実行できます。

ステップ5 - レルム間の信頼を管理する

ソースとターゲットのレルムのレルム間の信頼の管理 (作成/更新/削除/表示) は、レルム間の信頼管理APIまたはレルム間の信頼管理CLIを使用して実行できます。

次の機能がサポートされています。

  1. レルム内でCrossRealmTrustManagerまたはOrgAdminの役割を持つIDは、別のレルムとのcross-realm trustを作成または更新できます。これにより、そのレルム (「ターゲット」レルム) は、指定された信頼できる「ソース」レルムからのリンク可能なリソースを受け入れることが確立されます。
  2. レルム内で「CrossRealmTrustManager」または「OrgAdmin」の役割を持つIDは、別のレルムとの「レルム間の信頼」を取り消すことができます。これにより、指定された「ソース」レルムからのリンク可能なリソースを受け入れなくなります。このような信頼が取り消されると、新規リンクの作成はできなくなります。既存のリンクは存続しますが機能しなくなり、信頼関係が再確立されない限りまたは再確立されるまで403エラーを返します。既存のリンクを削除するには、ターゲットレルムで適切な権限を持つプロジェクトメンバーがプロジェクトからリソースのリンクを解除する必要があります。
  3. レルム内のIDでは、レルム間の信頼関係の一覧表示により、a) 自分のレルムが信頼するソースレルム、およびb) 自分のレルムを信頼するソースレルムとしているターゲットレルムを確認できます。

CLIの場合、次の手順を実行します。

資格情報の設定

  1. ターゲットレルムのHEREプラットフォームにログインします。
  2. アプリマネージャーに移動し、ステップ3で作成したアプリを検索します。
  3. [資格情報]タブで[OAuth 2.0]タブに移動し、[資格情報を作成]をクリックします。
  4. 開いたダイアログボックスで[ダウンロード]をクリックして、credentials.propertiesファイルをダウンロードします。[Close] (閉じる) をクリックすると、アクセスキーIDとアクセスキーシークレットにアクセスできなくなります。
  5. デフォルトプロフィールを作成して資格情報を関連付けるには、次のコマンドを実行します:olp credentials import default credentials.properties
  6. 資格情報が正しく設定されていることを確認するには、OLP CLI JARファイルが格納されているディレクトリで次のコマンドを実行します:olp api token get。資格情報が正しく設定されている場合、トークンが生成されます。

注:認証情報とプロファイルの使用の詳細については、「資格情報を設定する」を参照してください。

組織間の信頼を作成または更新する:

  1. ステップ5のAに記載のとおり、資格情報の設定を完了し、OAuth2.0トークンを生成します。また、ステップ4に記載のとおり、アプリに「CrossRealmTrustManager」または「OrgAdmin」役割が割り当てられていることを確認します。
  2. 組織間の信頼を作成または更新するには、CLIコマンドを使用してアプリから実行できます。これにより、リンク可能なリソースをホームプロジェクトまたはリソースのレルムから受け取ることができます。
olp org trust create <source HRN> <target HRN> [command options]
  • <source HRN>:ソースレルムまたはプロジェクトを識別するHRN。これは必須です。
  • <target HRN>:ターゲットレルムまたはプロジェクトを識別するHRN。これは必須です。
  • --target-project-required <true|false>: ソースレルムのアクターがリンク可能なリソースを提供する際、ターゲットレルムのプロジェクトを常に指定する必要があるかどうかを示します。trueの場合、ソースレルムのユーザーまたはアプリは、ターゲットレルムの任意のプロジェクトに追加できるポイントまで、リンク可能なリソースをターゲットレルムで広く提供できません。パラメーターが指定されていない場合、またはfalseに設定されている場合、ソースレルムのユーザーまたはアプリは、レルム全体をターゲットとするリンク可能なリソースを作成できます。これらのリソースは、その後ターゲットレルム内の任意のプロジェクトに追加できます。

詳細については、「組織信頼CLIを作成または更新する」を参照してください。

ステップ6 - ソースレルムでターゲットレルムと共有するリソースを作成する

データ交換を行う2つのレルム間でレルム間の信頼が確立されると、そのリソースのホームプロジェクト内のリソースに対する「管理」アクセス権を持つIDは、別のレルムの別のプロジェクトでリソースをリンク可能にできます。権限には「読み取り」や「書き込み」を含めることができます。

プロジェクトの内部または外部でリソースを作成するには、次の手順を実行します。

  1. ソースレルムのHEREプラットフォームにログインします。
  2. [プロジェクトマネージャー]に移動します。
  3. リソースを作成する必要があるソースプロジェクトを選択します。
  4. [Add catalog] (カタログを追加) ドロップダウンをクリックし、[Create a new catalog] (新しいカタログを作成) をクリックします。
  5. リソースの作成に必要な情報をフォームに入力します。[Home Project] (ホームプロジェクト) では、リソースをプロジェクト外に作成する必要がある場合は[No Project] (プロジェクトなし) を選択し、リソースをプロジェクト内に作成する必要がある場合は特定のプロジェクトを選択します。
  6. リソースが作成されると、[Resources] (リソース) セクションに表示されます。

ステップ7 - 共有:作成したリソースをリンク可能にする

リソースが作成されると、リンクに使用できるようになります。

注:この手順は、組織間でのみCLIを介して実行できます。

次の手順を実行します。

資格情報の設定

  1. ソースレルムのHEREプラットフォームにログインします。
  2. アプリマネージャーに移動し、ステップ3で作成したアプリを検索します。
  3. [資格情報]タブで[OAuth 2.0]タブに移動し、[資格情報を作成]をクリックします。
  4. 開いたダイアログボックスで[ダウンロード]をクリックして、credentials.propertiesファイルをダウンロードします。[Close] (閉じる) をクリックすると、アクセスキーIDとアクセスキーシークレットにアクセスできなくなります。
  5. デフォルトプロフィールを作成して資格情報を関連付けるには、次のコマンドを実行します:olp credentials import default credentials.properties
  6. 資格情報が正しく設定されていることを確認するには、OLP CLI JARファイルが格納されているディレクトリで次のコマンドを実行します:olp api token get。資格情報が正しく設定されている場合、トークンが生成されます。

注:認証情報とプロファイルの使用の詳細については、「資格情報を設定する」を参照してください。

リソースのリンクの利用状況を作成する

  1. ステップ7.Aに記載のとおり、資格情報の設定を完了し、OAuth2.0トークンを生成します。
  2. 以下のCLIコマンドを使用して、リソースを組織内の特定のプロジェクトまたはすべてのプロジェクトにリンク可能にできます。

olp resource link availability create <resource HRN> [command parameters] <resource HRN>:リソースのHRN。これは必須です。 --available-to <project HRN>|all-projectsリソースをリンク可能にするか、組織内のすべてのプロジェクトにリソースをリンク可能にするかのいずれかです。これは必須です。

詳細については、「リソースのリンクの利用状況を作成する」を参照してください。 次の機能がサポートされています。

  1. データを交換する2つのレルム間でレルム間の信頼が確立されていることを前提とします。
  2. そのリソースのホームプロジェクト内のリソースに対する管理アクセス権を持つIDのみが、別のレルムの別のプロジェクトでリソースをリンク可能にできます。
  3. そのリソースのホームプロジェクト内のリソースに対する管理アクセス権を持つIDは、別のレルムの別のプロジェクトでリソースをリンク可能にする際、「読み取り」や「書き込み」権限を選択できます。
  4. そのリソースのホームプロジェクト内のリソースに対する管理アクセス権を持つIDは、リソースをリンク可能にする対象を、指定された組織内のすべてのプロジェクトとするか、組織内の特定のプロジェクト (複数の場合あり) のみとするかを選択できます。
  5. ホームプロジェクト内のリソースに対する管理アクセス権を持つIDは、各組織内のどのレルムおよび関連プロジェクトがリソースへのリンクにアクセスできるか、またどのプロジェクトがリソースにリンクしているかを表示できます。
  6. あるレルムのIDは、別のレルムのプロジェクトのリストを取得できません。つまり、リソースを別のレルム内のすべてのプロジェクトまたは別のレルム内の特定のプロジェクトと共有するには、ターゲットレルムのIDからプロジェクトHRNとレルムIDを提供する必要があります。このプロセスは、HEREプラットフォームのAPIやCLIを介しては実行されません。
  7. レルム外のリソースが利用できる (共有されている) プロジェクトのメンバーは、権限があればそのリソースをプロジェクトにリンクできます。
  8. プロジェクト内のアプリ (および拡張機能によりアプリを介したパイプライン) またはIDは、リソースの読み取りや書き込みが可能です。また、権限があれば、自身のプロジェクトにリンクされている関連スキーマ (複数の場合あり) を読み取ることができます。
  9. プロジェクトメンバーが特定のリソースタイプにアクセスできないように制限できます。つまり、すべてのプロジェクトメンバーがリソースをプロジェクトにリンクできるとは限らず、このアクションを実行するには特定の権限が必要です。

ステップ8 - リンク可能なリソースを一覧表示する

ソースレルムとターゲットレルム間でレルム間の信頼が確立され、リソースがリンク可能になると、ターゲットレルム内のIDはリンク可能なリソースを一覧表示し (リンク可能にしたリソースを表示します)、ソースレルムのリソースをターゲットレルムのプロジェクトにリンクできます。

次の手順を実行します。

資格情報の設定

  1. ターゲットレルムのHEREプラットフォームにログインします。
  2. アプリマネージャーに移動し、ステップ3で作成したアプリを検索します。
  3. [資格情報]タブで[OAuth 2.0]タブに移動し、[資格情報を作成]をクリックします。
  4. 開いたダイアログボックスで[ダウンロード]をクリックして、credentials.propertiesファイルをダウンロードします。[Close] (閉じる) をクリックすると、アクセスキーIDとアクセスキーシークレットにアクセスできなくなります。
  5. デフォルトプロフィールを作成して資格情報を関連付けるには、次のコマンドを実行します:olp credentials import default credentials.properties
  6. 資格情報が正しく設定されていることを確認するには、OLP CLI JARファイルが格納されているディレクトリで次のコマンドを実行します:olp api token get。資格情報が正しく設定されている場合、トークンが生成されます。

注:認証情報とプロファイルの使用の詳細については、「資格情報を設定する」を参照してください。

プロジェクトリソースの利用状況を一覧表示する

  1. ステップ8.Aに記載のとおり、資格情報の設定を完了し、OAuth2.0トークンを生成します。
  2. 指定されたHRNによって識別されたプロジェクトへのリンクに使用できるリソースとサブリソースを一覧表示するには、CLIコマンドを実行します。

olp project resource availability list <project HRN> [command parameters] <project HRN>:プロジェクトのHRN。これは必須です。 --type <resource type>:指定された<project HRN>に対してリンクの利用状況が一覧表示されているリソースの種類。例:カタログ、パイプライン、パイプラインテンプレート、スキーマ、アーティファクト、フロー、フローパターン、サービス。

詳細については、「プロジェクトリソースの利用状況を一覧表示する」を参照してください。

ステップ9 - リンク可能なリソースをプロジェクトに追加する

最後に、上記の手順を実行した後で、リンク可能なリソースを必要なプロジェクトに追加できます。

次の手順を実行します。

資格情報の設定

  1. HEREプラットフォームにサインインします。
  2. アプリマネージャーに移動し、ステップ3で作成したアプリを検索します。
  3. [資格情報]タブで[OAuth 2.0]タブに移動し、[資格情報を作成]をクリックします。
  4. 開いたダイアログボックスで[ダウンロード]をクリックして、credentials.propertiesファイルをダウンロードします。[Close](閉じる) をクリックすると、アクセスキーIDとアクセスキーシークレットにアクセスできなくなります。
  5. デフォルトプロフィールを作成して資格情報を関連付けるには、次のコマンドを実行します:olp credentials import default credentials.properties
  6. 資格情報が正しく設定されていることを確認するには、OLP CLI JARファイルが格納されているディレクトリで次のコマンドを実行します:olp api token get。資格情報が正しく設定されている場合、トークンが生成されます。

注:認証情報とプロファイルの使用の詳細については、「資格情報を設定する」を参照してください。

プロジェクトにリソースを追加する

  1. ステップ10のAに記載のとおり、資格情報の設定を完了し、OAuth2.0トークンを生成します。
  2. CLIコマンドolp resource project add <resource HRN> <project HRN> [command parameters]を使用して、リンク可能なリソースをプロジェクトに追加します。
  • <resource HRN>:リソースのHRN。リソースはスキーマまたはカタログです。スキーマHRNにはバージョン番号が含まれる場合と含まれない場合がありますが、コマンド結果には影響しません。これは必須です。
  • <project HRN>:リソースホームとして追加するプロジェクトのHRN。これは必須です。

詳細については、「リソースプロジェクトを追加する」を参照してください。

補足事項

IDはAPIまたはCLIのドキュメントを参照して、リソースに関する追加情報を取得できます。

次の追加機能がサポートされています。

  1. リソースは、そのホームプロジェクトでのみ管理できます。
  2. プロジェクトのメンバーは、プロジェクトのコンテキスト内のリソースを一覧表示し、リソースの関係と利用状況 (「ホーム」、「リンク済み」、「リンク可能」など) を確認できます。
  3. プロジェクトのメンバーは、プロジェクトのコンテキスト内のリソースを一覧表示し、「リンクされている」リソースまたは「リンク可能な」リソースがレルムの内部または外部から共有されているかどうかを確認できます。
  4. 使用量レポート:ストレージは、引き続きリソースのホームプロジェクトに課金されます。データI/Oは、データを要求したプロジェクトに基づいて追跡/課金されます。つまり、別のレルムのプロジェクトがそのデータにアクセスした場合、そのプロジェクトが料金を支払い、関連する使用状況レポートを確認します。リソースを所有するレルムに対して、そのレルム外でのリソースの使用に関する使用状況レポートは提供されません。