Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bucket access is not checked while importing existing bucket #2390

Open
YevheniiSemendiak opened this issue Oct 22, 2021 · 3 comments
Open
Labels
bug Something isn't working

Comments

@YevheniiSemendiak
Copy link
Contributor

Description:

Try to neuro blob importbucket for the bucket and provide invalid (1) credentials or (2) --provider-bucket-name.
The bucket will be imported without warnings.
Afterward, try to ls bucket content - you'll get an error.

List of blob://selectel-managed-poc/yevheniisemendiak/ysemendiak-test-standard-broken-name:
ERROR: An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied
Traceback (most recent call last):
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/main.py", line 556, in main
    cli.main(**kwargs)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/click/core.py", line 1062, in main
    rv = self.invoke(ctx)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/utils.py", line 325, in invoke
    super().invoke(ctx)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/utils.py", line 325, in invoke
    super().invoke(ctx)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/utils.py", line 288, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/click/core.py", line 763, in invoke
    return __callback(*args, **kwargs)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/click/decorators.py", line 38, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/utils.py", line 102, in wrapper
    return root.run(
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/root.py", line 174, in run
    return self._runner.run(main)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/asyncio_utils.py", line 55, in run
    return self._loop.run_until_complete(main_task)
  File "/Users/ysem/miniconda3/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/utils.py", line 74, in _run_async_function
    return await func(root, *args, **kwargs)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/blob_storage.py", line 465, in ls
    async for entry in blobs_it:
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_sdk/buckets.py", line 1222, in list_blobs
    async for entry in it:
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_sdk/buckets.py", line 414, in list_blobs
    async for result in paginator.paginate(**kwargs):
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/aiobotocore/paginate.py", line 32, in __anext__
    response = await self._make_request(current_kwargs)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_sdk/buckets.py", line 297, in _wrapper
    async with manager_wrapped(*args, **kwargs) as res:
  File "/Users/ysem/miniconda3/lib/python3.8/contextlib.py", line 171, in __aenter__
    return await self.gen.__anext__()
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_sdk/buckets.py", line 315, in _wrapper
    async with _make_call(*args, **kwargs) as res:
  File "/Users/ysem/miniconda3/lib/python3.8/contextlib.py", line 171, in __aenter__
    return await self.gen.__anext__()
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_sdk/buckets.py", line 292, in _ctx_manager
    yield await _make_call(*args, **kwargs)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/aiobotocore/client.py", line 155, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied
Full logs are available under /Users/ysem/.neuro/logs/neuro-run-2021-10-22_08-49-02.txt
(neuro) {21-10-22 11:49}ysem@ysem-macpro:~/work/projects/TMP|n blob ls blob:ysemendiak-test-standard-broken-pass
List of blob://selectel-managed-poc/yevheniisemendiak/ysemendiak-test-standard-broken-pass:
ERROR: An error occurred (SignatureDoesNotMatch) when calling the ListObjectsV2 operation: The request signature we calculated does not match the signature you provided. Check your AWS secret access key and signing
method. For more information, see REST Authentication and SOAP Authentication for details.
Traceback (most recent call last):
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/main.py", line 556, in main
    cli.main(**kwargs)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/click/core.py", line 1062, in main
    rv = self.invoke(ctx)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/utils.py", line 325, in invoke
    super().invoke(ctx)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/utils.py", line 325, in invoke
    super().invoke(ctx)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/utils.py", line 288, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/click/core.py", line 763, in invoke
    return __callback(*args, **kwargs)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/click/decorators.py", line 38, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/utils.py", line 102, in wrapper
    return root.run(
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/root.py", line 174, in run
    return self._runner.run(main)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/asyncio_utils.py", line 55, in run
    return self._loop.run_until_complete(main_task)
  File "/Users/ysem/miniconda3/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/utils.py", line 74, in _run_async_function
    return await func(root, *args, **kwargs)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_cli/blob_storage.py", line 465, in ls
    async for entry in blobs_it:
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_sdk/buckets.py", line 1222, in list_blobs
    async for entry in it:
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_sdk/buckets.py", line 414, in list_blobs
    async for result in paginator.paginate(**kwargs):
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/aiobotocore/paginate.py", line 32, in __anext__
    response = await self._make_request(current_kwargs)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_sdk/buckets.py", line 297, in _wrapper
    async with manager_wrapped(*args, **kwargs) as res:
  File "/Users/ysem/miniconda3/lib/python3.8/contextlib.py", line 171, in __aenter__
    return await self.gen.__anext__()
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_sdk/buckets.py", line 315, in _wrapper
    async with _make_call(*args, **kwargs) as res:
  File "/Users/ysem/miniconda3/lib/python3.8/contextlib.py", line 171, in __aenter__
    return await self.gen.__anext__()
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/neuro_sdk/buckets.py", line 292, in _ctx_manager
    yield await _make_call(*args, **kwargs)
  File "/Users/ysem/.local/pipx/venvs/neuro-cli/lib/python3.8/site-packages/aiobotocore/client.py", line 155, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (SignatureDoesNotMatch) when calling the ListObjectsV2 operation: The request signature we calculated does not match the signature you provided. Check your
AWS secret access key and signing method. For more information, see REST Authentication and SOAP Authentication for details.
Full logs are available under /Users/ysem/.neuro/logs/neuro-run-2021-10-22_08-49-15.txt

Expected behavior:

Bucket access is validated before importing the credentials.

Additional context:

Neuro Platform Client 21.9.3
platformbucketsapi:21.10.2

cc @romasku

@YevheniiSemendiak YevheniiSemendiak added the bug Something isn't working label Oct 22, 2021
@github-actions
Copy link

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 14 days

@github-actions
Copy link

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 14 days

@github-actions
Copy link

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 14 days

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant