Okta Traduzione: Comandi Okta_HTML_TAG_78___ 📄 Generare Okta PDF Guida_HTML_TAG_80_ __HTML_TAG_81_ # Okta Comprehensive Cheatsheet ## Installazione ## Okta CLI Installazione _Tabella_83__ ### Installazione SDK _Tabella_84__ ### On-Premises Agent Installation _Tabella_85__ # Comandi di base ### CLI Setup e Authentication _Tabella_86__ ## Gestione utente _Tabella_87__ ### Gestione delle applicazioni TABELLA ## Gestione del gruppo _Tabella_89__ ## Uso avanzato ### Autenticazione API _Tabella_90__ ### Operazioni utente avanzate _Tabella_91_ ## Creazione utente e aggiornamenti _Tabella_92__ ## Gruppo e operazioni di applicazione _Tabella_93___ ## Configurazione ### API Token Configuration Conserva il tuo Okta API token in modo sicuro nelle variabili di ambiente: # Linux/macOS export OKTA_API_TOKEN="your_api_token_here" export OKTA_DOMAIN="https://dev-123456.okta.com" # Windows PowerShell $env:OKTA_API_TOKEN="your_api_token_here" $env:OKTA_DOMAIN="https://dev-123456.okta.com" ## Okta CLI Configuration File Posizione: _____________ okta: client: orgUrl: "https://dev-123456.okta.com" token: "your_api_token_here" connectionTimeout: 30 requestTimeout: 0 rateLimit: maxRetries: 4 ### OAuth 2.0 Configurazione delle applicazioni { "client_id": "0oa2abc3def4GHI5j6k7", "client_secret": "your_client_secret", "redirect_uris": [ "https://yourapp.com/callback" ], "grant_types": [ "authorization_code", "refresh_token" ], "response_types": [ "code" ], "token_endpoint_auth_method": "client_secret_post" } ### LDAP Configurazione dell'agente Posizione: ____________ # Okta Organization Settings okta.domain=dev-123456.okta.com okta.apiToken=your_api_token # LDAP Server Settings ldap.host=ldap.example.com ldap.port=389 ldap.baseDN=dc=example,dc=com ldap.bindDN=cn=admin,dc=example,dc=com ldap.bindPassword=encrypted_password # Agent Settings agent.pollInterval=60 agent.logLevel=INFO ### Configurazione agente Active Directory Posizione: ______________ <configuration> <appSettings> <add key="OktaDomain" value="dev-123456.okta.com" /> <add key="ApiToken" value="your_api_token" /> <add key="ADDomain" value="corp.example.com" /> <add key="SyncInterval" value="300" /> <add key="LogLevel" value="Information" /> </appSettings> </configuration> ## Common Use Cases ### Use Case 1: Onboard New Employee # Step 1: Create user account curl -X POST "https://{yourOktaDomain}/api/v1/users?activate=false" \ -H "Authorization: SSWS {apiToken}" \ -H "Content-Type: application/json" \ -d '{ "profile": { "firstName": "Alice", "lastName": "Johnson", "email": "alice.johnson@example.com", "login": "alice.johnson@example.com", "department": "Engineering", "title": "Software Engineer" } }' # Step 2: Add to relevant groups curl -X PUT "https://{yourOktaDomain}/api/v1/groups/{engineeringGroupId}/users/{userId}" \ -H "Authorization: SSWS {apiToken}" # Step 3: Assign applications curl -X POST "https://{yourOktaDomain}/api/v1/apps/{slackAppId}/users" \ -H "Authorization: SSWS {apiToken}" \ -H "Content-Type: application/json" \ -d '{"id":"{userId}","scope":"USER"}' # Step 4: Activate user and send welcome email curl -X POST "https://{yourOktaDomain}/api/v1/users/{userId}/lifecycle/activate?sendEmail=true" \ -H "Authorization: SSWS {apiToken}" ### Use Case 2: Offboard Employee # Step 1: Suspend user account immediately curl -X POST "https://{yourOktaDomain}/api/v1/users/{userId}/lifecycle/suspend" \ -H "Authorization: SSWS {apiToken}" # Step 2: List user's active sessions curl -X GET "https://{yourOktaDomain}/api/v1/users/{userId}/sessions" \ -H "Authorization: SSWS {apiToken}" # Step 3: Clear all sessions curl -X DELETE "https://{yourOktaDomain}/api/v1/users/{userId}/sessions" \ -H "Authorization: SSWS {apiToken}" # Step 4: After retention period, deactivate curl -X POST "https://{yourOktaDomain}/api/v1/users/{userId}/lifecycle/deactivate" \ -H "Authorization: SSWS {apiToken}" # Step 5: Finally delete user curl -X DELETE "https://{yourOktaDomain}/api/v1/users/{userId}" \ -H "Authorization: SSWS {apiToken}" ### Use Case 3: Bulk User Import from CSV # Step 1: Convert CSV to JSON cat users.csv | jq -R -s -f csv_to_json.jq > users.json # Step 2: Import users in batch for user in $(cat users.json | jq -c '.[]'); do curl -X POST "https://{yourOktaDomain}/api/v1/users?activate=true" \ -H "Authorization: SSWS {apiToken}" \ -H "Content-Type: application/json" \ -d "$user" sleep 1 # Rate limiting done ### Use Case 4: Implement MFA per utenti ad alto rischio # Step 1: Search for admin users curl -X GET "https://{yourOktaDomain}/api/v1/users?search=profile.role eq \"Admin\"" \ -H "Authorization: SSWS {apiToken}" > admin_users.json # Step 2: Enroll users in MFA factor curl -X POST "https://{yourOktaDomain}/api/v1/users/{userId}/factors" \ -H "Authorization: SSWS {apiToken}" \ -H "Content-Type: application/json" \ -d '{ "factorType": "token:software:totp", "provider": "OKTA" }' # Step 3: Create policy requiring MFA for admins curl -X POST "https://{yourOktaDomain}/api/v1/policies" \ -H "Authorization: SSWS {apiToken}" \ -H "Content-Type: application/json" \ -d '{ "type": "MFA_ENROLL", "name": "Admin MFA Policy", "status": "ACTIVE", "conditions": { "people": { "groups": { "include": ["{adminGroupId}"] } } } }' ### Use Case 5: Generate Access Report # Step 1: Get all active users curl -X GET "https://{yourOktaDomain}/api/v1/users?filter=status eq \"ACTIVE\"&limit=200" \ -H "Authorization: SSWS {apiToken}" > active_users.json # Step 2: For each user, get assigned applications while read userId; do curl -X GET "https://{yourOktaDomain}/api/v1/apps?filter=user.id eq \"${userId}\"" \ -H "Authorization: SSWS {apiToken}" >> user_apps_report.json done < <(jq -r '.[].id' active_users.json) # Step 3: Get last login information curl -X GET "https://{yourOktaDomain}/api/v1/logs?filter=eventType eq \"user.session.start\"&limit=1000" \ -H "Authorization: SSWS {apiToken}" > login_report.json # Step 4: Combine and format report jq -s '.[0] + .[1]' active_users.json login_report.json > complete_access_report.json # Migliori Pratiche - **Utilizzare i gettoni API in modo sicuro**: memorizzare i token API nelle variabili di ambiente o nelle volte sicure, mai hardcode in script o impegnarsi al controllo della versione - **Limitazione del tasso di esecuzione**: Okta applica i limiti dei tassi (variazioni per endpoint). Attuazione di backoff esponenziale e rispetto `X-Rate-Limit-*`_ intestazioni per evitare la limitazione - **Abilitare MFA per tutti gli utenti**: Richiedere l'autenticazione multi-fattore per tutti gli utenti, in particolare amministratori e account privilegiati, per migliorare la postura di sicurezza - **Utilizzare i gruppi per la gestione dell'accesso**: Assegnare applicazioni e autorizzazioni a gruppi piuttosto che a singoli utenti per una gestione e una coerenza più semplici - **Implement Least Privilege**: Gli utenti di Grant solo i permessi minimi necessari per il loro ruolo. Controllare regolarmente e rimuovere l'accesso non necessario - **Diario di sistema**: Regolarmente recensione log di sistema Okta per attività sospette, tentativi di login falliti e schemi di accesso non autorizzati - ** Gestione automatica del ciclo di vita**: Utilizzare Okta Workflow o API per automatizzare il provisioning dell'utente, la deprovisione e le recensioni di accesso per ridurre gli errori manuali - **Test in Developer Environment**: testare sempre le modifiche di configurazione, le integrazioni e gli script in uno sviluppo Okta org prima di distribuire alla produzione - **Document Custom Integrations**: Mantenere la documentazione completa delle integrazioni API personalizzate, webhooks e script di automazione per la condivisione della conoscenza del team - **Implement Session Policies**: Configurare i timeout di sessione appropriati e i timeout idle in base ai requisiti di sicurezza e alle esigenze dell'esperienza utente - ** Audit di sicurezza regolari**: Condurre le recensioni trimestrali dell'accesso all'utente, le assegnazioni delle applicazioni, i membri del gruppo e le configurazioni dei criteri ## Risoluzione dei problemi | Issue | Solution | |-------|----------| | **401 Unauthorized Error** | Verify API token is valid and not expired. Check token has appropriate scopes: __INLINE_CODE_65__ | | **429 Rate Limit Exceeded** | Implement exponential backoff. Check __INLINE_CODE_66__ header for reset time. Reduce request frequency or contact Okta to increase limits | | **User Cannot Login** | Check user status: __INLINE_CODE_67__. Verify account is ACTIVE, not SUSPENDED or LOCKED_OUT. Unlock if needed: __INLINE_CODE_68__ | | **MFA Factor Not Working** | Reset MFA factors: __INLINE_CODE_69__. User must re-enroll | | **Application Not Appearing** | Verify user is assigned to application: __INLINE_CODE_70__. Check application is ACTIVE | | **AD/LDAP Agent Not Syncing** | Check agent service status. Review logs at __INLINE_CODE_71__ (Linux) or __INLINE_CODE_72__ (Windows). Verify network connectivity and credentials | | **SSO Integration Failing** | Verify SAML/OIDC configuration. Check certificate validity, ACS URL, and entity ID. Use Okta's SAML debugger or browser developer tools to inspect authentication flow | | **API Returns Empty Results** | Check query syntax and filters. Verify pagination with __INLINE_CODE_73__ and __INLINE_CODE_74__ parameters: __INLINE_CODE_75__ | | **Password Reset Email Not Sent** | Verify email settings in Okta admin console. Check user's email address is valid. Review email server logs and Okta system logs for delivery failures | | **Session Timeout Issues** | Impostazioni dei criteri di sessione di revisione nella console di amministrazione Okta. Regolare il timeout inattivo e la durata massima della sessione. Considera di implementare la rotazione dei token di aggiornamento per sessioni di lunga durata |