COSターゲットの管理
IBM Cloud Activity Tracker Event Routing CLI、 IBM Cloud Activity Tracker Event Routing REST API、Terraform スクリプトを使用して、アカウント内の IBM Cloud Object Storage (COS) ターゲットを管理できます。 ターゲットとは、監査イベントを収集できるリソースです。
IBM Cloud Activity Tracker Event Routingターゲットの詳細については、 「ターゲット」 を参照してください。
COSターゲットについて
IBM Cloud Object Storage (COS) ターゲットを使用している場合、複数のリージョンにまたがるアカウントの監査イベントを収集するために、同じ COS バケットを使用できます。 そのシナリオでは、イベントは COS バケットに書き込まれる前にターゲット領域に転送されます。 パフォーマンスを向上させ、ネットワーク待ち時間を削減するために、各リージョンにバケットを定義することを検討できます。
IBM Cloud Object Storage (COS) 内のターゲットを定義する場合は、以下の情報を考慮してください。
-
バケットは任意のロケーションに作成できます。 詳しくは、IBM Cloud Object Storage (COS) バケットの管理を参照してください。
-
1つのターゲットに設定できるバケットは1つだけです。
-
規制やコンプライアンス要件がある場合は、バケットを作成できるロケーションを確認してください。 また、パフォーマンスが重要である場合は、監査イベントが生成されるのと同じリージョンに COS バケットを作成することを検討してください。
IAM アクセス権限
ターゲットを管理するには、ユーザーに IAM 権限を付与する必要があります。 詳細については、 「リソースへのアクセスの割り当て」 を参照してください。
ポリシーを定義するときに、権限の範囲を指定できます。 特定の地域またはアカウント全体に対して権限を付与することを選択できます。
ポリシーと承認を作成するための IAM 権限がある場合は、対象サービスのユーザーとして持っているアクセス レベルのみを付与できます。 例えば、対象サービスのビューアアクセスを持っている場合、ビューアロールのみを権限に割り当てることができます。 管理者などの上位の権限を割り当てようとすると、権限が付与されたように見えますが、割り当てられるのは対象サービスに対して持っている最高レベルの権限、つまり閲覧者のみです。
地域スコープを持つユーザーは、許可された地域内のターゲットへのアクセスに制限される。
IAM アクション | IAM ポリシーのスコープ | IAM 役割 | 説明 |
---|---|---|---|
atracker.target.read |
リージョン | Administrator Editor Viewer Operator |
ターゲットに関する情報の読み取り (表示) |
atracker.target.create |
リージョン | Administrator Editor |
ターゲットの作成 |
atracker.target.update |
リージョン | Administrator Editor |
ターゲットの更新 |
atracker.target.delete |
リージョン | Administrator Editor |
ターゲットの削除 |
atracker.target.list |
アカウント | Administrator Editor Viewer Operator |
すべてのターゲットのリスト |
認証オプション
COS ターゲットへの書き込み時に、以下のオプションを使用して、IBM Cloud Object Storage (COS) バケットに対する認証を行うことができます。
- service-to-service( S2S )認可を設定する(推奨)。
- ターゲットの構成時に API キーを指定します。
COS バケットにサービス間許可を構成して、暗号化されたデータを COS バケットに書き込むときに API キー を渡す必要がないようにすることができます。
CLI の前提条件
CLI を使用してターゲットを管理する前に、以下の手順を実行します。
-
IBM Cloud にログインします。 次のコマンドを実行します。 ibmcloud login
COS バケット API 鍵の取得
COS バケット API 鍵の取得については、バケットにアクセスするための API キーの生成を参照してください。
同一アカウント内でUIを使用し、 S2S 認証を設定する
IBM Cloud UI を使用してサービス間許可を構成するには、以下の手順を実行します。
-
IBM Cloud Activity Tracker Event Routing ターゲットを構成するアカウント所有者として IBM Cloud アカウントにログインします。
ユーザー ID とパスワードを使用してログインすると、IBM Cloud ダッシュボードが開きます。
-
「管理」 > **「アクセス (IAM)」**をクリックします。 アクセスとユーザーの管理 が表示されます。
-
「許可」 をクリックします。
-
「作成」 をクリックします。
-
**ソース・サービスでは **Activity Tracker を選択し、「 アクセス範囲をどのように設定しますか? には「 すべてのリソース 」を選択します。
-
ターゲット・サービスの場合は、Cloud Object Storage を選択します。**どのようにアクセス権限のスコープを設定しますか?**の場合は、選択した属性に基づくリソースを選択します。
-
サービス・インスタンス および ストリングが等しい COS インスタンスの名前を選択します。
-
サービス・アクセス の場合は、オブジェクト・ライターを選択します。
-
「許可」 をクリックします。 新しいサービス間許可が「許可の管理」ビューにリストされます。
UI を使用して許可できるのは、IBM Cloud Object Storage インスタンスに対してのみです。 許可を特定の IBM Cloud Object Storage バケットに制限する場合は、API を使用して許可を構成する必要があります。
CLI を使用した S2S 認証の設定
IBM Cloud CLI を使用してサービス間許可を構成するには、以下の手順を実行します。
-
IBM Cloud Activity Tracker Event Routing 許可を構成するアカウント所有者として [IBM Cloud アカウント (/docs/cli?topic=cli-ibmcloud_cli#ibmcloud_login) にログインします。]
-
サービス間許可を定義する許可ポリシーを作成します。
ibmcloud iam authorization-policy-create atracker cloud-object-storage "Object Writer" [--target-service-instance-id <COS_SERVICE_INSTANCE>
ここで、
COS_SERVICE_INSTANCE
は、許可される COS インスタンスのバケット・インスタンス CRN です。
API を使用した S2S 認証の設定
IBM Cloud API を使用してサービス間許可を構成するには、以下の手順を実行します。
-
IBM Cloud Activity Tracker Event Routing IAM 許可を構成するアカウント所有者として IBM Cloud アカウントにログインします。
-
サービス間許可を定義する
authorization_policy_resource.json
ファイルを作成します。{ "type": "authorization", "subjects": [ { "attributes": [ { "name": "accountId", "value": "CUSTOMER_ACCOUNT_ID" }, { "name": "serviceName", "value": "atracker" } ] } ], "roles": [ { "role_id": "crn:v1:bluemix:public:iam::::serviceRole:ObjectWriter" } ], "resources": [ { "attributes": [ { "name": "accountId", "value": "CUSTOMER_ACCOUNT_ID" }, { "name": "serviceName", "value": "cloud-object-storage" }, { "name": "serviceInstance", "value": "COS_SERVICE_INSTANCE" } ] } ] }
ここで、
CUSTOMER_ACCOUNT_ID
は、ターゲットを構成するアカウントのアカウント GUID です。 これは、ibmcloud account list
コマンドを使用して見つけることができます。COS_SERVICE_INSTANCE
は、許可される COS インスタンスのバケット・インスタンス CRN です。 -
IAM アクセス・トークンを取得します。 詳しくは、IAM アクセス・トークンの取得を参照してください。
-
以下のコマンドを実行して、サービス間許可を構成します。
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header "Authorization: $ACCESS_TOKEN" -d @authorization_policy_resource.json "https://iam.cloud.ibm.com/v1/policies"
CLI を使用した COS ターゲットの作成
このコマンドを使用して、アクティビティー・イベントの宛先を構成するために使用する IBM Cloud Object Storage ターゲットを作成します。
ibmcloud atracker target create --name TARGET_NAME --type TARGET_TYPE ( [--file COS_ENDPOINT_DEFINITION_JSON_FILE] | ( [--endpoint COS_ENDPOINT] [--bucket COS_BUCKET] [--target-crn COS_TARGET_CRN] ( [--api-key ( COS_API_KEY | @COS_API_KEY_FILE )] | [--service-to-service-enabled ( TRUE | FALSE )] ) ) ) [--region REGION] [--output FORMAT]
コマンド・オプション
--region REGION
|-r REGION
-
リージョンの名前 (
us-south
やeu-gb
など)。 指定しないと、ログインしたリージョン、またはターゲットのリージョンが使用されます。 --name TARGET_NAME
-
ターゲットに付ける名前。
リソース名に個人識別情報 (PII) を含めないでください。
--type TARGET_TYPE
-
COS ターゲットの場合は、
TARGET_TYPE
をcloud_object_storage
に設定します。 --file @COS_ENDPOINT_DEFINITION_JSON_FILE
-
以下の形式のエンドポイント定義が入っているファイル
{ "endpoint": "aaaaa", "target_crn": "yyyyy", "bucket": "zzzzzz", "api_key": "xxxxxx" }
--endpoint COS_ENDPOINT
-
IBM Cloud Object Storage バケットに関連付ける IBM Cloud Object Storage エンドポイント。
--bucket BUCKET
-
ターゲットに関連付ける IBM Cloud Object Storage バケットの名前。
--target-crn COS_TARGET_CRN
-
IBM Cloud Object Storage インスタンスの CRN。
--api-key COS_API_KEY
|@COS_API_KEY_FILE
-
API キー値、またはアクセス権を取得するために使用される API キー・ファイルへの参照。 例:
ibmcloud login --apikey $KEYFILE
--service-to-service-enabled
-
バケットに対してサービス間許可 (service-to-service authorization) が有効になっているかどうかを示します。 サービス間許可が有効になっている場合は
TRUE
を指定し、サービス間許可が有効になっていない場合はFALSE
を指定します。 デフォルトでは、service_to_service_enabled
はFALSE
です。 --output FORMAT
-
現在サポートされている形式は JSON です。 指定すると、出力が JSON 形式で返されます。
JSON
を指定しない場合は、出力が表形式で返されます。 help
|--help
|-h
-
コマンドで使用できるオプションがリストされます。
例
**ibmcloud atracker target create --name my-target --type cloud_object_storage --endpoint s3.us-west.cloud-object-storage.appdomain.cloud --bucket cloud-object-storage-my-cos --target-crn crn:v1:staging:public:cloud-object-storage:global:a/xxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx:: --api-key yyyyyyyyyyyyyyyyyyyyyyyyyyyyy
**コマンドの使用例を以下に示します。
ターゲットの作成が成功した例を以下に示します。
Target
Name: my-target
ID: 000000000-00000000-0000-0000-00000000
CRN: crn:v1:staging:public:atracker:us-south:a/xxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
Type: cloud_object_storage
COS Endpoint: s3.us-west.cloud-object-storage.appdomain.cloud
COS Target CRN: crn:v1:staging:public:cloud-object-storage:global:a/xxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx:
COS Bucket: cloud-object-my-target
Service to Service Enabled: true
Write Status: success
Created: 2021-07-21T16:04:15.174Z
Updated: 2021-07-21T16:04:15.174Z
CLI を使用した COS ターゲットの更新
このコマンドは、IBM Cloud Activity Tracker Event Routing 領域の COS ターゲットを更新するために使用します。 ターゲットが最初に作成された時の値とは異なる値をコマンドで指定すると、その値がコマンドの指定値に更新されます。
ibmcloud atracker target update --target TARGET [--name TARGET_NAME] [ [--file COS_ENDPOINT_DEFINITION_JSON_FILE] | ( [--endpoint COS_ENDPOINT] [--bucket COS_BUCKET] [--target-crn COS_TARGET_CRN] ( [--api-key ( COS_API_KEY | @COS_API_KEY_FILE )] | [--service-to-service-enabled ( TRUE | FALSE )]))] [--output FORMAT]
コマンド・オプション
--target TARGET
-
ID または現在のターゲット名。
--region REGION
|-r REGION
-
リージョンの名前 (
us-south
やeu-gb
など)。 指定しないと、ログインしたリージョン、またはターゲットのリージョンが使用されます。 --name TARGET_NAME
-
ターゲットに付ける名前。
リソース名に個人識別情報 (PII) を含めないでください。
--file @COS_ENDPOINT_DEFINITION_JSON_FILE
-
以下の形式のエンドポイント定義が入っているファイル
{ "endpoint": "aaaaa", "target_crn": "yyyyy", "bucket": "zzzzzz", "api_key": "xxxxxx" }
または、サービス間認証が有効になっているシナリオの場合は、以下のようにします。
{ "endpoint": "aaaaa", "target_crn": "yyyyy", "bucket": "zzzzzz", "service_to_service_enabled": true }
--endpoint COS_ENDPOINT
-
IBM Cloud Object Storage バケットに関連付ける IBM Cloud Object Storage エンドポイント。
--bucket COS_BUCKET
-
ターゲットに関連付ける IBM Cloud Object Storage バケットの名前。
--target-crn COS_TARGET_CRN
-
IBM Cloud Object Storage インスタンスの CRN。
--api-key COS_API_KEY
|@COS_API_KEY_FILE
-
API キー値、またはアクセス権を取得するために使用される API キー・ファイルへの参照。 例:
ibmcloud login --apikey $KEYFILE
--service-to-service-enabled (TRUE | FALSE)
-
バケットに対してサービス間許可 (service-to-service authorization) が有効になっているかどうかを示します。 サービス間許可が有効になっている場合は
TRUE
を指定し、サービス間許可が有効になっていない場合はFALSE
を指定します。 デフォルトでは、サービス間許可はFALSE
です。 --output FORMAT
-
現在サポートされている形式は JSON です。 指定すると、出力が JSON 形式で返されます。
JSON
を指定しない場合は、出力が表形式で返されます。 help
|--help
|-h
-
コマンドで使用できるオプションがリストされます。
例
**ibmcloud atracker target update --target my-target --name new-target-name
**コマンドの使用例を以下に示します。
Target
Name: new-target-name
ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
CRN: crn:v1:staging:public:atracker:us-south:a/xxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
Type: cloud_object_storage
COS Endpoint: s3.us-west.cloud-object-storage.appdomain.cloud
COS Target CRN: crn:v1:staging:public:cloud-object-storage:global:a/xxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx:
COS Bucket: cloud-object-my-target
Service to Service Enabled: true
Write Status: success
Created: 2021-07-21T16:04:15.174Z
Updated: 2021-07-21T17:49:56.452Z
CLI を使用したターゲットの削除
このコマンドは、ターゲットを削除するために使用します。
ibmcloud atracker target rm --target TARGET [--force]
コマンド・オプション
--target TARGET
- ターゲットの ID または名前。
--force
|-f
- ユーザーに追加のプロンプトを出さずにターゲットを削除します。
help
|--help
|-h
- コマンドで使用できるオプションがリストされます。
例
**ibmcloud atracker target rm --target xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
**コマンドの使用例を以下に示します。
Are you sure you want to remove the target with target ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx? [y/N]>y
OK
Target with target ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx was successfully removed.
**ibmcloud atracker target rm --target xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -force
**コマンドの使用例を以下に示します。
以下は、指定のターゲットが見つからずにコマンドが失敗する例です。
Are you sure you want to remove the Target bearing Target ID 33333333-3333-3333-3333-333333333333? [y/N]> y
FAILED
Something went wrong. Error:
Status Code: 404
Incident ID: 67a33257-d5a4-46ec-94d9-14eb70e94f3d
Code: not_found
Message: The target id specified in `target_id` field is not found.
CLI を使用したターゲットの検証
このコマンドを使用して、IBM Cloud Activity Tracker Event Routing リージョンのターゲットが正しく構成されていることを確認します。
ibmcloud atracker target validate --target TARGET [--region REGION] [--output FORMAT]
コマンド・オプション
--target TARGET
- ターゲットの ID または名前。
--region REGION
|-r REGION
- リージョンの名前 (
us-south
やeu-gb
など)。 指定しないと、ログインしたリージョン、またはターゲットのリージョンが使用されます。 --output FORMAT
- 現在サポートされている形式は JSON です。 指定すると、出力が JSON 形式で返されます。
JSON
を指定しない場合は、出力が表形式で返されます。 help
|--help
|-h
- コマンドで使用できるオプションがリストされます。
例
**ibmcloud atracker target validate --target new-target-name
**コマンドの使用例を以下に示します。
この例は、正常に検証された COS ターゲットを示しています。
Target
Name: new-target-name
ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
CRN: crn:v1:staging:public:atracker:us-south:a/xxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
Type: cloud_object_storage
COS Endpoint: s3.us-west.cloud-object-storage.appdomain.cloud
COS Target CRN: crn:v1:staging:public:cloud-object-storage:global:a/xxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx:
COS Bucket: cloud-object-my-target
Service to Service Enabled: true
Write Status: success
Created: 2021-07-21T16:04:15.174Z
Updated: 2021-07-21T17:49:56.452Z
CLI を使用したターゲットに関する情報の取得
このコマンドを使用して、IBM Cloud Activity Tracker Event Routing リージョンのターゲットに関する情報を取得します。
ibmcloud atracker target get --target TARGET [--output FORMAT]
コマンド・オプション
--target TARGET
- ターゲットの ID または名前。
--output FORMAT
- 現在サポートされている形式は JSON です。 指定すると、出力が JSON 形式で返されます。
JSON
を指定しない場合は、出力が表形式で返されます。 help
|--help
|-h
- コマンドで使用できるオプションがリストされます。
例
COS ターゲットを示す**ibmcloud atracker target get --target new-target-name
**コマンドの使用例を以下に示します。
Target
Name: new-target-name
ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
CRN: crn:v1:staging:public:atracker:us-south:a/xxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
Type: cloud_object_storage
COS Endpoint: s3.us-west.cloud-object-storage.appdomain.cloud
COS Target CRN: crn:v1:staging:public:cloud-object-storage:global:a/xxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx:
COS Bucket: cloud-object-my-target
Service to Service Enabled: true
Write Status: success
Created: 2021-07-21T16:04:15.174Z
Updated: 2021-07-21T17:49:56.452Z
リージョン内のすべてのターゲットのリスト
このコマンドを使用して、IBM Cloud Activity Tracker Event Routing リージョンの構成済みターゲットを表示します。
ibmcloud atracker target ls [--output FORMAT]
コマンド・オプション
--output FORMAT
- 現在サポートされている形式は JSON です。 指定すると、出力が JSON 形式で返されます。
JSON
を指定しない場合は、出力が表形式で返されます。 help
|--help
|-h
- コマンドで使用できるオプションがリストされます。
例
**ibmcloud atracker target ls
**コマンドの使用例を以下に示します。
Name ID Region Type Service to Service Enabled Created
target-01 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx us-south cloud_object_storage true 2020-11-18T03:52:08.603Z
target-02 yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy us-south cloud_object_storage true 2020-11-18T03:52:01.592Z
target-02-backup zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz us-east cloud_object_storage false 2021-02-26T06:53:13.466Z
API のターゲットとアクション
次の表は、ターゲットを管理するために実行できるアクションのリストです。
アクション | REST API メソッド | API_URL |
---|---|---|
ターゲットの作成 | POST |
<ENDPOINT>/api/v2/targets |
ターゲットの更新 | PUT |
<ENDPOINT>/api/v2/targets/<TARGET_ID> |
ターゲットの削除 | DELETE |
<ENDPOINT>/api/v2/targets/<TARGET_ID> |
ターゲットの読み取り | GET |
<ENDPOINT>/api/v2/targets/<TARGET_ID> |
すべてのターゲットのリスト | GET |
<ENDPOINT>/api/v2/targets |
ターゲットの検証 | POST |
<ENDPOINT>/api/v2/targets/{id}/validate |
プライベート・エンドポイントとパブリック・エンドポイントを使用してターゲットを管理することができます。 使用可能な ENDPOINTS
のリストについて詳しくは、エンドポイントを参照してください。
-
https://private.REGION.atracker.cloud.ibm.com
という形式の API エンドポイントを使用して、プライベート・ネットワークからターゲットを管理できます。 -
https://REGION.atracker.cloud.ibm.com
という形式の API エンドポイントを使用して、パブリック・ネットワークからターゲットを管理できます。 -
アカウント設定を更新することで、パブリック・エンドポイントを無効にすることができます。 詳しくは、ターゲットとリージョンの設定の構成を参照してください。
REST API について詳しくは、ターゲットを参照してください。
API の前提条件
ターゲットを管理するための API 呼び出しを行うには、以下のステップを実行します。
- IAM アクセス・トークンを取得します。 詳しくは、IAM アクセス・トークンの取得を参照してください。
- ターゲットを構成または管理する予定のリージョン内の API エンドポイントを特定します。 詳しくは、エンドポイントを参照してください。
API を使用した COS ターゲットの作成
以下の cURL コマンドを使用して、IBM Cloud Object Storage (COS) ターゲットを作成できます。
curl -X POST <ENDPOINT>/api/v2/targets -H "Authorization: $ACCESS_TOKEN" -H "content-type: application/json" -d '{
"name": "TARGET_NAME",
"target_type": "cloud_object_storage",
"cos_endpoint": {
"endpoint": "PRIVATE_COS_ENDPOINT",
"target_crn": "COS_CRN",
"bucket": "BUCKET_NAME",
"api_key": "API_KEY",
"service_to_service_enabled": SERVICE_TO_SERVICE
}
}'
説明
-
<ENDPOINT>
は、ターゲットを構成または管理する予定の地域の API エンドポイントです。 詳しくは、エンドポイントを参照してください。 -
TARGET_NAME
は、ターゲットの名前です。 この名前の最大長は 256 文字です。リソース名に個人識別情報 (PII) を含めないでください。
-
TARGET_TYPE
は、ターゲットのタイプです。 有効なタイプはcloud_object_storage
です。 -
cos_endpoint
には、ターゲットに関する情報が含まれます。 バケットの詳細を取得する方法について詳しくは、バケット構成の詳細の取得を参照してください。PRIVATE_COS_ENDPOINT
は、このバケットを検索する IBM Cloud Activity Tracker Event Routing エンドポイントを示します。 プライベート・エンドポイントを使用します。COS_CRN
は、バケットをプロビジョンした COS インスタンスの CRN を示します。BUCKET_NAME
バケットの名前を示します。API_KEY
バケットにオブジェクトをアップロードする許可を持つ API キーが含まれています。service_to_service_enabled
がtrue
の場合、この値は無視されます。SERVICE_TO_SERVICE
は、バケットに対してサービス間許可が有効になっているかどうかを示します。 サービス間許可が有効になっている場合はtrue
を指定し、サービス間許可が有効になっていない場合はfalse
を指定します。 デフォルトでは、サービス間許可はfalse
です。
例えば、次の cURL 要求を使用して、ダラスにターゲットを作成できます。
curl -X POST https://private.us-south.atracker.cloud.ibm.com/api/v2/targets -H "Authorization: $ACCESS_TOKEN" -H "content-type: application/json" -d '{
"name": "My COS target",
"target_type": "cloud_object_storage",
"cos_endpoint": {
"endpoint": "s3.private.us-south.cloud-object-storage.appdomain.cloud",
"target_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/<account-id>:<instance-id>::",
"bucket": "my-activity-tracking-bucket",
"api_key": "xxxxxxxxxxxxxxxxxx",
"service_to_service_enabled": false
}
}'
応答では、ターゲットの GUID を示す id
やターゲットの CRN を示す crn
など、ターゲットに関する情報が得られます。
API を使用した COS ターゲットの更新
IBM Cloud Object Storage (COS) ターゲットを更新する場合は、要求のデータ・セクションにターゲット情報を含める必要があります。
- すべてのフィールドを渡す必要があります。
- 変更する必要があるフィールドを更新します。
- 作成したターゲットの
target_type
を変更することはできません。
以下の cURL コマンドを使用して、ターゲットを更新できます。
curl -X PUT <ENDPOINT>/api/v2/targets/TARGET_ID -H "Authorization: $ACCESS_TOKEN" -H "content-type: application/json" -d '{
"name": "TARGET_NAME",
"target_type": "TARGET_TYPE",
"cos_endpoint": {
"endpoint": "PRIVATE_COS_ENDPOINT",
"target_crn": "COS_CRN",
"bucket": "BUCKET_NAME",
"api_key": "API_KEY",
"service_to_service_enabled": SERVICE_TO_SERVICE
}
}'
説明
-
<ENDPOINT>
は、ターゲットを構成または管理する予定の地域の API エンドポイントです。 詳しくは、エンドポイントを参照してください。 -
TARGET_ID
はターゲットの ID です。 -
TARGET_NAME
は、ターゲットの名前です。 この名前の最大長は 256 文字です。リソース名に個人識別情報 (PII) を含めないでください。
-
TARGET_TYPE
は、ターゲットのタイプです。 COS ターゲットの場合、値をcloud_object_storage
に設定します。 -
cos_endpoint
には、ターゲットに関する情報が含まれます。 バケットの詳細を取得する方法について詳しくは、バケット構成の詳細の取得を参照してください。PRIVATE_COS_ENDPOINT
は、このバケットを検索する IBM Cloud Activity Tracker Event Routing エンドポイントを示します。 プライベート・エンドポイントを使用します。COS_CRN
は、バケットをプロビジョンした COS インスタンスの CRN を示します。BUCKET_NAME
バケットの名前を示します。API_KEY
バケットにオブジェクトをアップロードする許可を持つ API キーが含まれています。service_to_service_enabled
がtrue
の場合、この値は無視されます。SERVICE_TO_SERVICE
は、バケットに対してサービス間許可が有効になっているかどうかを示します。 サービス間許可が有効になっている場合はtrue
を指定し、サービス間許可が有効になっていない場合はfalse
を指定します。 デフォルトでは、サービス間許可はfalse
です。
例えば、次の cURL 要求を使用して、ダラスにターゲットを作成できます。
curl -X PUT https://private.us-south.atracker.cloud.ibm.com/api/v2/targets -H "Authorization: $ACCESS_TOKEN" -H "content-type: application/json" -d '{
"name": "My COS target",
"target_type": "cloud_object_storage",
"cos_endpoint": {
"endpoint": "s3.private.us-south.cloud-object-storage.appdomain.cloud",
"target_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/<account-id>:<instance-id>::",
"bucket": "my-activity-tracking-bucket",
"service_to_service_enabled": true
}
}'
API を使用したターゲットの削除
以下の cURL コマンドを使用して、ターゲットを削除できます。
curl -X DELETE <ENDPOINT>/api/v2/targets/<TARGET_ID> -H "Authorization: $ACCESS_TOKEN" -H "content-type: application/json"
説明
<ENDPOINT>
は、ターゲットを構成または管理する予定の地域の API エンドポイントです。 詳しくは、エンドポイントを参照してください。<TARGET_ID>
はターゲットの ID です。
例えば、以下の cURL 要求を使用して、00000000-0000-0000-0000-000000000000
という ID を持つ米国南部のターゲットを削除できます。
curl -X DELETE https://private.us-south.atracker.cloud.ibm.com/api/v2/targets/00000000-0000-0000-0000-000000000000 -H "Authorization: $ACCESS_TOKEN" -H "content-type: application/json"
削除が成功した場合、応答で空の結果が返されます。
{}
API を使用したターゲットの検証
以下の cURL コマンドを使用して、ターゲットに書き込む資格情報をチェックすることにより、ターゲットを検証できます。
curl -X POST <ENDPOINT>/api/v2/targets/<TARGET_ID>/validate -H "Authorization: $ACCESS_TOKEN" -H "content-type: application/json"
説明
<ENDPOINT>
は、ターゲットを構成または管理する予定の地域の API エンドポイントです。 詳しくは、エンドポイントを参照してください。<TARGET_ID>
はターゲットの ID です。
例えば、以下の cURL 要求を使用して、ID 00000000-0000-0000-0000-000000000000
を持つ米国南部のターゲットを検証できます。
curl -X POST https://private.us-south.atracker.cloud.ibm.com/api/v2/targets/<TARGETID>/validate -H "Authorization: $ACCESS_TOKEN" -H "content-type: application/json"
応答では、次の例のように、cos_write_status
セクションに情報が生成されます。
"write_status": {
"status": "success"
},
API を使用したターゲットの表示
次の cURL コマンドを使用して、1 つのターゲットの構成の詳細を表示することができます。
curl -X GET <ENDPOINT>/api/v2/targets/<TARGET_ID> -H "Authorization: $ACCESS_TOKEN" -H "content-type: application/json"
説明
<ENDPOINT>
は、ターゲットを構成または管理する予定の地域の API エンドポイントです。 詳しくは、エンドポイントを参照してください。<TARGET_ID>
はターゲットの ID です。
例えば、以下の cURL 要求を実行して、ID 00000000-0000-0000-0000-000000000000
のターゲットに関する情報を取得できます。
curl -X GET https://private.us-south.atracker.cloud.ibm.com/api/v2/targets/00000000-0000-0000-0000-000000000000 -H "Authorization: $ACCESS_TOKEN" -H "content-type: application/json"
結果はターゲットがCOS ("target_type": "cloud_object_storage"
)であるかどうかを示します。
API を使用したすべてのターゲットのリスト表示
次の cURL コマンドを使用して、すべてのターゲットを表示できます。
curl -X GET <ENDPOINT>/api/v2/targets -H "Authorization: $ACCESS_TOKEN" -H "content-type: application/json"
説明
<ENDPOINT>
は、ターゲットを構成または管理する予定の地域の API エンドポイントです。 詳しくは、エンドポイントを参照してください。
例えば、以下の cURL 要求を実行して、ダラスで定義されているターゲットに関する情報を取得できます。
curl -X GET https://private.us-south.atracker.cloud.ibm.com/api/v2/targets -H "Authorization: $ACCESS_TOKEN" -H "content-type: application/json"
結果は、ターゲットがCOS ("target_type": "cloud_object_storage"
) ターゲットであるかどうかを示します。
HTTP 応答コード
IBM Cloud Activity Tracker Event Routing REST API を使用すると、メソッドが正常に完了したかどうかを示す標準 HTTP 応答コードを取得できます。
- 200 応答は、どのような場合でも成功を示しています。
- 4xx 応答は、失敗を示しています。
- 5xx 応答は通常、内部システム・エラーを示しています。
いくつかの HTTP 応答コードについては、以下の表を参照してください。
状況コード | ステータス | 説明 |
---|---|---|
200 |
OK | 要求は正常に終了しました。 |
201 |
OK | 要求は正常に終了しました。 リソースが作成されます。 |
400 |
誤った要求 | 要求は失敗しました。 必要なパラメーターが欠落している可能性があります。 |
401 |
無許可 | API 要求で使用されている IAM トークンは無効であるか、有効期限が切れています。 |
403 |
禁止 | 権限が不十分なため、操作は禁止されました。 |
404 |
見つかりません | 要求されたリソースは存在しないか、既に削除されています。 |
429 |
要求が多すぎる | API に到達する要求の数が多すぎるうえに各要求の間隔が短すぎます。 |
500 |
内部サーバー・エラー | IBM Cloud Activity Tracker Event Routing の処理で何らかの問題が発生しました。 |
UI を使用してIBM Cloud Object Storageターゲットを作成する
アカウント内のリソースのみがリストされ、選択可能になります。 別のアカウントのリソースを指定するには、 [宛先の選択] で [CRN の指定] を選択します。
- IBM Cloudアカウントにログインします。
- 「メニュー」 アイコン
> **「可観測性」**をクリックします。
- **「Activity Tracker」**を選択します。
- ルーティングを選択します。
- ターゲットを選択する。
- **[作成] ** をクリックして作成パネルを開きます。
- タイプを選択:Object Storage をクリックします。
- サービス認証が必要です: IBM Cloud Activity Tracker Event RoutingがIBM Cloud Object Storageと通信できるようにするには、サービス認証が必要です。 「今すぐ承認」 をクリックしてポリシーを自動的に作成するか、 「IAM でアクセスを許可」 をクリックします。
- 宛先を選択:インスタンスで検索するか、 CRN を指定してください
- インスタンスで検索: テーブルからIBM Cloud Object Storageインスタンスを選択するか、 [作成] をクリックして新しいIBM Cloud Object Storageインスタンスを作成します。 インスタンスを選択したら、 IBM Cloud Object Storageバケットを選択します。
- CRN を指定: IBM Cloud Object Storageバケットのクラウド リソース名 (CRN) を入力します。 これにより、別のアカウントから CRN を入力できるようになります。
- バケット エンドポイント: デフォルトのバケット エンドポイントを使用するか、変更します。
- ターゲット名: ターゲットに意味のある名前を入力します。
- 対象リージョン: イベント データを処理するリージョンを選択します。
- 「デフォルトのターゲットとして設定」 を切り替えると、新しいターゲットがIBM Cloud Activity Tracker Event Routing設定のデフォルトのターゲットとして自動的に設定されます。 詳細については、デフォルトのターゲットのドキュメント を参照してください。
- [ターゲットの作成] をクリックします。
UI を使用してIBM Cloud Object Storageターゲットを更新する
アカウント内のリソースのみがリストされ、選択可能になります。 別のアカウントのリソースを指定するには、 [宛先の選択] で [CRN の指定] を選択します。
- IBM Cloudアカウントにログインします。
- 「メニュー」 アイコン
> **「可観測性」**をクリックします。
- **「Activity Tracker」**を選択します。
- ルーティングを選択します。
- ターゲットを選択する。
- 更新するターゲットを決定し、
をクリックします。
- IBM Cloud Activity Tracker Event Routing設定でターゲットをデフォルト ターゲットとして削除するには、 [デフォルトとして設定解除] をクリックします。 詳細については、デフォルトのターゲットのドキュメント を参照してください。
- 編集をクリックして更新パネルを開きます。
- 詳細: ターゲットの名前または地域を更新するには、 **[編集] ** をクリックします。 また、デフォルトのターゲットを切り替えて、 IBM Cloud Activity Tracker Event Routing設定でターゲットをデフォルトのターゲットとして追加または削除することもできます。
- ターゲットを更新するには、 [保存] をクリックします。
- 宛先:編集をクリックして、ターゲットに関連付けられているIBM Cloud Object Storageインスタンスまたはバケットを変更します。
- ターゲットを更新するには、 [保存] をクリックします。
UIを使用したターゲットの削除
IBM Cloud Activity Tracker Event Routingターゲットがルートで使用されている場合、またはデフォルトのターゲット設定として使用されている場合、そのターゲットを削除することはできません。
- IBM Cloudアカウントにログインします。
- 「メニュー」 アイコン
> **「可観測性」**をクリックします。
- **「Activity Tracker」**を選択します。
- ルーティングを選択します。
- ターゲットを選択する。
- 削除するターゲットを決定し、
をクリックします。
- [削除] をクリックし、確認パネルで [削除] をクリックします。
UIを使用してリージョン内のすべてのターゲットをリストする
- IBM Cloudアカウントにログインします。
- 「メニュー」 アイコン
> **「可観測性」**をクリックします。
- **「Activity Tracker」**を選択します。
- ルーティングを選択します。
- ターゲットを選択する。
表の詳細:
- ターゲット・タイプ
- 宛先名
- 宛先リージョン
- ルート: いずれかのルートで使用される場合
- ターゲットのステータス
- アクティブ: ターゲットは期待通りに動作しています
- エラー: ターゲットが誤って構成されているため、イベントは宛先にルーティングされません。 ターゲットの詳細または宛先を更新してターゲット構成を修正するか、不要になった場合はターゲットを削除します。