Setting Up Read-Only Credentials
Follow these guides to create secure, read-only access credentials for your CloudThinker connections. Using read-only credentials is a security best practice that allows CloudThinker to analyze your infrastructure without the ability to make changes.Cloud Providers
AWS Credentials
Google Cloud Credentials
Azure Credentials
Databases & Services
PostgreSQL
MySQL
Kubernetes
AWS Credentials
Create an IAM user with read-only permissions for CloudThinker to access your AWS resources.Step 1: Create IAM User
Open AWS Console
Create New User
cloudthinker-readonly
).Set Permissions
ReadOnlyAccess
(comprehensive read-only access)- Or specific policies like
AmazonEC2ReadOnlyAccess
,AmazonS3ReadOnlyAccess
, etc.
Review and Create
Step 2: Generate Access Keys
Select User
Create Access Key
Choose Use Case
Save Credentials
Connection Details
You’ll need:- Access Key ID: The access key for your IAM user
- Secret Access Key: The secret key for your IAM user
- Region: Your preferred AWS region (e.g.,
us-east-1
)
Google Cloud Credentials
Set up a service account with viewer permissions for CloudThinker to access your GCP resources.Step 1: Create Service Account
Open GCP Console
Navigate to IAM
Create Service Account
- Name:
cloudthinker-readonly
- Description: Read-only access for CloudThinker monitoring
Assign Roles
Viewer
(basic read access)Monitoring Viewer
(for monitoring data)Security Reviewer
(for security analysis)
Step 2: Generate Key File
Select Service Account
Create Key
Choose JSON Format
Secure Storage
Connection Details
You’ll need:- Project ID: Your GCP project identifier
- Service Account Key: JSON key file downloaded from GCP
- Key File Path: Location of the JSON key file
Azure Credentials
Configure a service principal with read permissions for Azure resources.Step 1: Create Service Principal
Open Azure Portal
Azure Active Directory
Register Application
CloudThinker-ReadOnly
) and click Register.Note Application Details
- Application (client) ID
- Directory (tenant) ID
Step 2: Create Client Secret
Certificates & Secrets
New Client Secret
Copy Secret Value
Step 3: Assign Permissions
Subscription Access
Add Role Assignment
Assign Reader Role
Connection Details
You’ll need these four values for CloudThinker:- Client ID (Application ID)
- Client Secret (the secret value you copied)
- Tenant ID (Directory ID)
- Subscription ID (from your Azure subscription)
PostgreSQL Credentials
Create a read-only database user for PostgreSQL monitoring.Step 1: Connect as Admin
Connect to Database
postgres
):Step 2: Create Read-Only User
Create User
Grant Connection
Grant Schema Usage
Grant Select Permissions
Connection Details
You’ll need:- Host: Your PostgreSQL server hostname
- Port: Usually 5432
- Database: Database name
- Username:
cloudthinker_readonly
- Password: The password you set
MySQL Credentials
Set up a read-only user for MySQL database monitoring.Step 1: Create Read-Only User
Connect as Root
Create User
Grant Read Permissions
Apply Changes
Connection Details
You’ll need:- Host: Your MySQL server hostname
- Port: Usually 3306
- Username:
cloudthinker_readonly
- Password: The password you set
Kubernetes Credentials
Configure a service account with view-only access to your Kubernetes cluster.Step 1: Create Service Account
Create Namespace
Create Service Account
Step 2: Create ClusterRole and Binding
Create ClusterRole
Create ClusterRoleBinding
Step 3: Get Access Token
Create Token
Get Cluster Info
Connection Details
You’ll need:- Cluster Endpoint: Your Kubernetes API server URL
- Token: The service account token
- Certificate: Cluster CA certificate (from kubeconfig)
Security Best Practices
Credential Rotation
- Rotate access keys and passwords regularly (every 90 days)
- Use short-lived tokens when possible
- Monitor credential usage and access logs
Network Security
- Use TLS/SSL for all database connections
- Implement IP whitelisting where possible
- Use VPN or private networks for sensitive resources
Monitoring
- Enable audit logging for all services
- Monitor for unusual access patterns
- Set up alerts for credential misuse
Storage
- Store credentials in secure credential managers
- Never commit credentials to version control
- Use environment variables or secure configuration
Troubleshooting
Authentication Failures
Authentication Failures
- Expired or invalid credentials
- Incorrect permissions or roles
- Network connectivity problems
- Service endpoint changes
- Verify credentials are current and valid
- Check that required permissions are granted
- Test network connectivity to services
- Confirm service endpoints haven’t changed
Permission Denied Errors
Permission Denied Errors
- Insufficient read permissions
- Missing resource access
- Policy restrictions
- Service-specific permission requirements
- Review and expand read-only permissions
- Check resource-specific access requirements
- Verify policy configurations
- Consult service documentation for required permissions