google-cloud-kms 2.1.1 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +1 -1
- data/AUTHENTICATION.md +15 -33
- data/MIGRATING.md +1 -1
- data/README.md +1 -1
- data/lib/google/cloud/kms/version.rb +1 -1
- data/lib/google/cloud/kms.rb +88 -0
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4dd68566d3b364da35143e5501f8bdb5743a48bfcfb51d692293caf0c12c5114
|
4
|
+
data.tar.gz: 4997226dfb7ea680bee31f6f28a88bafb991eb67bcacbdcdc165ea9e9ae23f80
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9648610675019023d3b3480f654310d6055ffcc44a47d083648751d91098397e3381712f2b7309f9467e2c63d6875e62a13b7b122a8d357531954f17f3f44371
|
7
|
+
data.tar.gz: 32bad132d2272bf16282109581845e0dad66fa100cca52338e6352a8c4499641a34ccc30c67ee5ab493265ebeaa60aeee8f6c1512fc9412ff716e2189124891f
|
data/.yardopts
CHANGED
data/AUTHENTICATION.md
CHANGED
@@ -27,7 +27,7 @@ export KMS_CREDENTIALS=path/to/keyfile.json
|
|
27
27
|
```ruby
|
28
28
|
require "google/cloud/kms"
|
29
29
|
|
30
|
-
client = Google::Cloud::Kms.
|
30
|
+
client = Google::Cloud::Kms.ekm_service
|
31
31
|
```
|
32
32
|
|
33
33
|
## Credential Lookup
|
@@ -64,7 +64,7 @@ containers where writing files is difficult or not encouraged.
|
|
64
64
|
|
65
65
|
The environment variables that google-cloud-kms
|
66
66
|
checks for credentials are configured on the service Credentials class (such as
|
67
|
-
`::Google::Cloud::Kms::V1::
|
67
|
+
`::Google::Cloud::Kms::V1::EkmService::Credentials`):
|
68
68
|
|
69
69
|
* `KMS_CREDENTIALS` - Path to JSON file, or JSON contents
|
70
70
|
* `KMS_KEYFILE` - Path to JSON file, or JSON contents
|
@@ -77,23 +77,23 @@ require "google/cloud/kms"
|
|
77
77
|
|
78
78
|
ENV["KMS_CREDENTIALS"] = "path/to/keyfile.json"
|
79
79
|
|
80
|
-
client = Google::Cloud::Kms.
|
80
|
+
client = Google::Cloud::Kms.ekm_service
|
81
81
|
```
|
82
82
|
|
83
83
|
### Configuration
|
84
84
|
|
85
|
-
The **Credentials JSON** can be configured instead of
|
86
|
-
environment
|
85
|
+
The path to the **Credentials JSON** file can be configured instead of storing
|
86
|
+
it in an environment variable. Either on an individual client initialization:
|
87
87
|
|
88
88
|
```ruby
|
89
89
|
require "google/cloud/kms"
|
90
90
|
|
91
|
-
client = Google::Cloud::Kms.
|
91
|
+
client = Google::Cloud::Kms.ekm_service do |config|
|
92
92
|
config.credentials = "path/to/keyfile.json"
|
93
93
|
end
|
94
94
|
```
|
95
95
|
|
96
|
-
Or
|
96
|
+
Or globally for all clients:
|
97
97
|
|
98
98
|
```ruby
|
99
99
|
require "google/cloud/kms"
|
@@ -102,7 +102,7 @@ Google::Cloud::Kms.configure do |config|
|
|
102
102
|
config.credentials = "path/to/keyfile.json"
|
103
103
|
end
|
104
104
|
|
105
|
-
client = Google::Cloud::Kms.
|
105
|
+
client = Google::Cloud::Kms.ekm_service
|
106
106
|
```
|
107
107
|
|
108
108
|
### Cloud SDK
|
@@ -120,15 +120,6 @@ To configure your system for this, simply:
|
|
120
120
|
**NOTE:** This is _not_ recommended for running in production. The Cloud SDK
|
121
121
|
*should* only be used during development.
|
122
122
|
|
123
|
-
[gce-how-to]: https://cloud.google.com/compute/docs/authentication#using
|
124
|
-
[dev-console]: https://console.cloud.google.com/project
|
125
|
-
|
126
|
-
[enable-apis]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/enable-apis.png
|
127
|
-
|
128
|
-
[create-new-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account.png
|
129
|
-
[create-new-service-account-existing-keys]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account-existing-keys.png
|
130
|
-
[reuse-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/reuse-service-account.png
|
131
|
-
|
132
123
|
## Creating a Service Account
|
133
124
|
|
134
125
|
Google Cloud requires **Service Account Credentials** to
|
@@ -139,31 +130,22 @@ If you are not running this client within
|
|
139
130
|
[Google Cloud Platform environments](#google-cloud-platform-environments), you
|
140
131
|
need a Google Developers service account.
|
141
132
|
|
142
|
-
1. Visit the [Google
|
133
|
+
1. Visit the [Google Cloud Console](https://console.cloud.google.com/project).
|
143
134
|
2. Create a new project or click on an existing project.
|
144
|
-
3. Activate the
|
135
|
+
3. Activate the menu in the upper left and select **APIs & Services**. From
|
145
136
|
here, you will enable the APIs that your application requires.
|
146
137
|
|
147
|
-
![Enable the APIs that your application requires][enable-apis]
|
148
|
-
|
149
138
|
*Note: You may need to enable billing in order to use these services.*
|
150
139
|
|
151
140
|
4. Select **Credentials** from the side navigation.
|
152
141
|
|
153
|
-
|
154
|
-
|
155
|
-
![Create a new service account][create-new-service-account]
|
156
|
-
|
157
|
-
![Create a new service account With Existing Keys][create-new-service-account-existing-keys]
|
158
|
-
|
159
|
-
Find the "Add credentials" drop down and select "Service account" to be
|
160
|
-
guided through downloading a new JSON key file.
|
142
|
+
Find the "Create credentials" drop down near the top of the page, and select
|
143
|
+
"Service account" to be guided through downloading a new JSON key file.
|
161
144
|
|
162
145
|
If you want to re-use an existing service account, you can easily generate a
|
163
|
-
new key file. Just select the account you wish to re-use,
|
164
|
-
|
165
|
-
|
166
|
-
![Re-use an existing service account][reuse-service-account]
|
146
|
+
new key file. Just select the account you wish to re-use, click the pencil
|
147
|
+
tool on the right side to edit the service account, select the **Keys** tab,
|
148
|
+
and then select **Add Key**.
|
167
149
|
|
168
150
|
The key file you download will be used by this library to authenticate API
|
169
151
|
requests and should be stored in a secure location.
|
data/MIGRATING.md
CHANGED
@@ -268,7 +268,7 @@ end
|
|
268
268
|
### Handling Errors
|
269
269
|
|
270
270
|
The client reports standard
|
271
|
-
|
271
|
+
[gRPC error codes](https://github.com/grpc/grpc/blob/master/doc/statuscodes.md)
|
272
272
|
by raising exceptions. In older releases, these exceptions were located in the
|
273
273
|
`Google::Gax` namespace and were subclasses of the `Google::Gax::GaxError` base
|
274
274
|
exception class, defined in the `google-gax` gem. However, these classes were
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@ verisoned gems in as dependencies, and provides high-level methods for
|
|
11
11
|
constructing clients. More information on versioned clients can be found below
|
12
12
|
in the section titled *Which client should I use?*.
|
13
13
|
|
14
|
-
View the [Client Library Documentation](https://
|
14
|
+
View the [Client Library Documentation](https://cloud.google.com/ruby/docs/reference/google-cloud-kms/latest)
|
15
15
|
for this library, google-cloud-kms, to see the convenience methods for
|
16
16
|
constructing client objects. Reference documentation for the client objects
|
17
17
|
themselves can be found in the client library documentation for the versioned
|
data/lib/google/cloud/kms.rb
CHANGED
@@ -44,6 +44,40 @@ end
|
|
44
44
|
module Google
|
45
45
|
module Cloud
|
46
46
|
module Kms
|
47
|
+
##
|
48
|
+
# Create a new client object for EkmService.
|
49
|
+
#
|
50
|
+
# By default, this returns an instance of
|
51
|
+
# [Google::Cloud::Kms::V1::EkmService::Client](https://googleapis.dev/ruby/google-cloud-kms-v1/latest/Google/Cloud/Kms/V1/EkmService/Client.html)
|
52
|
+
# for version V1 of the API.
|
53
|
+
# However, you can specify specify a different API version by passing it in the
|
54
|
+
# `version` parameter. If the EkmService service is
|
55
|
+
# supported by that API version, and the corresponding gem is available, the
|
56
|
+
# appropriate versioned client will be returned.
|
57
|
+
#
|
58
|
+
# ## About EkmService
|
59
|
+
#
|
60
|
+
# Google Cloud Key Management EKM Service
|
61
|
+
#
|
62
|
+
# Manages external cryptographic keys and operations using those keys.
|
63
|
+
# Implements a REST model with the following objects:
|
64
|
+
# * EkmConnection
|
65
|
+
#
|
66
|
+
# @param version [::String, ::Symbol] The API version to connect to. Optional.
|
67
|
+
# Defaults to `:v1`.
|
68
|
+
# @return [EkmService::Client] A client object for the specified version.
|
69
|
+
#
|
70
|
+
def self.ekm_service version: :v1, &block
|
71
|
+
require "google/cloud/kms/#{version.to_s.downcase}"
|
72
|
+
|
73
|
+
package_name = Google::Cloud::Kms
|
74
|
+
.constants
|
75
|
+
.select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
|
76
|
+
.first
|
77
|
+
package_module = Google::Cloud::Kms.const_get package_name
|
78
|
+
package_module.const_get(:EkmService).const_get(:Client).new(&block)
|
79
|
+
end
|
80
|
+
|
47
81
|
##
|
48
82
|
# Create a new client object for KeyManagementService.
|
49
83
|
#
|
@@ -85,6 +119,60 @@ module Google
|
|
85
119
|
package_module.const_get(:KeyManagementService).const_get(:Client).new(&block)
|
86
120
|
end
|
87
121
|
|
122
|
+
##
|
123
|
+
# Create a new client object for IAMPolicy.
|
124
|
+
#
|
125
|
+
# By default, this returns an instance of
|
126
|
+
# [Google::Cloud::Kms::V1::IAMPolicy::Client](https://googleapis.dev/ruby/google-cloud-kms-v1/latest/Google/Cloud/Kms/V1/IAMPolicy/Client.html)
|
127
|
+
# for version V1 of the API.
|
128
|
+
# However, you can specify specify a different API version by passing it in the
|
129
|
+
# `version` parameter. If the IAMPolicy service is
|
130
|
+
# supported by that API version, and the corresponding gem is available, the
|
131
|
+
# appropriate versioned client will be returned.
|
132
|
+
#
|
133
|
+
# ## About IAMPolicy
|
134
|
+
#
|
135
|
+
# ## API Overview
|
136
|
+
#
|
137
|
+
# Manages Identity and Access Management (IAM) policies.
|
138
|
+
#
|
139
|
+
# Any implementation of an API that offers access control features
|
140
|
+
# implements the google.iam.v1.IAMPolicy interface.
|
141
|
+
#
|
142
|
+
# ## Data model
|
143
|
+
#
|
144
|
+
# Access control is applied when a principal (user or service account), takes
|
145
|
+
# some action on a resource exposed by a service. Resources, identified by
|
146
|
+
# URI-like names, are the unit of access control specification. Service
|
147
|
+
# implementations can choose the granularity of access control and the
|
148
|
+
# supported permissions for their resources.
|
149
|
+
# For example one database service may allow access control to be
|
150
|
+
# specified only at the Table level, whereas another might allow access control
|
151
|
+
# to also be specified at the Column level.
|
152
|
+
#
|
153
|
+
# ## Policy Structure
|
154
|
+
#
|
155
|
+
# See google.iam.v1.Policy
|
156
|
+
#
|
157
|
+
# This is intentionally not a CRUD style API because access control policies
|
158
|
+
# are created and deleted implicitly with the resources to which they are
|
159
|
+
# attached.
|
160
|
+
#
|
161
|
+
# @param version [::String, ::Symbol] The API version to connect to. Optional.
|
162
|
+
# Defaults to `:v1`.
|
163
|
+
# @return [IAMPolicy::Client] A client object for the specified version.
|
164
|
+
#
|
165
|
+
def self.iam_policy version: :v1, &block
|
166
|
+
require "google/cloud/kms/#{version.to_s.downcase}"
|
167
|
+
|
168
|
+
package_name = Google::Cloud::Kms
|
169
|
+
.constants
|
170
|
+
.select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
|
171
|
+
.first
|
172
|
+
package_module = Google::Cloud::Kms.const_get package_name
|
173
|
+
package_module.const_get(:IAMPolicy).const_get(:Client).new(&block)
|
174
|
+
end
|
175
|
+
|
88
176
|
##
|
89
177
|
# Configure the google-cloud-kms library.
|
90
178
|
#
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-kms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-cloud-core
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
33
|
+
version: '0.11'
|
34
34
|
- - "<"
|
35
35
|
- !ruby/object:Gem::Version
|
36
36
|
version: 2.a
|
@@ -40,7 +40,7 @@ dependencies:
|
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: '0.
|
43
|
+
version: '0.11'
|
44
44
|
- - "<"
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 2.a
|
@@ -190,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
190
190
|
- !ruby/object:Gem::Version
|
191
191
|
version: '0'
|
192
192
|
requirements: []
|
193
|
-
rubygems_version: 3.
|
193
|
+
rubygems_version: 3.3.5
|
194
194
|
signing_key:
|
195
195
|
specification_version: 4
|
196
196
|
summary: API Client library for the Cloud Key Management Service (KMS) API
|