0

I want to use the STS service to generate temporary credentials for use by third-party clients.

I configured STS lite based on the documentation.

This is my configuration file:

[global]
fsid = 42a7cae1-84d1-423e-93f4-04b0736c14aa
mon_initial_members = admin, node1, node2, node3
mon_host = 192.168.199.81,192.168.199.82,192.168.199.83,192.168.199.84
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

osd pool default size = 2

[client.rgw.admin]
rgw sts key = "1234567890"
rgw s3 auth use sts = true

When I execute the getSessionToken method, return a 405 error:

<Error>
    <Code>MethodNotAllowed</Code>
    <RequestId>tx000000000000000000003-005c73aed8-5e48-default</RequestId>
    <HostId>5e48-default-default</HostId>
</Error>

This is my test code:

import os
import sys
import traceback

import boto3
from boto.s3.connection import S3Connection
from boto.sts import STSConnection

try:
    host = 'http://192.168.199.81:7480'
    access_key = '2324YFZ7QDEOSRL18QHR'
    secret_key = 'rL9FabxCOw5LDbrHtmykiGSCjzpKLmEs9WPiNjVJ'

    client = boto3.client('sts',
                          aws_access_key_id = access_key,
                          aws_secret_access_key = secret_key,
                          endpoint_url = host)
    response = client.get_session_token(DurationSeconds=999)
    print response
except:
    print traceback.format_exc()

Can anyone tell me if my configuration is incorrect or if the version I tested does not provide STS service?

These are the versions I tested:

Ceph version 12.2.11 (26dc3775efc7bb286a1d6d66faee0ba30ea23eee) luminous (stable)
Ceph version 13.2.2 (02899bfda814146b021136e9d8e80eba494e1126) mimic (stable)
0xF2
  • 314
  • 3
  • 17
Degang Guo
  • 475
  • 8
  • 18

1 Answers1

0

STS feature has been implemented since nautilus (14.2.x).

for more info: https://docs.ceph.com/docs/master/releases/nautilus/

mehdy
  • 3,174
  • 4
  • 23
  • 44