このトピックでは、Alibaba Cloud CLIを使用してResource CenterのAPI操作を呼び出す方法について説明します。 この例では、Resource CenterのSearchResources
操作を呼び出して、現在のアカウント内の可視リソースを検索します。
背景情報
Alibaba Cloud CLIは、APIに基づいて開発された汎用のコマンドラインツールです。 Alibaba Cloud CLIを使用して、Resource Centerの自動管理とメンテナンスを実装できます。 詳細については、「Alibaba Cloud CLIとは」をご参照ください。
ステップ1: Alibaba Cloud CLIのインストール
Alibaba Cloud CLIを使用する前に、Alibaba Cloud CLIをインストールする必要があります。 Alibaba Cloud CLIは、Windows、Linux、およびmacOSオペレーティングシステムにインストールできます。 デバイスのオペレーティングシステムに基づいて、Alibaba Cloud CLIのインストールパッケージを選択します。 詳細については、以下のトピックをご参照ください。
Alibaba Cloud CLIはCloud Shellにプリインストールされています。 Cloud Shellは、ID資格情報を自動的に設定します。 Cloud Shellを使用して、Alibaba Cloud CLIで実行するコマンドをデバッグできます。 詳細については、「Cloud Shellとは」をご参照ください。
ステップ2: Alibaba Cloud CLIの設定
Alibaba Cloudアカウントには、すべてのAlibaba CloudサービスのAPIを管理およびアクセスする権限があります。 Alibaba Cloudアカウントを使用してAPI操作を呼び出すと、セキュリティリスクが発生する可能性があります。 RAM (Resource Access Management) IDを作成し、最小権限の原則に基づいてRAM IDに必要な権限を付与し、RAM IDを使用してAPI操作を呼び出すことをお勧めします。 Resource Centerでサポートされている権限ポリシーの詳細については、「ResourceManagerのシステムポリシー」および「Resource Managementのカスタムポリシー」をご参照ください。
リソースセンターでは、現在のアカウント内でアクセスできるリソースのみをクエリできます。 したがって、API操作の呼び出しに使用するRAM IDには、Resource Centerの権限とリソースの読み取り専用権限の両方を付与する必要があります。 詳細については、「RAMユーザーにResource Centerを使用する権限を付与する」をご参照ください。
Alibaba Cloud CLIを使用する前に、Alibaba Cloud CLIでID資格情報やリージョンIDなどの情報を指定する必要があります。 Alibaba Cloud CLIは、さまざまなID資格情報をサポートしています。 詳細については、「資格情報の種類」をご参照ください。 この例では、AccessKey資格情報が使用されます。
手順:
RAMユーザーを作成し、RAMユーザーのAccessKeyペアを作成します。 詳細については、「RAM ユーザーの作成」および「AccessKeyペアの作成」をご参照ください。
RAM ユーザーに必要な権限を付与します。 この例では、RAMユーザーにResource Centerの読み取り専用権限を付与するには、RAMユーザーに
AliyunResourceCenterReadOnlyAccess
ポリシーをアタッチする必要があります。 さらに、リソースに対する読み取り専用操作を許可するポリシーは、RAMユーザーにアタッチする必要があります。 たとえば、RAMユーザーにVirtual Private Cloud (VPC) リソースに対する読み取り専用権限を付与するには、RAMユーザーにAliyunVPCReadOnlyAccess
ポリシーをアタッチする必要があります。 詳細については、「RAMユーザーへの権限付与」をご参照ください。使用するリージョンのIDを取得します。 Alibaba Cloud CLIは、指定したリージョンIDを使用してAPI呼び出しを開始します。 Resource Centerでサポートされているリージョンの詳細については、「エンドポイント」をご参照ください。
説明Alibaba Cloud CLIを使用する場合、
-- region
オプションを使用して、呼び出しを開始するリージョンを指定できます。 このオプションを指定すると、Alibaba Cloud CLIはデフォルトの資格情報設定と環境変数設定のリージョン情報を無視します。 詳細については、「API呼び出しのコマンドラインオプション」をご参照ください。RAMユーザーのAccessKeyペアと取得したリージョンIDを使用して、
AkProfile
設定ファイルでID資格情報を設定します。 詳細については、「構成例」をご参照ください。
ステップ3: CLIコマンドを生成する
OpenAPI ExplorerのSearchResourcesデバッグページに移動します。
[パラメーター] タブで、リクエストパラメーターを設定します。 次に、[CLIの例] タブをクリックして、生成されたサンプルCLIコマンドを表示します。
CLIコマンドをコピーするか、Cloud ShellでCLIコマンドをデバッグします。
アイコンをクリックしてCloud Shellを起動し、Cloud ShellでCLIコマンドをデバッグします。
アイコンをクリックして、CLIコマンドをクリップボードにコピーします。 CLIコマンドをローカルシェルに貼り付けて、CLIコマンドを実行できます。
説明デバッグのためにCLIコマンドをローカルシェルに貼り付けるときは、パラメーターの形式に注意してください。 Alibaba Cloud CLIで必要なパラメーター形式については、「パラメーター形式」をご参照ください。
デフォルトでは、OpenAPI Explorerは、生成されたCLIコマンドに
-- region
オプションを追加します。 コマンドをローカルシェルにコピーすると、Alibaba Cloud CLIはデフォルトのID資格情報設定と環境変数設定のリージョン情報を無視し、オプションで指定されたリージョンでコマンドを優先的に実行します。 ビジネス要件に基づいてオプションを削除または保持できます。
手順4: Resource CenterのAPI操作を呼び出す
例1: Resource Center Alibaba Cloud CLIで呼び出すことができるAPI操作の照会
この例では、-- help
オプションを使用して、Alibaba Cloud CLIで呼び出すことができるResource Center API操作を照会します。 詳細については、「関数別の操作の一覧」をご参照ください。
以下のコマンドを実行します。
aliyun resourcecenter --help
コマンド出力を表示します。
例2: 現在のアカウント内のリソースの検索
この例では、Alibaba Cloud CLIでResource CenterのSearchResources
操作が呼び出され、現在のアカウント内のVPCルートテーブルが検索されます。
以下のコマンドを実行します。
aliyun resourcecenter SearchResources --Filter.1.Key ResourceType --Filter.1.Value.1 'ACS::VPC::RouteTable' --Filter.1.MatchType Equals
コマンド出力を表示します。
{ "NextToken": "eyJzZWFyY2hBZnRlcnMiOlsiMTAwMTU2Nzk4MTU1OSJd****", "RequestId": "D696E6EF-3A6D-5770-801E-4982081FE4D0", "MaxResults": 10, "Resources": [ { "AccountId": "151266687691****", "ResourceGroupId": "rg-acfmzawhxxc****", "ResourceId": "vtb-bp11lbh452fr8940s****", "ResourceName": "group1", "CreateTime": "2024-09-25T08:55:30Z", "ResourceType": "ACS::VPC::RouteTable", "RegionId": "ap-northeast-1" } ] }
説明Resource CenterのAPIを呼び出した後にエラーメッセージが返された場合は、返されたエラーコードに基づいて、リクエストパラメーターとリクエストパラメーターの値が有効かどうかを確認します。
ページで返されたリクエストIDまたはSDKエラー情報に基づいて、セルフサービス診断を実行することもできます。