Skip to content

Commit 5166d36

Browse files
committed
use anonymous credentials by default
1 parent 290feec commit 5166d36

File tree

4 files changed

+11
-48
lines changed

4 files changed

+11
-48
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
* Use anonymous credentials by default instead of iam metadata (use ydb.driver.credentials_from_env_variables for creds by env var)
12
* Close grpc streams while closing readers/writers
23
* Add control plane operations for topic api: create, drop
34

tests/conftest.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,11 @@
11
import os
2-
from unittest import mock
32

43
import pytest
54
import ydb
65
import time
76
from ydb import issues
87

98

10-
@pytest.fixture(autouse=True, scope="session")
11-
def mock_settings_env_vars():
12-
with mock.patch.dict(os.environ, {"YDB_ANONYMOUS_CREDENTIALS": "1"}):
13-
yield
14-
15-
169
@pytest.fixture(scope="module")
1710
def docker_compose_file(pytestconfig):
1811
return os.path.join(str(pytestconfig.rootdir), "docker-compose.yml")

ydb/aio/driver.py

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,7 @@
1-
import os
2-
31
from . import pool, scheme, table
42
import ydb
53
from .. import _utilities
6-
from ydb.driver import get_config
7-
8-
9-
def default_credentials(credentials=None):
10-
if credentials is not None:
11-
return credentials
12-
13-
service_account_key_file = os.getenv("YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS")
14-
if service_account_key_file is not None:
15-
from .iam import ServiceAccountCredentials
16-
17-
return ServiceAccountCredentials.from_file(service_account_key_file)
18-
19-
anonymous_credetials = os.getenv("YDB_ANONYMOUS_CREDENTIALS", "0") == "1"
20-
if anonymous_credetials:
21-
return ydb.credentials.AnonymousCredentials()
22-
23-
metadata_credentials = os.getenv("YDB_METADATA_CREDENTIALS", "0") == "1"
24-
if metadata_credentials:
25-
from .iam import MetadataUrlCredentials
26-
27-
return MetadataUrlCredentials()
28-
29-
access_token = os.getenv("YDB_ACCESS_TOKEN_CREDENTIALS")
30-
if access_token is not None:
31-
return ydb.credentials.AccessTokenCredentials(access_token)
32-
33-
# (legacy instantiation)
34-
creds = ydb.auth_helpers.construct_credentials_from_environ()
35-
if creds is not None:
36-
return creds
37-
38-
from .iam import MetadataUrlCredentials
39-
40-
return MetadataUrlCredentials()
4+
from ydb.driver import get_config, default_credentials
415

426

437
class DriverConfig(ydb.DriverConfig):

ydb/driver.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,17 @@ class RPCCompression:
2323
def default_credentials(credentials=None, tracer=None):
2424
tracer = tracer if tracer is not None else tracing.Tracer(None)
2525
with tracer.trace("Driver.default_credentials") as ctx:
26-
if credentials is not None:
26+
if credentials is None:
27+
ctx.trace({"credentials.anonymous": True})
28+
return credentials_impl.AnonymousCredentials()
29+
else:
2730
ctx.trace({"credentials.prepared": True})
2831
return credentials
2932

33+
34+
def credentials_from_env_variables(tracer=None):
35+
tracer = tracer if tracer is not None else tracing.Tracer(None)
36+
with tracer.trace("Driver.credentials_from_env_variables") as ctx:
3037
service_account_key_file = os.getenv("YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS")
3138
if service_account_key_file is not None:
3239
ctx.trace({"credentials.service_account_key_file": True})
@@ -51,9 +58,7 @@ def default_credentials(credentials=None, tracer=None):
5158
ctx.trace({"credentials.access_token": True})
5259
return credentials_impl.AuthTokenCredentials(access_token)
5360

54-
import ydb.iam
55-
56-
return ydb.iam.MetadataUrlCredentials(tracer=tracer)
61+
return default_credentials(None, tracer)
5762

5863

5964
class DriverConfig(object):

0 commit comments

Comments
 (0)