Skip to content

Commit e2dbd53

Browse files
authored
ARK-600: README / Fixes
* README shields * README shields * README shields * README shields * README shields * README shields * README shields * README shields * README shields * README shields * README shields * README shields * README shields * README shields
1 parent 48f800b commit e2dbd53

File tree

4 files changed

+55
-10
lines changed

4 files changed

+55
-10
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ jobs:
3939
make publish
4040
if: ${{ github.ref == 'refs/heads/main' && matrix.python-version == '3.8' }}
4141
env:
42-
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
43-
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
42+
TWINE_USERNAME: ${{ secrets.TWINE_PROD_USERNAME }}
43+
TWINE_PASSWORD: ${{ secrets.TWINE_PROD_PASSWORD }}
4444
- name: Version
4545
id: version
4646
if: ${{ github.ref == 'refs/heads/main' && matrix.python-version == '3.8' }}

README.md

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,25 @@
1-
Ark SDK Python
2-
=================
3-
4-
**[📜Documentation](https://cyberark.github.io/ark-sdk-python/)**
5-
61
![Ark SDK Python](https://github.com/cyberark/ark-sdk-python/blob/main/assets/sdk.png)
72

3+
<p align="center">
4+
<a href="https://actions-badge.atrox.dev/cyberark/ark-sdk-python/goto?ref=main" alt="Build">
5+
<img src="https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fcyberark%2Fark-sdk-python%2Fbadge%3Fref%3Dmain&style=flat" />
6+
</a>
7+
<a href="https://pypi.python.org/pypi/ark-sdk-python/" alt="Python Versions">
8+
<img src="https://img.shields.io/pypi/pyversions/ark-sdk-python.svg?style=flat" />
9+
</a>
10+
<a href="https://pypi.python.org/pypi/ark-sdk-python/" alt="Package Version">
11+
<img src="http://img.shields.io/pypi/v/ark-sdk-python.svg?style=flat" />
12+
</a>
13+
<a href="https://github.com/cyberark/ark-sdk-python/blob/main/LICENSE.txt" alt="License">
14+
<img src="http://img.shields.io/pypi/l/ark-sdk-python.svg?style=flat" />
15+
</a>
16+
</p>
17+
18+
Ark SDK Python
19+
==============
20+
21+
📜[**Documentation**](https://pages.github.cyberng.com/pas/ark-sdk-python/)
22+
823
CyberArk's Official SDK and CLI for different services operations
924

1025
## Features and Services

ark_sdk_python/common/ark_keyring.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,6 @@ def __is_docker():
137137
@staticmethod
138138
def get_keyring(enforce_basic_keyring: bool = False):
139139
try:
140-
from keyring.backends import SecretService, macOS # pylint: disable=unused-import
141-
from keyrings.cryptfile.cryptfile import CryptFileKeyring # pylint: disable=import-error
142-
143140
# Docker or WSL
144141
if (
145142
ArkKeyring.__is_docker()
@@ -149,6 +146,8 @@ def get_keyring(enforce_basic_keyring: bool = False):
149146
):
150147
return BasicKeyring()
151148
if sys.platform == 'win32':
149+
from keyrings.cryptfile.cryptfile import CryptFileKeyring # pylint: disable=import-error
150+
152151
kr = CryptFileKeyring()
153152
kr.keyring_key = socket.gethostname()
154153
return kr
@@ -157,6 +156,8 @@ def get_keyring(enforce_basic_keyring: bool = False):
157156
else:
158157
if DBUS_SESSION_ENV_VAR not in os.environ:
159158
return BasicKeyring()
159+
from keyring.backends import SecretService # pylint: disable=unused-import
160+
160161
return SecretService.Keyring()
161162
except Exception:
162163
return BasicKeyring()
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from datetime import datetime, timedelta
2+
3+
from ark_sdk_python.auth import ArkISPAuth
4+
from ark_sdk_python.models.ark_profile import ArkProfileLoader
5+
from ark_sdk_python.models.common import ArkProtocolType
6+
from ark_sdk_python.models.services.sm import ArkSMGetSession, ArkSMGetSessionActivities, ArkSMSessionsFilter
7+
from ark_sdk_python.services.sm import ArkSMService
8+
9+
if __name__ == "__main__":
10+
isp_auth = ArkISPAuth()
11+
isp_auth.authenticate(profile=ArkProfileLoader().load_default_profile())
12+
sm: ArkSMService = ArkSMService(isp_auth)
13+
search_by = 'startTime ge {start_time_from} AND sessionDuration GE {min_duration} AND protocol IN {protocols}'
14+
search_by = search_by.format(
15+
start_time_from=(datetime.utcnow() - timedelta(days=30)).isoformat(timespec='seconds'),
16+
min_duration='00:00:01',
17+
protocols=','.join([ArkProtocolType.DB[0], ArkProtocolType.SSH[0], ArkProtocolType.RDP[0]]),
18+
)
19+
sessions_filter = ArkSMSessionsFilter(
20+
search=search_by,
21+
)
22+
print(f'session_count = {sm.count_sessions_by(sessions_filter)}')
23+
for s_page in sm.list_sessions_by(sessions_filter):
24+
for session in s_page.items:
25+
session = sm.session(ArkSMGetSession(session_id=session.session_id))
26+
get_session_activities = ArkSMGetSessionActivities(session_id=session.session_id)
27+
print(f'session = {session}, activities_count = {sm.count_session_activities(get_session_activities)}')
28+
session_activities = [activity for page in sm.list_session_activities(get_session_activities) for activity in page.items]
29+
print(session_activities)

0 commit comments

Comments
 (0)