LoginSignup
0
0

[Cloud Storage API(V2)] JavaでCloud StorageのHMACキー情報を取得する

Posted at

Cloud Storage API V2(Java)を使用して、
Cloud StorageのHMACキー情報を取得する方法
についてご紹介します。

HMACキーとは
アカウントに関連付けられた認証情報の一種です。
HMACキーを使用して署名を作成すると、その署名がCloudStorageに対するリクエストに組み込まれます。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Cloud Storage API(V2)] JavaでCloud Storageを使う
を参照ください。

No 目次
1 HMACキーリストを取得
1 スコープ
2 実行
3 レスポンスの内容
2 HMACキーを取得
1 スコープ
2 実行
3 レスポンスの内容

1. HMACキーリストを取得

指定したプロジェクトのHMACキーリストを取得します。

1.1. スコープ

このAPIを実行するには、以下のいずれかのスコープを指定してください。

StorageScopes.CLOUD_PLATFORM
StorageScopes.DEVSTORAGE_FULL_CONTROL

⧉[Cloud Storage API(V2)] JavaでCloud Storageを使う(2.2 Storageインスタンスを取得)
でスコープを指定してください。

1.2. 実行

public static void main(String[] args) throws Exception{
    Storage storage = getStorage();
    Storage.Projects projects = storage.projects();
    Storage.Projects.HmacKeys hmacKeys = projects.hmacKeys();
    Storage.Projects.HmacKeys.List list = hmacKeys.list("プロジェクトID");
    
    HmacKeysMetadata res = list.execute();
    System.out.println(res);
}

1.2.1. HTTPリクエスト

GET: https://storage.googleapis.com/storage/v1/projects/{プロジェクトID}/hmacKeys
が実行されます。

1.2.2. クエリパラメータ

Storage.Projects.HmacKeys.Listのsetメソッドにより、クエリパラメータを追加できます。

メソッド 引数 説明
setMaxResults Long 取得する最大数
setPageToken String 取得するページトークン
setServiceAccountEmail String 取得するHMACキーのサービスアカウントのメールアドレス
setShowDeletedKeys Boolean DELETED状態のキーを含めるか

1.3. レスポンスの内容

HmacKeysMetadata

メソッド 戻り値 説明
getKind String リソースの種類
固定文字列:"storage#hmacKeysMetadata"
getNextPageToken String 次のページトークン
getItems List<HmacKeyMetadata> HMACキーのリスト

HmacKeyMetadata

メソッド 戻り値 説明
getId String HMACキーID
getKind String リソースの種類
固定文字列:"storage#hmacKeyMetadata"
getAccessId String HMACキーのアクセスID
getEtag String HMACキーのHTTPエンティティタグ
getSelfLink String リソースへのリンク
getProjectId String キーが認証するサービスアカウントを所有するプロジェクトID
getServiceAccountEmail String キーに関連付けられたサービスアカウントのメールアドレス
getState String キーの状態
"ACTIVE"、"INACTIVE"、"DELETED"
getTimeCreated DateTime HMACキーの作成時刻
getUpdated DateTime HMACキーメタデータの更新時刻

2. HMACキーを取得

指定したHMACキーのメタデータを取得します。

2.1. スコープ

このAPIを実行するには、以下のいずれかのスコープを指定してください。

StorageScopes.CLOUD_PLATFORM
StorageScopes.DEVSTORAGE_FULL_CONTROL

⧉[Cloud Storage API(V2)] JavaでCloud Storageを使う(2.2 Storageインスタンスを取得)
でスコープを指定してください。

2.2. 実行

HMACキーのアクセスIDは、HmacKeyMetadataのgetAccessId()で取得できる値を使用します。

public static void main(String[] args) throws Exception{
    Storage storage = getStorage();
    Storage.Projects projects = storage.projects();
    Storage.Projects.HmacKeys hmacKeys = projects.hmacKeys();
    Storage.Projects.HmacKeys.Get get = hmacKeys.get("プロジェクトID","HMACキーのアクセスID");

    HmacKeyMetadata res = get.execute();
    System.out.println(res);
}

2.2.1. HTTPリクエスト

GET: https://storage.googleapis.com/storage/v1/projects/{プロジェクトID}/hmacKeys/{HMACキーのアクセスID}
が実行されます。

2.2.2. クエリパラメータ

クエリパラメータはありません。

2.3. レスポンスの内容

HmacKeyMetadata

2.3. レスポンスの内容(HmacKeyMetadata)と同じです。




おしまい。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0