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)と同じです。
おしまい。。