プロジェクトポリシー
OLP CLI は、次のものをサポートしています。
- プロジェクトポリシーを一覧表示します
- プロジェクトポリシーを作成します
- プロジェクトポリシーを更新します
- プロジェクトポリシーを表示します
- プロジェクトポリシーを削除します
プロジェクトポリシーリスト
プロジェクト内のすべてのポリシーを取得します。
olp project policy list <project HRN> [command options]
必須パラメータ :
-
<project HRN>
プロジェクトの HERE リソースネーム を指定します。
オプションのパラメータ :
-
--type <custom|here-platform>
指定したに一覧表示するプロジェクトポリシーのタイプを指定 <project HRN>
します。 custom
プロジェクト管理者が作成し、プロジェクト内の ID に適用できるプロジェクトを示します。 here-platform
プロジェクト内の ID に適用できる HERE 管理ポリシーを示します。 -
--limit <max number of project policies>
結果に返されるプロジェクトポリシーの最大数を指定します ( 既定では 100) 。 -
--credentials <path to credentials file>
コマンドで使用する資格情報ファイルの名前を指定します。 資格情報ファイルは、プラットフォームポータルとは別にダウンロードされます。 -
--profile <profile name>
olpcli.ini
ファイルから使用する資格情報プロファイルの名前を指定します。 --json
コマンドの結果を JSON 形式で表示します。 -
--quiet
プロジェクトの HRNS を新しい行に表示します。
資格情報 およびプロファイルの使用方法の詳細について は、「資格情報 の設定」を参照してください。
例 :
olp project policy list hrn:here:authorization::org:project/myproject --json
出力 :
{"policies": [
{
"id": "all-access-for-abc-catalog",
"hrn": "hrn:here:authorization::org:project/my-project:policy/all-access-for-abc-catalog",
"name": "allAccessForAbcCatalog",
"description": "Read and write access to abc catalog.",
"type": "custom",
"permissions": [
{
"resource": "hrn:here:data::org:abc-catalog",
"resourceType": "catalog",
"allowedActions": [
"readResource", "writeResource"
]
}
]
},
{
"id": "read-only-access-to-all-catalogs",
"hrn": "hrn:here:authorization::org:platform:policy/read-only-access-to-all-catalogs",
"name": "readOnlyAccessToAllCatalogs",
"description": "Read access to all catalogs in project.",
"type": "here-platform",
"permissions": [
{
"resourceType": "catalog",
"allowedActions": [
"readResource"
]
}
]
}
]
}
プロジェクトポリシーが作成されました
プロジェクトポリシーを作成します。
olp project policy create <project HRN> --config <path to config file> [command options]
必須パラメータ :
-
<project HRN>
プロジェクトの HERE リソースネーム を指定します。 -
--config <path to config file>
プロジェクトポリシーを作成する構成ファイルへのパスを指定します。
設定ファイル
プロジェクトポリシーを作成または更新するための必須フィールドを含む JSON ファイルを表します。
フィールド :
id (string)
プロジェクトポリシーの識別子。 name (string)
プロジェクトポリシーの名前。 description (string)
プロジェクトポリシーの説明。 permissions (array[string])
プロジェクトポリシーの権限のリスト。 -
resource (string)
リソースの HERE リソースネーム 。 resourceType (string)
リソースのタイプ。 許容値 : catalog
、pipeline
、pipeline-template
、artifact
、schema
、service
。 allowedActions (array[string])
プロジェクトのコンテキストでプロジェクトポリシーで定義されているリソースまたはリソースタイプに対して実行できるアクションのリスト。 コマンドを使用して、許可されているアクションを取得することもでき olp resource action list
ます。
サンプル設定ファイル :
{
"id": "all-access-for-xyz-catalog",
"name": "Access to xyz catalog",
"description": "Full access to xyz catalog",
"permissions": [
{
"resource": "hrn:here:data::org:<catalog-id>",
"allowedActions": [
"readResource",
"manageResource",
"writeResource"
]
}
]
}
オプションのパラメータ :
-
--credentials <path to credentials file>
コマンドで使用する資格情報ファイルの名前を指定します。 資格情報ファイルは、プラットフォームポータルとは別にダウンロードされます。 -
--profile <profile name>
olpcli.ini
ファイルから使用する資格情報プロファイルの名前を指定します。 --json
コマンドの結果を JSON 形式で表示します。 -
--quiet
空の出力を追加情報なしで表示します。
資格情報 およびプロファイルの使用方法の詳細について は、「資格情報 の設定」を参照してください。
例 :
次のコマンドを実行すると、新しいプロジェクトポリシーが作成されます。
olp project policy create hrn:here:authorization::org:project/myproject \
--config path/to/config.json
olp project policy create hrn:here:authorization::org:project/myproject ^
--config path/to/config.json
出力 :
Policy hrn:here:authorization::org:project/myproject:policy/all-access-for-xyz-catalog has been created in project hrn:here:authorization::org:project/myproject
注
このコマンドを使用すると、ポリシーに含めるリソースがプロジェクトにすでに存在するかどうかを確認するために、検証せずにポリシーを作成できます。 これにより、リソースの作成前にポリシーを作成できます。このポリシーは、一部の CI/CD フローに役立つ場合があります。 ただし、別のプロジェクトにあり、ポリシーを作成しているプロジェクトと共有およびリンクされていないリソースなど、プロジェクトでアクセスできないリソースを含むポリシーを作成することもできます。 このようなポリシーがプロジェクトメンバーに適用されても、そのようなメンバーはポリシーに含まれているそのようなリソースへのアクセス権を持ちません。
プロジェクトポリシーの更新
指定したプロジェクトポリシーを更新します。
olp project policy update <project HRN> <policy HRN> --config <path to config file> [command options]
必須パラメータ :
-
<project HRN>
プロジェクトの HERE リソースネーム を指定します。 <policy HRN>
ポリシーの HERE リソースネーム を指定します。 --config <path to config file>
プロジェクトポリシーを更新する構成ファイルのパスを指定します。
設定ファイル
サンプル設定ファイル :
{
"id": "read-access-for-xyz-catalog",
"name": "Read access for catalog xyz",
"description": "This is a custom project policy that grants read access to catalog xyz",
"permissions": [
{
"resource": "hrn:here:data::org:<catalog-id>",
"resourceType": "catalog"
"allowedActions": [
"readResource"
]
}
]
}
注
olp project policy update
コマンドの設定ファイルの構造は olp project policy create
、コマンドの場合と同じである必要があります。
オプションのパラメータ :
-
--credentials <path to credentials file>
コマンドで使用する資格情報ファイルの名前を指定します。 資格情報ファイルは、プラットフォームポータルとは別にダウンロードされます。 -
--profile <profile name>
olpcli.ini
ファイルから使用する資格情報プロファイルの名前を指定します。 --json
コマンドの結果を JSON 形式で表示します。 -
--quiet
空の出力を追加情報なしで表示します。
資格情報 およびプロファイルの使用方法の詳細について は、「資格情報 の設定」を参照してください。
例 :
次のコマンドを使用すると、指定したプロジェクトポリシーが更新されます。
olp project policy update hrn:here:authorization::org:project/myproject \
hrn:here:authorization::org:project/myproject:policy/all-access-for-xyz-catalog
--config path/to/config.json
olp project policy update hrn:here:authorization::org:project/myproject ^
hrn:here:authorization::org:project/myproject:policy/all-access-for-xyz-catalog
--config path/to/config.json
出力 :
Policy hrn:here:authorization::org:project/myproject:policy/all-access-for-xyz-catalog has been updated in project hrn:here:authorization::org:project/myproject
注
このコマンドを使用すると、ポリシーに含めるリソースがすでにプロジェクトに存在するかどうかを確認せずに、指定したポリシーを更新できます。 これにより、リソースの作成前にポリシーを更新できます。これは、一部の CI/CD フローで役立つ場合があります。 ただし、プロジェクトでアクセスできないリソースを含むポリシーを更新することもできます。たとえば、別のプロジェクトにあり、ポリシーを更新しているプロジェクトと共有およびリンクされていないリソースなどです。 このようなポリシーがプロジェクトメンバーに適用されても、そのようなメンバーはポリシーに含まれているそのようなリソースへのアクセス権を持ちません。
プロジェクトポリシーが表示されます
プロジェクトポリシーの詳細を表示します。
olp project policy show <project HRN> <policy HRN> [command parameters]
必須パラメータ :
-
<project HRN>
プロジェクトの HERE リソースネーム を指定します。 -
<policy HRN>
プロジェクトポリシーの HERE リソースネーム を指定します。
オプションのパラメータ :
-
--credentials <path to credentials file>
コマンドで使用する資格情報ファイルの名前を指定します。 資格情報ファイルは、プラットフォームポータルとは別にダウンロードされます。 -
--profile <profile name>
olpcli.ini
ファイルから使用する資格情報プロファイルの名前を指定します。 --json
コマンドの結果を JSON 形式で表示します。 -
--quiet
プロジェクトポリシー HERE リソースネーム を表示します。
資格情報 およびプロファイルの使用方法の詳細について は、「資格情報 の設定」を参照してください。
例 :
以下のコマンドは、プロジェクトポリシーの詳細を表示します。
olp project policy show hrn:here:authorization::org:project/myproject \
hrn:here:authorization::org:project/myproject:policy/all-access-for-xyz-catalog \
--json
olp project policy show hrn:here:authorization::org:project/myproject ^
hrn:here:authorization::org:project/myproject:policy/all-access-for-xyz-catalog ^
--json
出力 :
{
"id": "all-access-for-xyz-catalog",
"hrn": "hrn:here:authorization::org:project/myproject:policy/all-access-for-xyz-catalog",
"name": "allAccessForXyzCatalog",
"description": "Read and write access to the xyz catalog.",
"type": "custom",
"permissions": [
{
"resource": "hrn:here:data::org:xyz-catalog",
"resourceType": "catalog",
"allowedActions": [
"readResource",
"writeResource"
]
}
]
}
プロジェクトポリシーが削除されました
プロジェクトポリシーを削除します。
olp project policy delete <project HRN> <policy HRN> [command parameters]
必須パラメータ :
-
<project HRN>
プロジェクトの HERE リソースネーム を指定します。 -
<policy HRN>
削除するプロジェクトポリシーの HERE リソースネーム を指定します。
オプションのパラメータ :
-
--force
設定すると、ポリシーの削除が強制され、 ID へのポリシーの添付ファイルも削除されます。 --credentials <path to credentials file>
コマンドで使用する資格情報ファイルの名前を指定します。 資格情報ファイルは、プラットフォームポータルとは別にダウンロードされます。 -
--profile <profile name>
olpcli.ini
ファイルから使用する資格情報プロファイルの名前を指定します。 -
--quiet
空の出力を追加情報なしで表示します。
警告
プロジェクトポリシーの削除
プロジェクトポリシーを削除すると、依存するすべてのユーザーおよびアプリのワークフローに悪影響を与える可能性があります。 プロジェクトポリシーで作成された添付ファイルがある場合は、プロジェクトポリシーを削除する前に添付ファイルを削除する必要があります。
資格情報 およびプロファイルの使用方法の詳細について は、「資格情報 の設定」を参照してください。
例 :
次のコマンドを実行すると、プロジェクトポリシーが削除されます。
olp project policy delete hrn:here:authorization::org:project/myproject \
hrn:here:authorization::org:project/myproject:policy/all-access-for-xyz-catalog \
--force
olp project policy delete hrn:here:authorization::org:project/myproject ^
hrn:here:authorization::org:project/myproject:policy/all-access-for-xyz-catalog ^
--force
出力 :
Policy hrn:here:authorization::org:project/myproject:policy/all-access-for-xyz-catalog has been deleted from project hrn:here:authorization::org:project/myproject