Thank you, Pritha! aud != client_id was the immediate problem (there is another...). For anyone else who comes across this thread, go directly to https://issues.redhat.com/browse/KEYCLOAK-8954?focusedCommentId=13979543&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-13979543 It would be great if the reason for this kind of failure was included in the Ceph debug log, then someone could do a search and might find the above page. A lot of debug output has been added (one of the reasons I went to the master branch to try to figure out this problem) but messages giving the specific reason for such a rejection would be very helpful. Regarding IAM-related code not in any released version, do a grep for e.g. principal_tags. The problem that remains - I hope the last one - is sts:assume_role_web_identity ERROR: Invalid rgw sts key, please ensure its length is 16 Some others seem to have encountered this https://stackoverflow.com/questions/65420090/how-to-config-ceph-rgw-sts-key but no solution is described there. I have tried various things - the one at https://docs.ceph.com/en/latest/radosgw/STS/ [client.radosgw.gateway] rgw sts key = abcdefghijklmnop rgw s3 auth use sts = true Also [client.radosgw.gateway] rgw_s3_auth_use_sts = true rgw_sts_key = "1234567890123456" and some others. It's something simple again I expect, but not obvious to me. Any ideas? Best regards, Michael On Wed, 24 Nov 2021 at 03:50, Pritha Srivastava <prsrivas@xxxxxxxxxx> wrote: > Hi Michael, > > My responses are inline: > > On Tue, Nov 23, 2021 at 10:07 PM Michael Breen < > michael.breen@xxxxxxxxxxxxxxxxxxxx> wrote: > >> Hi Pritha - or anyone who knows, >> >> I too have problems with IAM, in particular >> with AssumeRoleWithWebIdentity. >> >> I am running the master branch version of Ceph because it looks like it >> includes code related to the functionality described at >> https://docs.ceph.com/en/latest/radosgw/STS/ - code which is not in any >> released version, even 17.0. >> >> Looking at the code on that page, there appear to be at least two errors: >> (1) an instance of "client" should be "sts_client" (or vice versa) >> (2) an access key and secret key are specified when creating sts_client, >> which is unnecessary and therefore confusing: only the access token is used >> or should be required for assume_role_with_web_identity >> > > I agree, these can be corrected. However I don't understand what you mean > by saying that this - "code which is not in any released version, even > 17.0." > >> >> But I still cannot get the AssumeRoleWithWebIdentity code example to >> work. The RGW debug logs show >> >> debug 2021-11-23T15:51:22.247+0000 7fad6e351700 0 evaluating policy for >> op: 93 returned deny/pass >> >> In my case, the policy_document and role_policy are >> >> policy_document = >> '''{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"Federated":["arn:aws:iam:::oidc-provider/proteus.ves.corp/auth/realms/cno"]},"Action":["sts:AssumeRoleWithWebIdentity"],"Condition":{"StringEquals":{"proteus.ves.corp/auth/realms/cno:app_id":"ceph_rgw"}}}]}''' >> role_policy = >> '''{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"s3:*","Resource":"arn:aws:s3:::*"}}''' >> >> > >> (I assume it is only the former that may be relevant here, but maybe I'm >> wrong.) >> > > The former is only relevant here. And have you created an openid connect > provider in RGW? ( I am assuming you must have, since it is there in the > examples given). You have set the condition as app_id: ceph_rgw. Whereas > the documentation says that - "The app_id in the condition above must > match the ‘aud’ claim of the incoming token." in the example which uses > "app_id" as a condition element, and the value of "aud" is "account" in > the web token. So please modify the condition accordingly. Also note that > other claims can also now be used in the condition element of the trust > policy. > >> >> In /etc/ceph/ceph.conf I have >> [client.radosgw.gateway] >> rgw sts key = abcdefghijklmnop >> rgw s3 auth use sts = true >> >> In the debug I can see the token from Keycloak looks like (after >> formatting it) >> >> { >> "exp": 1637677729, >> "iat": 1637677429, >> "jti": "06e5422e-8395-4727-9366-a851c3f5930f", >> "iss": "https://proteus.ves.corp/auth/realms/cno", >> "aud": "account", >> "sub": "f45bae70-1517-48f6-9d75-af7f421f4a0c", >> "typ": "Bearer", >> "azp": "ceph_rgw", >> "session_state": "1413beec-9785-4e63-947f-72eb26da9daf", >> "acr": "1", >> "allowed-origins": [ >> "*" >> ], >> "realm_access": { >> "roles": [ >> "offline_access", >> "uma_authorization" >> ] >> }, >> "resource_access": { >> "ceph_rgw": { >> "roles": [ >> "arn:aws:iam:::role/S3Access", >> "S3Access" >> ] >> }, >> "account": { >> "roles": [ >> "manage-account", >> "manage-account-links", >> "view-profile" >> ] >> } >> }, >> "scope": "openid profile email", >> "email_verified": true, >> "name": "testuser", >> "preferred_username": "testuser", >> "given_name": "testuser", >> "email": "test-user@xxxxxxxxxxxxxxxxxx" >> } >> >> Please, if you are familiar with this, can you tell me what step is >> missing? There is no description on that page of what should be done at >> Keycloak, so I'm guessing the problem may be there. (Keycloak screens are >> shown elsewhere, but for a different example.) I have spent a good deal of >> time trying to understand this, so if you could help I would greatly >> appreciate it. >> Kind regards, >> Michael >> > > If you can paste further logs here then I will be able to help you. Also > Ceph documentation explains how to get a token from Keycloak and proceed > with that. For any other Keycloak configurations, please refer to Keycloak > documentation. > > Thanks, > Pritha > >> >> On Tue, 23 Nov 2021 at 06:22, Pritha Srivastava <prsrivas@xxxxxxxxxx> >> wrote: >> >>> Hi Nio, >>> >>> Can you provide more details around what you are trying to do? >>> >>> RGW supports attaching IAM policies to users that aid in managing their >>> permissions. >>> >>> Thanks, >>> Pritha >>> >>> On Tue, Nov 23, 2021 at 11:43 AM nio <nioshield@xxxxxxxxx> wrote: >>> >>> > hi,all: >>> > In the process of using RGW, I still cannot authenticate users >>> through >>> > IAM. In the near future, will RGW support IAM to manage user >>> permissions >>> > and authentication functions? >>> > >>> > >>> > Looking forward to your reply 😁 >>> > _______________________________________________ >>> > ceph-users mailing list -- ceph-users@xxxxxxx >>> > To unsubscribe send an email to ceph-users-leave@xxxxxxx >>> > >>> _______________________________________________ >>> ceph-users mailing list -- ceph-users@xxxxxxx >>> To unsubscribe send an email to ceph-users-leave@xxxxxxx >>> >> >> CONFIDENTIALITY >> This e-mail message and any attachments thereto, is intended only for use >> by the addressee(s) named herein and may contain legally privileged and/or >> confidential information. If you are not the intended recipient of this >> e-mail message, you are hereby notified that any dissemination, >> distribution or copying of this e-mail message, and any attachments >> thereto, is strictly prohibited. If you have received this e-mail message >> in error, please immediately notify the sender and permanently delete the >> original and any copies of this email and any prints thereof. >> ABSENT AN EXPRESS STATEMENT TO THE CONTRARY HEREINABOVE, THIS E-MAIL IS >> NOT INTENDED AS A SUBSTITUTE FOR A WRITING. Notwithstanding the Uniform >> Electronic Transactions Act or the applicability of any other law of >> similar substance and effect, absent an express statement to the contrary >> hereinabove, this e-mail message its contents, and any attachments hereto >> are not intended to represent an offer or acceptance to enter into a >> contract and are not otherwise intended to bind the sender, Sanmina >> Corporation (or any of its subsidiaries), or any other person or entity. >> > -- CONFIDENTIALITY This e-mail message and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail message, you are hereby notified that any dissemination, distribution or copying of this e-mail message, and any attachments thereto, is strictly prohibited. If you have received this e-mail message in error, please immediately notify the sender and permanently delete the original and any copies of this email and any prints thereof. ABSENT AN EXPRESS STATEMENT TO THE CONTRARY HEREINABOVE, THIS E-MAIL IS NOT INTENDED AS A SUBSTITUTE FOR A WRITING. Notwithstanding the Uniform Electronic Transactions Act or the applicability of any other law of similar substance and effect, absent an express statement to the contrary hereinabove, this e-mail message its contents, and any attachments hereto are not intended to represent an offer or acceptance to enter into a contract and are not otherwise intended to bind the sender, Sanmina Corporation (or any of its subsidiaries), or any other person or entity.
_______________________________________________ ceph-users mailing list -- ceph-users@xxxxxxx To unsubscribe send an email to ceph-users-leave@xxxxxxx