TMA-OCI-1.8
Ensure user API keys rotate within 90 days
说明
API keys are used by administrators, developers, services and scripts for accessing OCI APIs directly or via SDKs/OCI CLI to search, create, update or delete OCI resources. The API key is an RSA key pair. It is important to secure and rotate an API key every 90 days or less as it provides the same level of access that a user it is associated with has. No ACTIVE user may hold a API key created more than 90 days ago (users of the Default identity domain, as listed by oci iam user list). Read-only OCI CLI calls; credentials and home region come from the CLI's normal configuration (~/.oci/config, OCI_CLI_PROFILE, OCI_CLI_AUTH). The tenancy OCID is taken from OCI_TENANCY or the first tenancy= line of the config file. A missing CLI or credential fails the check.
检查方式
审计方法: Shell 命令
t=${OCI_TENANCY:-$(sed -n 's/^[[:space:]]*tenancy[[:space:]]*=[[:space:]]*//p' "${OCI_CLI_CONFIG_FILE:-$HOME/.oci/config}" 2>/dev/null | head -n 1 | tr -d '\r[:space:]')}
[ -n "$t" ] || exit 1
bad=0
cutoff=$(date -u -d '90 days ago' +%Y-%m-%dT%H:%M:%S 2>/dev/null || date -u -v-90d +%Y-%m-%dT%H:%M:%S 2>/dev/null) || exit 1
us=$(oci iam user list --compartment-id "$t" --all --query 'data[?"lifecycle-state"==`"ACTIVE"`].id' --raw-output 2>/dev/null) || exit 1
for u in $(printf '%s\n' "$us" | grep -o 'ocid1\.user\.[^"]*'); do
ks=$(oci iam user api-key list --user-id "$u" --query 'data[?"lifecycle-state"==`"ACTIVE"`]."time-created"' --raw-output 2>/dev/null) || exit 1
old=$(printf '%s\n' "$ks" | grep -o '"[0-9][^"]*"' | tr -d '"' | awk -v c="$cutoff" '$1 < c')
[ -z "$old" ] || { echo "API key older than 90 days: $u"; bad=1; }
done
[ "$bad" -eq 0 ] && echo compliant- 预期输出
compliant
修复方式
修复方法: 操作指南或基础设施补丁
Upload a new API key for each listed user (oci iam user api-key upload), move clients to it, then oci iam user api-key delete --user-id <ocid> --fingerprint <old>.
属性
- 操作系统
- 任意
- 标签
- ociiam
- 参考
- CIS Oracle Cloud Infrastructure Foundations Benchmark v3.1.1 - 1.8 Ensure user API keys rotate within 90 days
检查本机
请在您有权审计的机器上运行此命令。扫描为只读操作。
tmaegis scan --target oci