API credentials
API và OpenStack CLI dùng chung một application credential của Keystone. Credential gắn với một project và không cần mã TOTP, phù hợp cho script và CI.
Tạo ở đâu
Tạo application credential trong console Vietnix Cloud, ở phần cài đặt tài khoản. Mỗi credential có:
- ID: định danh công khai hiển thị cạnh tên credential.
- Secret: chỉ hiện một lần khi tạo. Lưu trong secret manager.
- Expiration: tuỳ chọn; nên đặt cho quyền truy cập tạm thời.
- Project: credential chỉ hoạt động trong project này.
ghi chú
Hướng dẫn từng bước trên console và ảnh chụp sẽ được bổ sung tại đây.
Dùng với API
Đổi ID và secret lấy token Keystone:
curl -ksD - -o /dev/null -X POST \
-H 'Content-Type: application/json' \
-d '{
"auth": {
"identity": {
"methods": ["application_credential"],
"application_credential": {
"id": "<credential-id>",
"secret": "<credential-secret>"
}
}
}
}' \
https://api.vietnix.cloud/v3/auth/tokens
Token nằm trong header X-Subject-Token. Xem Xác thực để biết luồng đầy đủ.
Dùng với CLI
export OS_AUTH_TYPE=v3applicationcredential
export OS_AUTH_URL=https://api.vietnix.cloud/v3
export OS_IDENTITY_API_VERSION=3
export OS_APPLICATION_CREDENTIAL_ID="<credential-id>"
export OS_APPLICATION_CREDENTIAL_SECRET="<credential-secret>"
openstack token issue
Credential đã có scope, nên không cần OS_PROJECT_NAME.
cảnh báo
Secret chỉ hiện một lần. Không commit, không dán vào ticket, không đặt trong CI variable mà fork có thể thấy. Rotate credential khi mất laptop hoặc runner.