API Keys API のスタートガイド

このページでは、curl コマンドを使用して API キーを試すためのローカル環境を設定する方法について説明します。

始める前に

  1. Google Cloud CLI をインストールします。

  2. フェデレーション ID(連携 ID)を使用するように gcloud CLI を構成します。

    詳細については、連携 ID を使用して gcloud CLI にログインするをご覧ください。

  3. gcloud CLI を初期化するには、次のコマンドを実行します。

    gcloud init
  4. Cloud de Confiance プロジェクトを作成または選択します

    プロジェクトの選択または作成に必要なロール

    • プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
    • プロジェクトを作成する: プロジェクトを作成するには、resourcemanager.projects.create 権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。ロールを付与する方法を確認する
    • Cloud de Confiance プロジェクトを作成します。

      gcloud projects create PROJECT_ID

      PROJECT_ID は、作成する Cloud de Confiance プロジェクトの名前に置き換えます。

    • 作成した Cloud de Confiance プロジェクトを選択します。

      gcloud config set project PROJECT_ID

      PROJECT_ID は、 Cloud de Confiance プロジェクトの名前に置き換えます。

  5. Cloud de Confiance プロジェクトに対して課金が有効になっていることを確認します

  6. API Keys API を有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する

    gcloud services enable apikeys.googleapis.com
  7. ユーザー アカウントにロールを付与します。次の IAM ロールごとに次のコマンドを 1 回実行します。 roles/serviceusage.apiKeysAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    次のように置き換えます。

API Keys API をテストする

  1. API キーを有効にしたプロジェクトのプロジェクト番号を取得します。

  2. API の呼び出しに便利なシェル エイリアスを定義します。

    alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
    
  3. リクエストを行って、プロジェクト内の API キーのリストを取得します。

    gcurl https://apikeys.googleapis.com/v2/projects/YOUR_PROJECT_NUMBER/locations/global/keys
    

    成功すると、次のようなレスポンスが返されます。

    {
      "keys": [
        {
          "name": "projects/12345678/locations/global/keys/2885bf87-5b84-47fa-92af-08c3e9337349",
          "displayName": "API key 2",
          "createTime": "2019-05-29T22:07:22.036Z",
          "uid": "2885bf87-5b84-47fa-92af-08c3e9337349",
          "updateTime": "2019-05-29T22:07:22.058623Z",
          "restrictions": {
            "androidKeyRestrictions": {}
          },
          "etag": "zHib8eXEMCxe4ayQEbIaZg=="
        },
        {
          "name": "projects/12345678/locations/global/keys/a4db08b7-5729-4ba9-8c08-f2df493465a1",
          "displayName": "API key 1",
          "createTime": "2019-05-29T22:06:58.844Z",
          "uid": "a4db08b7-5729-4ba9-8c08-f2df493465a1",
          "updateTime": "2019-05-29T22:06:58.855103Z",
          "restrictions": {
            "androidKeyRestrictions": {}
          },
          "etag": "0L5KcPMGoNi53K5+FqPxiw=="
        }
      ]
    }

次のステップ