mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2026-04-25 13:26:00 +03:00
[PR #669] [MERGED] add IBM IAM authentication support #1594
Labels
No labels
bug
bug
dataloss
duplicate
enhancement
feature request
help wanted
invalid
need info
performance
pull-request
question
question
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/s3fs-fuse#1594
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/s3fs-fuse/s3fs-fuse/pull/669
Author: @orozery
Created: 11/5/2017
Status: ✅ Merged
Merged: 11/23/2017
Merged by: @ggtakec
Base:
master← Head:ibm_auth📝 Commits (1)
bd4bc0eadd support for IBM IAM authentication📊 Changes
6 files changed (+211 additions, -47 deletions)
View changed files
📝
README.md(+6 -0)📝
doc/man/s3fs.1(+3 -0)📝
src/curl.cpp(+137 -38)📝
src/curl.h(+17 -2)📝
src/s3fs.cpp(+43 -7)📝
src/s3fs_util.cpp(+5 -0)📄 Description
Details
IBM COS (Cloud Object Storage) supports OAuth 2.0 tokens as a mean of authentication, in addition to traditional AWS v2/v4 authentication.
This PR allows s3fs to use this new authentication mechanism.
The user implicitly selects this authentication by supplying a password file with the following format:
IBMServiceInstanceID=...
IBMAPIKey=...
Where the first (Service Instance ID) is only required when creating a bucket.
I chose to use this password file format, as a similar extension to the AWS password file format (which is already supported in s3fs):
AWSAccessKeyId=...
AWSSecretKey=...
I tested this PR using a real IBM COS account, and got all tests passing:
ubuntu@ubuntu:~/s3fs-fuse/test$ S3FS_CREDENTIALS_FILE=/home/ubuntu/s3fs-fuse/ibm-passwd TEST_BUCKET_1=ozeri-test-1 S3PROXY_BINARY="" S3_URL="https://s3.us-south.objectstorage.softlayer.net" ./small-integration-test.sh
...
PASS: test_append_file
PASS: test_truncate_file
PASS: test_truncate_empty_file
PASS: test_mv_file
PASS: test_mv_directory
PASS: test_redirects
PASS: test_mkdir_rmdir
PASS: test_chmod
PASS: test_chown
PASS: test_list
PASS: test_remove_nonempty_directory
PASS: test_multipart_upload
PASS: test_multipart_copy
PASS: test_special_characters
PASS: test_symlink
PASS: test_extended_attributes
PASS: test_mtime_file
PASS: test_rm_rf_dir
PASS: test_write_after_seek_ahead
SUMMARY for ./integration-test-main.sh: 19 tests passed. 0 tests failed.
./small-integration-test.sh: tests complete.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.